@chayns-ui/core 0.2.1 → 0.3.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 (112) hide show
  1. package/README.md +3 -0
  2. package/dist/avatar.css +104 -0
  3. package/dist/components/accordion/Accordion.d.ts +1 -1
  4. package/dist/components/accordion/Accordion.d.ts.map +1 -1
  5. package/dist/components/accordion/Accordion.js +2 -2
  6. package/dist/components/accordion/Accordion.js.map +1 -1
  7. package/dist/components/accordion/Accordion.types.d.ts +61 -16
  8. package/dist/components/accordion/Accordion.types.d.ts.map +1 -1
  9. package/dist/components/accordion-group/AccordionGroup.d.ts +4 -0
  10. package/dist/components/accordion-group/AccordionGroup.d.ts.map +1 -0
  11. package/dist/components/{accordion → accordion-group}/AccordionGroup.js +4 -4
  12. package/dist/components/accordion-group/AccordionGroup.js.map +1 -0
  13. package/dist/components/avatar/Avatar.d.ts +4 -0
  14. package/dist/components/avatar/Avatar.d.ts.map +1 -0
  15. package/dist/components/avatar/Avatar.js +48 -0
  16. package/dist/components/avatar/Avatar.js.map +1 -0
  17. package/dist/components/avatar/Avatar.types.d.ts +46 -0
  18. package/dist/components/avatar/Avatar.types.d.ts.map +1 -0
  19. package/dist/components/avatar-group/AvatarGroup.d.ts +4 -0
  20. package/dist/components/avatar-group/AvatarGroup.d.ts.map +1 -0
  21. package/dist/components/avatar-group/AvatarGroup.js +26 -0
  22. package/dist/components/avatar-group/AvatarGroup.js.map +1 -0
  23. package/dist/components/avatar-group/AvatarGroup.types.d.ts +33 -0
  24. package/dist/components/avatar-group/AvatarGroup.types.d.ts.map +1 -0
  25. package/dist/components/button/Button.d.ts.map +1 -1
  26. package/dist/components/button/Button.js +6 -3
  27. package/dist/components/button/Button.js.map +1 -1
  28. package/dist/components/button/Button.types.d.ts +39 -25
  29. package/dist/components/button/Button.types.d.ts.map +1 -1
  30. package/dist/components/button/button-icon/ButtonIcon.d.ts +7 -0
  31. package/dist/components/button/button-icon/ButtonIcon.d.ts.map +1 -0
  32. package/dist/components/button/button-icon/ButtonIcon.js +17 -0
  33. package/dist/components/button/button-icon/ButtonIcon.js.map +1 -0
  34. package/dist/components/card/Card.d.ts +1 -1
  35. package/dist/components/card/Card.d.ts.map +1 -1
  36. package/dist/components/card/Card.js +2 -2
  37. package/dist/components/card/Card.js.map +1 -1
  38. package/dist/components/card/Card.types.d.ts +16 -3
  39. package/dist/components/card/Card.types.d.ts.map +1 -1
  40. package/dist/components/{button → icon-button}/IconButton.d.ts +1 -1
  41. package/dist/components/icon-button/IconButton.d.ts.map +1 -0
  42. package/dist/components/{button → icon-button}/IconButton.js +7 -4
  43. package/dist/components/icon-button/IconButton.js.map +1 -0
  44. package/dist/components/icon-button/IconButton.types.d.ts +43 -0
  45. package/dist/components/icon-button/IconButton.types.d.ts.map +1 -0
  46. package/dist/components/list/List.d.ts +1 -1
  47. package/dist/components/list/List.d.ts.map +1 -1
  48. package/dist/components/list/List.js +2 -2
  49. package/dist/components/list/List.js.map +1 -1
  50. package/dist/components/list/List.types.d.ts +62 -14
  51. package/dist/components/list/List.types.d.ts.map +1 -1
  52. package/dist/components/list-item/ListItem.d.ts +4 -0
  53. package/dist/components/list-item/ListItem.d.ts.map +1 -0
  54. package/dist/components/list-item/ListItem.js +42 -0
  55. package/dist/components/list-item/ListItem.js.map +1 -0
  56. package/dist/components/list-item/list-item-body/ListItemBody.d.ts +10 -0
  57. package/dist/components/list-item/list-item-body/ListItemBody.d.ts.map +1 -0
  58. package/dist/components/list-item/list-item-body/ListItemBody.js +30 -0
  59. package/dist/components/list-item/list-item-body/ListItemBody.js.map +1 -0
  60. package/dist/components/popup/Popup.d.ts +4 -0
  61. package/dist/components/popup/Popup.d.ts.map +1 -0
  62. package/dist/components/popup/Popup.js +107 -0
  63. package/dist/components/popup/Popup.js.map +1 -0
  64. package/dist/components/popup/Popup.types.d.ts +18 -0
  65. package/dist/components/popup/Popup.types.d.ts.map +1 -0
  66. package/dist/components/popup/PopupList.d.ts +4 -0
  67. package/dist/components/popup/PopupList.d.ts.map +1 -0
  68. package/dist/components/popup/PopupList.js +44 -0
  69. package/dist/components/popup/PopupList.js.map +1 -0
  70. package/dist/components/split-button/SplitButton.d.ts +4 -0
  71. package/dist/components/split-button/SplitButton.d.ts.map +1 -0
  72. package/dist/components/split-button/SplitButton.js +52 -0
  73. package/dist/components/split-button/SplitButton.js.map +1 -0
  74. package/dist/components/split-button/SplitButton.types.d.ts +12 -0
  75. package/dist/components/split-button/SplitButton.types.d.ts.map +1 -0
  76. package/dist/index.d.ts +21 -8
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +9 -4
  79. package/dist/list.css +8 -1
  80. package/dist/popup.css +34 -0
  81. package/dist/split-button.css +128 -0
  82. package/dist/styles.css +3 -0
  83. package/package.json +6 -19
  84. package/dist/components/accordion/AccordionGroup.d.ts +0 -4
  85. package/dist/components/accordion/AccordionGroup.d.ts.map +0 -1
  86. package/dist/components/accordion/AccordionGroup.js.map +0 -1
  87. package/dist/components/accordion/index.d.ts +0 -4
  88. package/dist/components/accordion/index.d.ts.map +0 -1
  89. package/dist/components/accordion/index.js +0 -3
  90. package/dist/components/button/ButtonIcon.d.ts +0 -7
  91. package/dist/components/button/ButtonIcon.d.ts.map +0 -1
  92. package/dist/components/button/ButtonIcon.js +0 -19
  93. package/dist/components/button/ButtonIcon.js.map +0 -1
  94. package/dist/components/button/IconButton.d.ts.map +0 -1
  95. package/dist/components/button/IconButton.js.map +0 -1
  96. package/dist/components/button/buttonClassName.d.ts +0 -3
  97. package/dist/components/button/buttonClassName.d.ts.map +0 -1
  98. package/dist/components/button/buttonClassName.js +0 -9
  99. package/dist/components/button/buttonClassName.js.map +0 -1
  100. package/dist/components/button/index.d.ts +0 -4
  101. package/dist/components/button/index.d.ts.map +0 -1
  102. package/dist/components/button/index.js +0 -3
  103. package/dist/components/card/index.d.ts +0 -3
  104. package/dist/components/card/index.d.ts.map +0 -1
  105. package/dist/components/card/index.js +0 -2
  106. package/dist/components/list/ListItem.d.ts +0 -4
  107. package/dist/components/list/ListItem.d.ts.map +0 -1
  108. package/dist/components/list/ListItem.js +0 -67
  109. package/dist/components/list/ListItem.js.map +0 -1
  110. package/dist/components/list/index.d.ts +0 -4
  111. package/dist/components/list/index.d.ts.map +0 -1
  112. package/dist/components/list/index.js +0 -3
@@ -0,0 +1,44 @@
1
+ import ButtonIcon from "../button/button-icon/ButtonIcon.js";
2
+ import Popup from "./Popup.js";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { useRef } from "react";
5
+ //#region src/components/popup/PopupList.tsx
6
+ var PopupList = ({ className, items, trigger }) => {
7
+ const itemRefs = useRef([]);
8
+ const handleKeyDown = (event) => {
9
+ const index = itemRefs.current.indexOf(document.activeElement);
10
+ if (index < 0 || items.length === 0) return;
11
+ if (event.key === "ArrowDown" || event.key === "ArrowUp") {
12
+ event.preventDefault();
13
+ const nextIndex = (index + (event.key === "ArrowDown" ? 1 : -1) + items.length) % items.length;
14
+ itemRefs.current[nextIndex]?.focus();
15
+ }
16
+ if (event.key === "Home" || event.key === "End") {
17
+ event.preventDefault();
18
+ itemRefs.current[event.key === "Home" ? 0 : items.length - 1]?.focus();
19
+ }
20
+ };
21
+ return /* @__PURE__ */ jsx(Popup, {
22
+ ...className ? { className } : {},
23
+ trigger,
24
+ children: /* @__PURE__ */ jsx("div", {
25
+ onKeyDown: handleKeyDown,
26
+ role: "menu",
27
+ tabIndex: -1,
28
+ children: items.map((item, index) => /* @__PURE__ */ jsxs("button", {
29
+ className: "chayns-popup-list__item",
30
+ onClick: item.onClick,
31
+ ref: (element) => {
32
+ itemRefs.current[index] = element;
33
+ },
34
+ role: "menuitem",
35
+ type: "button",
36
+ children: [/* @__PURE__ */ jsx(ButtonIcon, { icon: item.icon }), /* @__PURE__ */ jsx("span", { children: item.text })]
37
+ }, `${item.text}-${index}`))
38
+ })
39
+ });
40
+ };
41
+ //#endregion
42
+ export { PopupList as default };
43
+
44
+ //# sourceMappingURL=PopupList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupList.js","names":[],"sources":["../../../src/components/popup/PopupList.tsx"],"sourcesContent":["import { useRef, type KeyboardEvent } from 'react';\n\nimport ButtonIcon from '../button/button-icon/ButtonIcon.js';\nimport Popup from './Popup.js';\nimport type { PopupListProps } from './Popup.types.js';\n\nconst PopupList = ({ className, items, trigger }: PopupListProps) => {\n const itemRefs = useRef<(HTMLButtonElement | null)[]>([]);\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n const index = itemRefs.current.indexOf(document.activeElement as HTMLButtonElement);\n if (index < 0 || items.length === 0) return;\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n const direction = event.key === 'ArrowDown' ? 1 : -1;\n const nextIndex = (index + direction + items.length) % items.length;\n itemRefs.current[nextIndex]?.focus();\n }\n if (event.key === 'Home' || event.key === 'End') {\n event.preventDefault();\n itemRefs.current[event.key === 'Home' ? 0 : items.length - 1]?.focus();\n }\n };\n\n return (\n <Popup {...(className ? { className } : {})} trigger={trigger}>\n <div onKeyDown={handleKeyDown} role=\"menu\" tabIndex={-1}>\n {items.map((item, index) => (\n <button\n className=\"chayns-popup-list__item\"\n key={`${item.text}-${index}`}\n onClick={item.onClick}\n ref={(element) => {\n itemRefs.current[index] = element;\n }}\n role=\"menuitem\"\n type=\"button\"\n >\n <ButtonIcon icon={item.icon} />\n <span>{item.text}</span>\n </button>\n ))}\n </div>\n </Popup>\n );\n};\n\nexport default PopupList;\n"],"mappings":";;;;;AAMA,IAAM,aAAa,EAAE,WAAW,OAAO,cAA8B;CACnE,MAAM,WAAW,OAAqC,CAAC,CAAC;CAExD,MAAM,iBAAiB,UAAyC;EAC9D,MAAM,QAAQ,SAAS,QAAQ,QAAQ,SAAS,aAAkC;EAClF,IAAI,QAAQ,KAAK,MAAM,WAAW,GAAG;EAErC,IAAI,MAAM,QAAQ,eAAe,MAAM,QAAQ,WAAW;GACxD,MAAM,eAAe;GAErB,MAAM,aAAa,SADD,MAAM,QAAQ,cAAc,IAAI,MACX,MAAM,UAAU,MAAM;GAC7D,SAAS,QAAQ,UAAU,EAAE,MAAM;EACrC;EACA,IAAI,MAAM,QAAQ,UAAU,MAAM,QAAQ,OAAO;GAC/C,MAAM,eAAe;GACrB,SAAS,QAAQ,MAAM,QAAQ,SAAS,IAAI,MAAM,SAAS,EAAE,EAAE,MAAM;EACvE;CACF;CAEA,OACE,oBAAC,OAAD;EAAO,GAAK,YAAY,EAAE,UAAU,IAAI,CAAC;EAAa;EACpD,UAAA,oBAAC,OAAD;GAAK,WAAW;GAAe,MAAK;GAAO,UAAU;GAClD,UAAA,MAAM,KAAK,MAAM,UAChB,qBAAC,UAAD;IACE,WAAU;IAEV,SAAS,KAAK;IACd,MAAM,YAAY;KAChB,SAAS,QAAQ,SAAS;IAC5B;IACA,MAAK;IACL,MAAK;IARP,UAAA,CAUE,oBAAC,YAAD,EAAY,MAAM,KAAK,KAAO,CAAA,GAC9B,oBAAC,QAAD,EAAA,UAAO,KAAK,KAAW,CAAA,CACjB;GAVD,GAAA,GAAG,KAAK,KAAK,GAAG,OAUf,CACT;EACE,CAAA;CACA,CAAA;AAEX"}
@@ -0,0 +1,4 @@
1
+ import type { SplitButtonProps } from './SplitButton.types.js';
2
+ declare const SplitButton: ({ children, className, disabled, icon, items, onClick, variant, ...containerProps }: SplitButtonProps) => import("react").JSX.Element;
3
+ export default SplitButton;
4
+ //# sourceMappingURL=SplitButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitButton.d.ts","sourceRoot":"","sources":["../../../src/components/split-button/SplitButton.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,QAAA,MAAM,WAAW,GAAI,qFASlB,gBAAgB,gCA+ClB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,52 @@
1
+ import ButtonIcon from "../button/button-icon/ButtonIcon.js";
2
+ import Button from "../button/Button.js";
3
+ import PopupList from "../popup/PopupList.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { useId } from "react";
6
+ //#region src/components/split-button/SplitButton.tsx
7
+ var SplitButton = ({ children, className, disabled, icon, items, onClick, variant, ...containerProps }) => {
8
+ const labelId = useId();
9
+ return /* @__PURE__ */ jsxs("div", {
10
+ ...containerProps,
11
+ className: ["chayns-split-button", className].filter(Boolean).join(" "),
12
+ children: [icon ? /* @__PURE__ */ jsx(Button, {
13
+ "aria-labelledby": labelId,
14
+ className: "chayns-split-button__primary",
15
+ ...disabled ? { disabled: true } : {},
16
+ icon,
17
+ ...onClick ? { onClick } : {},
18
+ variant,
19
+ children: /* @__PURE__ */ jsx("span", {
20
+ id: labelId,
21
+ children
22
+ })
23
+ }) : /* @__PURE__ */ jsx(Button, {
24
+ "aria-labelledby": labelId,
25
+ className: "chayns-split-button__primary",
26
+ ...disabled ? { disabled: true } : {},
27
+ ...onClick ? { onClick } : {},
28
+ variant,
29
+ children: /* @__PURE__ */ jsx("span", {
30
+ id: labelId,
31
+ children
32
+ })
33
+ }), /* @__PURE__ */ jsx(PopupList, {
34
+ items,
35
+ trigger: /* @__PURE__ */ jsx("button", {
36
+ "aria-labelledby": labelId,
37
+ className: `chayns-split-button__trigger chayns-button--${variant}`,
38
+ ...disabled ? { disabled: true } : {},
39
+ type: "button",
40
+ children: /* @__PURE__ */ jsx("span", {
41
+ "aria-hidden": "true",
42
+ className: "chayns-split-button__chevron",
43
+ children: /* @__PURE__ */ jsx(ButtonIcon, { icon: "fa-chevron-down" })
44
+ })
45
+ })
46
+ })]
47
+ });
48
+ };
49
+ //#endregion
50
+ export { SplitButton as default };
51
+
52
+ //# sourceMappingURL=SplitButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitButton.js","names":[],"sources":["../../../src/components/split-button/SplitButton.tsx"],"sourcesContent":["import { useId } from 'react';\n\nimport Button from '../button/Button.js';\nimport ButtonIcon from '../button/button-icon/ButtonIcon.js';\nimport PopupList from '../popup/PopupList.js';\nimport type { SplitButtonProps } from './SplitButton.types.js';\n\nconst SplitButton = ({\n children,\n className,\n disabled,\n icon,\n items,\n onClick,\n variant,\n ...containerProps\n}: SplitButtonProps) => {\n const labelId = useId();\n\n return (\n <div\n {...containerProps}\n className={['chayns-split-button', className].filter(Boolean).join(' ')}\n >\n {icon ? (\n <Button\n aria-labelledby={labelId}\n className=\"chayns-split-button__primary\"\n {...(disabled ? { disabled: true } : {})}\n icon={icon}\n {...(onClick ? { onClick } : {})}\n variant={variant}\n >\n <span id={labelId}>{children}</span>\n </Button>\n ) : (\n <Button\n aria-labelledby={labelId}\n className=\"chayns-split-button__primary\"\n {...(disabled ? { disabled: true } : {})}\n {...(onClick ? { onClick } : {})}\n variant={variant}\n >\n <span id={labelId}>{children}</span>\n </Button>\n )}\n <PopupList\n items={items}\n trigger={\n <button\n aria-labelledby={labelId}\n className={`chayns-split-button__trigger chayns-button--${variant}`}\n {...(disabled ? { disabled: true } : {})}\n type=\"button\"\n >\n <span aria-hidden=\"true\" className=\"chayns-split-button__chevron\">\n <ButtonIcon icon=\"fa-chevron-down\" />\n </span>\n </button>\n }\n />\n </div>\n );\n};\n\nexport default SplitButton;\n"],"mappings":";;;;;;AAOA,IAAM,eAAe,EACnB,UACA,WACA,UACA,MACA,OACA,SACA,SACA,GAAG,qBACmB;CACtB,MAAM,UAAU,MAAM;CAEtB,OACE,qBAAC,OAAD;EACE,GAAI;EACJ,WAAW,CAAC,uBAAuB,SAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;EAFxE,UAAA,CAIG,OACC,oBAAC,QAAD;GACE,mBAAiB;GACjB,WAAU;GACV,GAAK,WAAW,EAAE,UAAU,KAAK,IAAI,CAAC;GAChC;GACN,GAAK,UAAU,EAAE,QAAQ,IAAI,CAAC;GACrB;GAET,UAAA,oBAAC,QAAD;IAAM,IAAI;IAAU;GAAe,CAAA;EAC7B,CAAA,IAER,oBAAC,QAAD;GACE,mBAAiB;GACjB,WAAU;GACV,GAAK,WAAW,EAAE,UAAU,KAAK,IAAI,CAAC;GACtC,GAAK,UAAU,EAAE,QAAQ,IAAI,CAAC;GACrB;GAET,UAAA,oBAAC,QAAD;IAAM,IAAI;IAAU;GAAe,CAAA;EAC7B,CAAA,GAEV,oBAAC,WAAD;GACS;GACP,SACE,oBAAC,UAAD;IACE,mBAAiB;IACjB,WAAW,+CAA+C;IAC1D,GAAK,WAAW,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,MAAK;IAEL,UAAA,oBAAC,QAAD;KAAM,eAAY;KAAO,WAAU;KACjC,UAAA,oBAAC,YAAD,EAAY,MAAK,kBAAmB,CAAA;IAChC,CAAA;GACA,CAAA;EAEX,CAAA,CACE;;AAET"}
@@ -0,0 +1,12 @@
1
+ import type { ComponentPropsWithRef } from 'react';
2
+ import type { ButtonContent, ButtonIcon, ButtonVariant } from '../button/Button.types.js';
3
+ import type { PopupListItem } from '../popup/Popup.types.js';
4
+ export interface SplitButtonProps extends Omit<ComponentPropsWithRef<'div'>, 'children' | 'onClick'> {
5
+ variant: ButtonVariant;
6
+ children: ButtonContent;
7
+ items: PopupListItem[];
8
+ icon?: ButtonIcon;
9
+ onClick?: ComponentPropsWithRef<'button'>['onClick'];
10
+ disabled?: boolean;
11
+ }
12
+ //# sourceMappingURL=SplitButton.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitButton.types.d.ts","sourceRoot":"","sources":["../../../src/components/split-button/SplitButton.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,qBAAqB,CAAC,KAAK,CAAC,EAC5B,UAAU,GAAG,SAAS,CACvB;IACC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,22 @@
1
- export { Button, IconButton } from './components/button/index.js';
2
- export type { ButtonContent, ButtonIcon, ButtonProps, ButtonVariant, IconButtonProps, } from './components/button/index.js';
3
- export { Card } from './components/card/index.js';
4
- export type { CardProps } from './components/card/index.js';
5
- export { List, ListItem } from './components/list/index.js';
6
- export type { ListItemProps, ListProps } from './components/list/index.js';
7
- export { Accordion, AccordionGroup } from './components/accordion/index.js';
8
- export type { AccordionGroupProps, AccordionProps } from './components/accordion/index.js';
1
+ export { default as Button } from './components/button/Button.js';
2
+ export { default as IconButton } from './components/icon-button/IconButton.js';
3
+ export type { ButtonContent, ButtonIcon, ButtonProps, ButtonVariant, } from './components/button/Button.types.js';
4
+ export type { IconButtonProps } from './components/icon-button/IconButton.types.js';
5
+ export { default as Popup } from './components/popup/Popup.js';
6
+ export { default as PopupList } from './components/popup/PopupList.js';
7
+ export type { PopupListItem, PopupListProps, PopupProps } from './components/popup/Popup.types.js';
8
+ export { default as SplitButton } from './components/split-button/SplitButton.js';
9
+ export type { SplitButtonProps } from './components/split-button/SplitButton.types.js';
10
+ export { default as Card } from './components/card/Card.js';
11
+ export type { CardProps } from './components/card/Card.types.js';
12
+ export { default as Avatar } from './components/avatar/Avatar.js';
13
+ export { default as AvatarGroup } from './components/avatar-group/AvatarGroup.js';
14
+ export type { AvatarProps } from './components/avatar/Avatar.types.js';
15
+ export type { AvatarGroupProps } from './components/avatar-group/AvatarGroup.types.js';
16
+ export { default as List } from './components/list/List.js';
17
+ export { default as ListItem } from './components/list-item/ListItem.js';
18
+ export type { ListProps, ListItemProps } from './components/list/List.types.js';
19
+ export { default as Accordion } from './components/accordion/Accordion.js';
20
+ export { default as AccordionGroup } from './components/accordion-group/AccordionGroup.js';
21
+ export type { AccordionProps, AccordionGroupProps, } from './components/accordion/Accordion.types.js';
9
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAC/E,YAAY,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,GACd,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAEpF,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACvE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAEnG,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAClF,YAAY,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC5D,YAAY,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAClF,YAAY,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AACvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAC3F,YAAY,EACV,cAAc,EACd,mBAAmB,GACpB,MAAM,2CAA2C,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,13 @@
1
1
  import Button from "./components/button/Button.js";
2
- import IconButton from "./components/button/IconButton.js";
2
+ import IconButton from "./components/icon-button/IconButton.js";
3
+ import Popup from "./components/popup/Popup.js";
4
+ import PopupList from "./components/popup/PopupList.js";
5
+ import SplitButton from "./components/split-button/SplitButton.js";
3
6
  import Card from "./components/card/Card.js";
7
+ import Avatar from "./components/avatar/Avatar.js";
8
+ import AvatarGroup from "./components/avatar-group/AvatarGroup.js";
4
9
  import List from "./components/list/List.js";
5
- import ListItem from "./components/list/ListItem.js";
10
+ import ListItem from "./components/list-item/ListItem.js";
6
11
  import Accordion from "./components/accordion/Accordion.js";
7
- import AccordionGroup from "./components/accordion/AccordionGroup.js";
8
- export { Accordion, AccordionGroup, Button, Card, IconButton, List, ListItem };
12
+ import AccordionGroup from "./components/accordion-group/AccordionGroup.js";
13
+ export { Accordion, AccordionGroup, Avatar, AvatarGroup, Button, Card, IconButton, List, ListItem, Popup, PopupList, SplitButton };
package/dist/list.css CHANGED
@@ -89,10 +89,17 @@
89
89
 
90
90
  .chayns-list-item__trailing {
91
91
  flex: none;
92
+ align-self: flex-start;
92
93
  display: flex;
93
- align-items: center;
94
+ align-items: flex-start;
95
+ justify-content: flex-end;
94
96
  gap: var(--k8);
97
+ padding-block-start: var(--k10);
95
98
  padding-inline-end: var(--k16);
99
+ color: var(--text-3);
100
+ font-size: var(--fs-meta);
101
+ text-align: end;
102
+ white-space: nowrap;
96
103
  }
97
104
 
98
105
  .chayns-visually-hidden {
package/dist/popup.css ADDED
@@ -0,0 +1,34 @@
1
+ @layer chayns.components {
2
+ .chayns-popup {
3
+ position: fixed;
4
+ z-index: var(--z-popover);
5
+ min-inline-size: 14rem;
6
+ padding: var(--sp-2);
7
+ border: 1px solid var(--disabled-border);
8
+ border-radius: 12px;
9
+ background: var(--surface);
10
+ box-shadow: var(--shadow-pop);
11
+ }
12
+
13
+ .chayns-popup-list__item {
14
+ display: flex;
15
+ inline-size: 100%;
16
+ align-items: center;
17
+ gap: var(--sp-2);
18
+ min-block-size: var(--ctrl-h);
19
+ padding: var(--sp-2) var(--sp-4);
20
+ border: 0;
21
+ border-radius: 8px;
22
+ background: transparent;
23
+ color: var(--text);
24
+ font: inherit;
25
+ text-align: start;
26
+ cursor: pointer;
27
+ }
28
+
29
+ .chayns-popup-list__item:hover,
30
+ .chayns-popup-list__item:focus-visible {
31
+ background: var(--surface-alt);
32
+ outline: none;
33
+ }
34
+ }
@@ -0,0 +1,128 @@
1
+ @layer chayns.components {
2
+ .chayns-split-button {
3
+ display: inline-flex;
4
+ align-items: stretch;
5
+ max-inline-size: 100%;
6
+ }
7
+
8
+ .chayns-split-button__primary {
9
+ border-start-end-radius: 0;
10
+ border-end-end-radius: 0;
11
+ }
12
+
13
+ .chayns-split-button__trigger {
14
+ display: inline-flex;
15
+ align-items: center;
16
+ justify-content: center;
17
+ min-inline-size: var(--ctrl-h);
18
+ padding: 0 var(--sp-2);
19
+ border: 0;
20
+ border-inline-start: 1px solid color-mix(in srgb, currentcolor 30%, transparent);
21
+ border-start-end-radius: 999px;
22
+ border-end-end-radius: 999px;
23
+ font: inherit;
24
+ cursor: pointer;
25
+ }
26
+
27
+ .chayns-split-button__trigger.chayns-button--primary {
28
+ background: var(--accent);
29
+ color: var(--on-accent);
30
+ }
31
+
32
+ .chayns-split-button__trigger.chayns-button--outline {
33
+ border-block: 1.5px solid var(--accent);
34
+ border-inline-end: 1.5px solid var(--accent);
35
+ background: var(--surface);
36
+ color: var(--accent);
37
+ }
38
+
39
+ .chayns-split-button__trigger.chayns-button--ghost {
40
+ background: transparent;
41
+ color: var(--text-2);
42
+ }
43
+
44
+ .chayns-split-button__trigger.chayns-button--danger {
45
+ background: var(--danger-bg);
46
+ color: var(--danger);
47
+ }
48
+
49
+ .chayns-split-button__trigger:disabled {
50
+ background: var(--disabled-bg);
51
+ border-inline-start-color: var(--disabled-border);
52
+ border-inline-end-color: var(--disabled-border);
53
+ color: var(--disabled-fg);
54
+ cursor: not-allowed;
55
+ }
56
+
57
+ .chayns-split-button__trigger.chayns-button--outline:disabled {
58
+ border-block-color: var(--disabled-border);
59
+ background: var(--surface);
60
+ }
61
+
62
+ .chayns-split-button__trigger:focus-visible {
63
+ outline: none;
64
+ box-shadow: 0 0 0 var(--focus-ring-size)
65
+ rgb(var(--focus-ring-rgb), var(--focus-ring-alpha-strong));
66
+ }
67
+
68
+ .chayns-split-button__trigger:active:not(:disabled) {
69
+ transform: scale(0.97);
70
+ }
71
+
72
+ .chayns-split-button__trigger.chayns-button--primary:active:not(:disabled) {
73
+ background: var(--accent-active);
74
+ }
75
+
76
+ .chayns-split-button__trigger.chayns-button--outline:active:not(:disabled) {
77
+ background: var(--accent);
78
+ color: var(--on-accent);
79
+ }
80
+
81
+ .chayns-split-button__trigger.chayns-button--ghost:active:not(:disabled) {
82
+ background: var(--surface-alt);
83
+ color: var(--accent);
84
+ }
85
+
86
+ .chayns-split-button__trigger.chayns-button--danger:active:not(:disabled) {
87
+ background: var(--danger-bg-hover);
88
+ }
89
+
90
+ .chayns-split-button__trigger:active:not(:disabled)
91
+ .chayns-button-icon__weight:not(.chayns-button-icon__weight--active),
92
+ .chayns-split-button__trigger:hover:not(:disabled)
93
+ .chayns-button-icon__weight:not(.chayns-button-icon__weight--active) {
94
+ display: none;
95
+ }
96
+
97
+ .chayns-split-button__trigger:active:not(:disabled) .chayns-button-icon__weight--active,
98
+ .chayns-split-button__trigger:hover:not(:disabled) .chayns-button-icon__weight--active {
99
+ display: inline-flex;
100
+ }
101
+
102
+ @media (hover: hover) {
103
+ .chayns-split-button__trigger.chayns-button--primary:hover:not(:disabled) {
104
+ background: var(--accent-hover);
105
+ box-shadow: var(--shadow-btn-hover);
106
+ }
107
+
108
+ .chayns-split-button__trigger.chayns-button--outline:hover:not(:disabled) {
109
+ background: var(--accent);
110
+ color: var(--on-accent);
111
+ box-shadow: var(--shadow-btn-hover);
112
+ }
113
+
114
+ .chayns-split-button__trigger.chayns-button--ghost:hover:not(:disabled) {
115
+ background: var(--surface-alt);
116
+ color: var(--accent);
117
+ }
118
+
119
+ .chayns-split-button__trigger.chayns-button--danger:hover:not(:disabled) {
120
+ background: var(--danger-bg-hover);
121
+ }
122
+ }
123
+
124
+ .chayns-split-button__chevron .chayns-button-icon {
125
+ inline-size: 1em;
126
+ block-size: 1em;
127
+ }
128
+ }
package/dist/styles.css CHANGED
@@ -1,4 +1,7 @@
1
1
  @import url('./button.css');
2
2
  @import url('./card.css');
3
+ @import url('./avatar.css');
3
4
  @import url('./list.css');
4
5
  @import url('./accordion.css');
6
+ @import url('./popup.css');
7
+ @import url('./split-button.css');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-ui/core",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "Accessible React core components for chayns UI",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -22,34 +22,21 @@
22
22
  "types": "./dist/index.d.ts",
23
23
  "import": "./dist/index.js"
24
24
  },
25
- "./button": {
26
- "types": "./dist/components/button/index.d.ts",
27
- "import": "./dist/components/button/index.js"
28
- },
29
25
  "./button.css": "./dist/button.css",
30
- "./card": {
31
- "types": "./dist/components/card/index.d.ts",
32
- "import": "./dist/components/card/index.js"
33
- },
34
26
  "./card.css": "./dist/card.css",
35
- "./list": {
36
- "types": "./dist/components/list/index.d.ts",
37
- "import": "./dist/components/list/index.js"
38
- },
27
+ "./avatar.css": "./dist/avatar.css",
39
28
  "./list.css": "./dist/list.css",
40
- "./accordion": {
41
- "types": "./dist/components/accordion/index.d.ts",
42
- "import": "./dist/components/accordion/index.js"
43
- },
44
29
  "./accordion.css": "./dist/accordion.css",
30
+ "./popup.css": "./dist/popup.css",
31
+ "./split-button.css": "./dist/split-button.css",
45
32
  "./styles.css": "./dist/styles.css",
46
33
  "./package.json": "./package.json"
47
34
  },
48
35
  "peerDependencies": {
49
- "react": ">=19.2 <20"
36
+ "react": ">=18 <20"
50
37
  },
51
38
  "engines": {
52
- "node": ">=24"
39
+ "node": ">=18"
53
40
  },
54
41
  "publishConfig": {
55
42
  "access": "public"
@@ -1,4 +0,0 @@
1
- import type { AccordionGroupProps } from './Accordion.types.js';
2
- declare function AccordionGroup({ children, className, defaultOpenId, onOpenChange, openId, }: AccordionGroupProps): import("react").JSX.Element;
3
- export default AccordionGroup;
4
- //# sourceMappingURL=AccordionGroup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccordionGroup.d.ts","sourceRoot":"","sources":["../../../src/components/accordion/AccordionGroup.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,iBAAS,cAAc,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,aAAoB,EACpB,YAAY,EACZ,MAAM,GACP,EAAE,mBAAmB,+BA6BrB;AAED,eAAe,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccordionGroup.js","names":[],"sources":["../../../src/components/accordion/AccordionGroup.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\n\nimport { AccordionGroupContext } from './AccordionContext.js';\nimport type { AccordionGroupContextValue } from './AccordionContext.js';\nimport type { AccordionGroupProps } from './Accordion.types.js';\n\nfunction AccordionGroup({\n children,\n className,\n defaultOpenId = null,\n onOpenChange,\n openId,\n}: AccordionGroupProps) {\n const [uncontrolledOpenId, setUncontrolledOpenId] = useState<string | null>(defaultOpenId);\n\n const isControlled = openId !== undefined;\n const currentOpenId = isControlled ? openId : uncontrolledOpenId;\n\n const isOpen = useCallback((id: string) => currentOpenId === id, [currentOpenId]);\n\n const toggle = useCallback(\n (id: string) => {\n const nextOpenId = currentOpenId === id ? null : id;\n if (!isControlled) setUncontrolledOpenId(nextOpenId);\n onOpenChange?.(nextOpenId);\n },\n [currentOpenId, isControlled, onOpenChange],\n );\n\n const contextValue = useMemo<AccordionGroupContextValue>(\n () => ({ isOpen, toggle }),\n [isOpen, toggle],\n );\n\n const rootClassName = ['chayns-accordion-group', className].filter(Boolean).join(' ');\n\n return (\n <AccordionGroupContext.Provider value={contextValue}>\n <div className={rootClassName}>{children}</div>\n </AccordionGroupContext.Provider>\n );\n}\n\nexport default AccordionGroup;\n"],"mappings":";;;;AAMA,SAAS,eAAe,EACtB,UACA,WACA,gBAAgB,MAChB,cACA,UACsB;CACtB,MAAM,CAAC,oBAAoB,yBAAyB,SAAwB,aAAa;CAEzF,MAAM,eAAe,WAAW,KAAA;CAChC,MAAM,gBAAgB,eAAe,SAAS;CAE9C,MAAM,SAAS,aAAa,OAAe,kBAAkB,IAAI,CAAC,aAAa,CAAC;CAEhF,MAAM,SAAS,aACZ,OAAe;EACd,MAAM,aAAa,kBAAkB,KAAK,OAAO;EACjD,IAAI,CAAC,cAAc,sBAAsB,UAAU;EACnD,eAAe,UAAU;CAC3B,GACA;EAAC;EAAe;EAAc;CAAY,CAC5C;CAEA,MAAM,eAAe,eACZ;EAAE;EAAQ;CAAO,IACxB,CAAC,QAAQ,MAAM,CACjB;CAEA,MAAM,gBAAgB,CAAC,0BAA0B,SAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;CAEpF,OACE,oBAAC,sBAAsB,UAAvB;EAAgC,OAAO;EACrC,UAAA,oBAAC,OAAD;GAAK,WAAW;GAAgB;EAAc,CAAA;CAChB,CAAA;AAEpC"}
@@ -1,4 +0,0 @@
1
- export { default as Accordion } from './Accordion.js';
2
- export { default as AccordionGroup } from './AccordionGroup.js';
3
- export type { AccordionGroupProps, AccordionProps } from './Accordion.types.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/accordion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,3 +0,0 @@
1
- import Accordion from "./Accordion.js";
2
- import AccordionGroup from "./AccordionGroup.js";
3
- export { Accordion, AccordionGroup };
@@ -1,7 +0,0 @@
1
- import type { ButtonIcon as ButtonIconName } from './Button.types.js';
2
- interface ButtonIconProps {
3
- icon: ButtonIconName;
4
- }
5
- declare function ButtonIcon({ icon }: ButtonIconProps): import("react").JSX.Element;
6
- export default ButtonIcon;
7
- //# sourceMappingURL=ButtonIcon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonIcon.d.ts","sourceRoot":"","sources":["../../../src/components/button/ButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,UAAU,eAAe;IACvB,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,iBAAS,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,+BAW5C;AAED,eAAe,UAAU,CAAC"}
@@ -1,19 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- //#region src/components/button/ButtonIcon.tsx
3
- function ButtonIcon({ icon }) {
4
- return /* @__PURE__ */ jsxs("span", {
5
- "aria-hidden": "true",
6
- className: "chayns-button-icon",
7
- children: [/* @__PURE__ */ jsx("span", {
8
- className: "chayns-button-icon__weight",
9
- children: /* @__PURE__ */ jsx("i", { className: `far ${icon}` })
10
- }), /* @__PURE__ */ jsx("span", {
11
- className: "chayns-button-icon__weight chayns-button-icon__weight--active",
12
- children: /* @__PURE__ */ jsx("i", { className: `fas ${icon}` })
13
- })]
14
- });
15
- }
16
- //#endregion
17
- export { ButtonIcon as default };
18
-
19
- //# sourceMappingURL=ButtonIcon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonIcon.js","names":[],"sources":["../../../src/components/button/ButtonIcon.tsx"],"sourcesContent":["import type { ButtonIcon as ButtonIconName } from './Button.types.js';\n\ninterface ButtonIconProps {\n icon: ButtonIconName;\n}\n\nfunction ButtonIcon({ icon }: ButtonIconProps) {\n return (\n <span aria-hidden=\"true\" className=\"chayns-button-icon\">\n <span className=\"chayns-button-icon__weight\">\n <i className={`far ${icon}`} />\n </span>\n <span className=\"chayns-button-icon__weight chayns-button-icon__weight--active\">\n <i className={`fas ${icon}`} />\n </span>\n </span>\n );\n}\n\nexport default ButtonIcon;\n"],"mappings":";;AAMA,SAAS,WAAW,EAAE,QAAyB;CAC7C,OACE,qBAAC,QAAD;EAAM,eAAY;EAAO,WAAU;EAAnC,UAAA,CACE,oBAAC,QAAD;GAAM,WAAU;GACd,UAAA,oBAAC,KAAD,EAAG,WAAW,OAAO,OAAS,CAAA;EAC1B,CAAA,GACN,oBAAC,QAAD;GAAM,WAAU;GACd,UAAA,oBAAC,KAAD,EAAG,WAAW,OAAO,OAAS,CAAA;EAC1B,CAAA,CACF;;AAEV"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/components/button/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,IAAI,EACJ,IAAe,EACf,OAAO,EACP,GAAG,WAAW,EACf,EAAE,eAAe,+BAQjB;AAED,eAAe,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconButton.js","names":[],"sources":["../../../src/components/button/IconButton.tsx"],"sourcesContent":["import type { IconButtonProps } from './Button.types.js';\nimport ButtonIcon from './ButtonIcon.js';\nimport { getButtonClassName } from './buttonClassName.js';\n\nfunction IconButton({\n className,\n icon,\n type = 'button',\n variant,\n ...buttonProps\n}: IconButtonProps) {\n const resolvedClassName = getButtonClassName('chayns-icon-button', variant, className);\n\n return (\n <button {...buttonProps} className={resolvedClassName} type={type}>\n <ButtonIcon icon={icon} />\n </button>\n );\n}\n\nexport default IconButton;\n"],"mappings":";;;;AAIA,SAAS,WAAW,EAClB,WACA,MACA,OAAO,UACP,SACA,GAAG,eACe;CAClB,MAAM,oBAAoB,mBAAmB,sBAAsB,SAAS,SAAS;CAErF,OACE,oBAAC,UAAD;EAAQ,GAAI;EAAa,WAAW;EAAyB;EAC3D,UAAA,oBAAC,YAAD,EAAkB,KAAO,CAAA;CACnB,CAAA;AAEZ"}
@@ -1,3 +0,0 @@
1
- import type { ButtonVariant } from './Button.types.js';
2
- export declare function getButtonClassName(componentClassName: 'chayns-button' | 'chayns-icon-button', variant: ButtonVariant, className?: string): string;
3
- //# sourceMappingURL=buttonClassName.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buttonClassName.d.ts","sourceRoot":"","sources":["../../../src/components/button/buttonClassName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,eAAe,GAAG,oBAAoB,EAC1D,OAAO,EAAE,aAAa,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAMR"}
@@ -1,9 +0,0 @@
1
- //#region src/components/button/buttonClassName.ts
2
- function getButtonClassName(componentClassName, variant, className) {
3
- const variantClassName = `${componentClassName}--${variant}`;
4
- return className ? `${componentClassName} ${variantClassName} ${className}` : `${componentClassName} ${variantClassName}`;
5
- }
6
- //#endregion
7
- export { getButtonClassName };
8
-
9
- //# sourceMappingURL=buttonClassName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buttonClassName.js","names":[],"sources":["../../../src/components/button/buttonClassName.ts"],"sourcesContent":["import type { ButtonVariant } from './Button.types.js';\n\nexport function getButtonClassName(\n componentClassName: 'chayns-button' | 'chayns-icon-button',\n variant: ButtonVariant,\n className?: string,\n): string {\n const variantClassName = `${componentClassName}--${variant}`;\n\n return className\n ? `${componentClassName} ${variantClassName} ${className}`\n : `${componentClassName} ${variantClassName}`;\n}\n"],"mappings":";AAEA,SAAgB,mBACd,oBACA,SACA,WACQ;CACR,MAAM,mBAAmB,GAAG,mBAAmB,IAAI;CAEnD,OAAO,YACH,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,cAC7C,GAAG,mBAAmB,GAAG;AAC/B"}
@@ -1,4 +0,0 @@
1
- export { default as Button } from './Button.js';
2
- export { default as IconButton } from './IconButton.js';
3
- export type { ButtonContent, ButtonIcon, ButtonProps, ButtonVariant, IconButtonProps, } from './Button.types.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EACV,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAC"}
@@ -1,3 +0,0 @@
1
- import Button from "./Button.js";
2
- import IconButton from "./IconButton.js";
3
- export { Button, IconButton };
@@ -1,3 +0,0 @@
1
- export { default as Card } from './Card.js';
2
- export type { CardProps } from './Card.types.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,2 +0,0 @@
1
- import Card from "./Card.js";
2
- export { Card };
@@ -1,4 +0,0 @@
1
- import type { ListItemProps } from './List.types.js';
2
- declare function ListItem({ className, disabled, href, id, leading, onClick, subtitle, title, trailing, unread, unreadLabel, }: ListItemProps): import("react").JSX.Element;
3
- export default ListItem;
4
- //# sourceMappingURL=ListItem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../src/components/list/ListItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA+BrD,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,QAAgB,EAChB,IAAI,EACJ,EAAE,EACF,OAAO,EACP,OAAO,EACP,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAc,EACd,WAAW,GACZ,EAAE,aAAa,+BA0Cf;AAED,eAAe,QAAQ,CAAC"}