@bodynarf/react.components 1.9.1 → 1.10.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 (158) hide show
  1. package/bodynarf-react.components-1.10.0.tgz +0 -0
  2. package/components/accordion/component/index.d.ts +1 -0
  3. package/components/accordion/component/index.d.ts.map +1 -1
  4. package/components/accordion/component/index.js +3 -3
  5. package/components/anchor/component/index.js +2 -2
  6. package/components/anchor/components/anchorWithIcon/index.d.ts +9 -2
  7. package/components/anchor/components/anchorWithIcon/index.d.ts.map +1 -1
  8. package/components/anchor/components/anchorWithIcon/index.js +2 -2
  9. package/components/anchor/components/simpleAnchor/index.d.ts +3 -2
  10. package/components/anchor/components/simpleAnchor/index.d.ts.map +1 -1
  11. package/components/anchor/components/simpleAnchor/index.js +1 -1
  12. package/components/anchor/types.d.ts +3 -11
  13. package/components/anchor/types.d.ts.map +1 -1
  14. package/components/breadcrumbs/component/index.d.ts +7 -32
  15. package/components/breadcrumbs/component/index.d.ts.map +1 -1
  16. package/components/breadcrumbs/component/index.js +22 -6
  17. package/components/breadcrumbs/types.d.ts +30 -1
  18. package/components/breadcrumbs/types.d.ts.map +1 -1
  19. package/components/button/component/index.d.ts.map +1 -1
  20. package/components/button/component/index.js +3 -3
  21. package/components/button/types.d.ts +1 -1
  22. package/components/dropdown/component/style.scss +3 -3
  23. package/components/dropdown/components/compact/index.d.ts +8 -1
  24. package/components/dropdown/components/compact/index.d.ts.map +1 -1
  25. package/components/dropdown/components/compact/index.js +17 -5
  26. package/components/dropdown/components/label/index.d.ts +1 -17
  27. package/components/dropdown/components/label/index.d.ts.map +1 -1
  28. package/components/dropdown/components/label/index.js +1 -54
  29. package/components/dropdown/components/withLabel/index.d.ts +3 -1
  30. package/components/dropdown/components/withLabel/index.d.ts.map +1 -1
  31. package/components/dropdown/components/withLabel/index.js +8 -82
  32. package/components/dropdown/types.d.ts +8 -0
  33. package/components/dropdown/types.d.ts.map +1 -1
  34. package/components/icon/component/index.d.ts +3 -2
  35. package/components/icon/component/index.d.ts.map +1 -1
  36. package/components/icon/component/index.js +4 -3
  37. package/components/icon/types.d.ts +2 -0
  38. package/components/icon/types.d.ts.map +1 -1
  39. package/components/multiselect/component/index.d.ts +8 -0
  40. package/components/multiselect/component/index.d.ts.map +1 -0
  41. package/components/multiselect/component/index.js +13 -0
  42. package/components/multiselect/component/style.scss +20 -0
  43. package/components/multiselect/components/item/index.d.ts +25 -0
  44. package/components/multiselect/components/item/index.d.ts.map +1 -0
  45. package/components/multiselect/components/item/index.js +62 -0
  46. package/components/multiselect/components/label/component/index.d.ts +20 -0
  47. package/components/multiselect/components/label/component/index.d.ts.map +1 -0
  48. package/components/multiselect/components/label/component/index.js +12 -0
  49. package/components/multiselect/components/label/components/empty/index.d.ts +8 -0
  50. package/components/multiselect/components/label/components/empty/index.d.ts.map +1 -0
  51. package/components/multiselect/components/label/components/empty/index.js +16 -0
  52. package/components/multiselect/components/label/components/nonEmpty/index.d.ts +8 -0
  53. package/components/multiselect/components/label/components/nonEmpty/index.d.ts.map +1 -0
  54. package/components/multiselect/components/label/components/nonEmpty/index.js +16 -0
  55. package/components/multiselect/components/label/index.d.ts +2 -0
  56. package/components/multiselect/components/label/index.d.ts.map +1 -0
  57. package/components/multiselect/components/label/index.js +1 -0
  58. package/components/multiselect/components/withLabel/index.d.ts +6 -0
  59. package/components/multiselect/components/withLabel/index.d.ts.map +1 -0
  60. package/components/multiselect/components/withLabel/index.js +11 -0
  61. package/components/multiselect/components/withoutLabel/index.d.ts +10 -0
  62. package/components/multiselect/components/withoutLabel/index.d.ts.map +1 -0
  63. package/components/multiselect/components/withoutLabel/index.js +84 -0
  64. package/components/multiselect/index.d.ts +3 -0
  65. package/components/multiselect/index.d.ts.map +1 -0
  66. package/components/multiselect/index.js +2 -0
  67. package/components/multiselect/types.d.ts +41 -0
  68. package/components/multiselect/types.d.ts.map +1 -0
  69. package/components/multiselect/types.js +1 -0
  70. package/components/paginator/component/index.d.ts.map +1 -1
  71. package/components/paginator/component/index.js +22 -5
  72. package/components/paginator/index.d.ts +0 -1
  73. package/components/paginator/index.d.ts.map +1 -1
  74. package/components/paginator/index.js +0 -1
  75. package/components/primitives/checkbox/component/index.d.ts +2 -1
  76. package/components/primitives/checkbox/component/index.d.ts.map +1 -1
  77. package/components/primitives/checkbox/component/index.js +8 -6
  78. package/components/primitives/checkbox/component/style.scss +22 -3
  79. package/components/primitives/color/components/picker/index.d.ts +3 -3
  80. package/components/primitives/color/components/picker/index.d.ts.map +1 -1
  81. package/components/primitives/color/components/picker/index.js +8 -8
  82. package/components/primitives/color/components/withLabel/index.d.ts +1 -1
  83. package/components/primitives/color/components/withLabel/index.d.ts.map +1 -1
  84. package/components/primitives/color/components/withLabel/index.js +3 -4
  85. package/components/primitives/color/components/withoutLabel/index.d.ts +1 -1
  86. package/components/primitives/color/components/withoutLabel/index.d.ts.map +1 -1
  87. package/components/primitives/color/components/withoutLabel/index.js +2 -3
  88. package/components/primitives/date/component/index.d.ts +3 -2
  89. package/components/primitives/date/component/index.d.ts.map +1 -1
  90. package/components/primitives/date/component/index.js +5 -7
  91. package/components/primitives/date/component/style.scss +11 -0
  92. package/components/primitives/date/types.d.ts +1 -1
  93. package/components/primitives/date/types.d.ts.map +1 -1
  94. package/components/primitives/internal/componentWithLabel/index.d.ts.map +1 -1
  95. package/components/primitives/internal/componentWithLabel/index.js +2 -2
  96. package/components/primitives/internal/hint/index.d.ts +4 -7
  97. package/components/primitives/internal/hint/index.d.ts.map +1 -1
  98. package/components/primitives/internal/hint/index.js +1 -0
  99. package/components/primitives/internal/hint/style.scss +4 -0
  100. package/components/primitives/multiline/component/index.d.ts +0 -1
  101. package/components/primitives/multiline/component/index.d.ts.map +1 -1
  102. package/components/primitives/multiline/component/index.js +0 -1
  103. package/components/primitives/multiline/components/withLabel/index.d.ts +2 -1
  104. package/components/primitives/multiline/components/withLabel/index.d.ts.map +1 -1
  105. package/components/primitives/multiline/components/withLabel/index.js +4 -6
  106. package/components/primitives/multiline/components/withoutLabel/index.d.ts +1 -0
  107. package/components/primitives/multiline/components/withoutLabel/index.d.ts.map +1 -1
  108. package/components/primitives/multiline/components/withoutLabel/index.js +4 -5
  109. package/components/primitives/number/components/withLabel/index.d.ts +2 -1
  110. package/components/primitives/number/components/withLabel/index.d.ts.map +1 -1
  111. package/components/primitives/number/components/withLabel/index.js +4 -6
  112. package/components/primitives/number/components/withoutLabel/index.d.ts +2 -1
  113. package/components/primitives/number/components/withoutLabel/index.d.ts.map +1 -1
  114. package/components/primitives/number/components/withoutLabel/index.js +5 -6
  115. package/components/primitives/password/components/withLabel/index.d.ts +2 -1
  116. package/components/primitives/password/components/withLabel/index.d.ts.map +1 -1
  117. package/components/primitives/password/components/withLabel/index.js +5 -6
  118. package/components/primitives/password/components/withoutLabel/index.d.ts +1 -0
  119. package/components/primitives/password/components/withoutLabel/index.d.ts.map +1 -1
  120. package/components/primitives/password/components/withoutLabel/index.js +6 -7
  121. package/components/primitives/text/component/index.d.ts +0 -1
  122. package/components/primitives/text/component/index.d.ts.map +1 -1
  123. package/components/primitives/text/component/index.js +0 -1
  124. package/components/primitives/text/components/withLabel/index.d.ts +1 -0
  125. package/components/primitives/text/components/withLabel/index.d.ts.map +1 -1
  126. package/components/primitives/text/components/withLabel/index.js +4 -6
  127. package/components/primitives/text/components/withoutLabel/index.d.ts +2 -1
  128. package/components/primitives/text/components/withoutLabel/index.d.ts.map +1 -1
  129. package/components/primitives/text/components/withoutLabel/index.js +5 -6
  130. package/components/search/component/index.d.ts.map +1 -1
  131. package/components/search/component/index.js +6 -8
  132. package/components/table/component/index.d.ts +1 -35
  133. package/components/table/component/index.d.ts.map +1 -1
  134. package/components/table/component/index.js +1 -1
  135. package/components/table/types.d.ts +36 -1
  136. package/components/table/types.d.ts.map +1 -1
  137. package/components/tabs/component/index.d.ts +3 -26
  138. package/components/tabs/component/index.d.ts.map +1 -1
  139. package/components/tabs/component/index.js +3 -3
  140. package/components/tabs/types.d.ts +24 -1
  141. package/components/tabs/types.d.ts.map +1 -1
  142. package/components/tag/component/index.d.ts +1 -0
  143. package/components/tag/component/index.d.ts.map +1 -1
  144. package/components/tag/component/index.js +3 -3
  145. package/components/tag/types.d.ts +3 -3
  146. package/components/tag/types.d.ts.map +1 -1
  147. package/hooks/index.d.ts +1 -0
  148. package/hooks/index.d.ts.map +1 -1
  149. package/hooks/index.js +1 -0
  150. package/hooks/useComponentOutsideClick.d.ts.map +1 -1
  151. package/hooks/useComponentOutsideClick.js +2 -3
  152. package/package.json +2 -2
  153. package/tsconfig.tsbuildinfo +1 -1
  154. package/bodynarf-react.components-1.9.3.tgz +0 -0
  155. package/common.scss +0 -8
  156. package/components/paginator/utils.d.ts +0 -10
  157. package/components/paginator/utils.d.ts.map +0 -1
  158. package/components/paginator/utils.js +0 -18
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import "./style.scss";
2
3
  import { AccordionProps } from "..";
3
4
  /** Accordion panel */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/accordion/component/index.tsx"],"names":[],"mappings":"AAQA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAEpC,sBAAsB;AACtB,QAAA,MAAM,SAAS,2FAOZ,cAAc,KAAG,WA+DnB,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/accordion/component/index.tsx"],"names":[],"mappings":";AAQA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAEpC,sBAAsB;AACtB,QAAA,MAAM,SAAS,2FAOZ,cAAc,KAAG,WA+DnB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useRef, useState } from "react";
3
- import { getClassName, isNullOrUndefined } from "@bodynarf/utils";
3
+ import { emptyFn, getClassName, isNullOrUndefined } from "@bodynarf/utils";
4
4
  import { ElementSize } from "../../../types";
5
5
  import { mapDataAttributes } from "../../../utils";
6
6
  import Icon from "../../icon";
7
7
  import "./style.scss";
8
8
  /** Accordion panel */
9
- const Accordion = ({ children, caption, style, size = ElementSize.Normal, defaultExpanded = false, onToggle, className, title, data, }) => {
9
+ const Accordion = ({ children, caption, style, size = ElementSize.Normal, defaultExpanded = false, onToggle = emptyFn, className, title, data, }) => {
10
10
  const expandablePanelRef = useRef(null);
11
11
  const [isExpanded, setIsExpanded] = useState(defaultExpanded);
12
12
  const [maxHeight, setMaxHeight] = useState(defaultExpanded ? undefined : 0);
@@ -18,7 +18,7 @@ const Accordion = ({ children, caption, style, size = ElementSize.Normal, defaul
18
18
  }, [defaultExpanded]);
19
19
  useEffect(() => setIsExpanded(maxHeight !== 0), [maxHeight]);
20
20
  useEffect(() => {
21
- onToggle?.call(undefined, !isExpanded);
21
+ onToggle.call(undefined, !isExpanded);
22
22
  }, [isExpanded, onToggle]);
23
23
  const elClassName = getClassName([
24
24
  "bbr-accordion",
@@ -14,7 +14,7 @@ export default function Anchor(props) {
14
14
  props.disableHovering === true ? "bbr-anchor--unhoverable" : ""
15
15
  ]);
16
16
  if (isNullOrUndefined(props.icon)) {
17
- return (_jsx(SimpleAnchor, { ...props, className: className, onClick: props.onClick }));
17
+ return (_jsx(SimpleAnchor, { ...props, className: className }));
18
18
  }
19
- return (_jsx(AnchorWithIcon, { ...props, icon: props.icon, className: className, onClick: props.onClick }));
19
+ return (_jsx(AnchorWithIcon, { ...props, icon: props.icon, className: className }));
20
20
  }
@@ -1,5 +1,12 @@
1
- import { AnchorWithIconProps } from "../..";
1
+ /// <reference types="react" />
2
+ import { ElementIcon } from "../../../../types";
3
+ import { AnchorProps } from "../..";
4
+ /** Props type of `AnchorWithIcon` */
5
+ interface AnchorWithIconProps extends Omit<AnchorProps, "icon"> {
6
+ /** Configuration of icon */
7
+ icon: ElementIcon;
8
+ }
2
9
  /** Anchor with icon component */
3
- declare const AnchorWithIcon: ({ href, className, onClick, caption, target, icon, title, data, }: AnchorWithIconProps) => JSX.Element;
10
+ declare const AnchorWithIcon: ({ href, caption, target, icon, onClick, className, title, data, }: AnchorWithIconProps) => JSX.Element;
4
11
  export default AnchorWithIcon;
5
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/anchor/components/anchorWithIcon/index.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAE5C,iCAAiC;AACjC,QAAA,MAAM,cAAc,sEAKjB,mBAAmB,KAAG,WA0CxB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/anchor/components/anchorWithIcon/index.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AAI1D,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,qCAAqC;AACrC,UAAU,mBAAoB,SAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;IAC3D,4BAA4B;IAC5B,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,iCAAiC;AACjC,QAAA,MAAM,cAAc,sEAMjB,mBAAmB,KAAG,WA0CxB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -4,7 +4,7 @@ import { ElementPosition } from "../../../../types";
4
4
  import { mapDataAttributes } from "../../../../utils";
5
5
  import Icon from "../../../icon";
6
6
  /** Anchor with icon component */
7
- const AnchorWithIcon = ({ href, className, onClick, caption, target, icon, title, data, }) => {
7
+ const AnchorWithIcon = ({ href, caption, target, icon, onClick, className, title, data, }) => {
8
8
  const iconClassName = isNullOrEmpty(caption)
9
9
  ? icon.className
10
10
  : icon.position === ElementPosition.Right
@@ -16,6 +16,6 @@ const AnchorWithIcon = ({ href, className, onClick, caption, target, icon, title
16
16
  if (icon.position === ElementPosition.Right) {
17
17
  return (_jsxs("a", { href: href, target: target, onClick: onClick, className: className, title: title, ...dataAttributes, children: [caption, _jsx(Icon, { ...icon, className: iconClassName })] }));
18
18
  }
19
- return (_jsxs("a", { href: href, className: className, target: target, onClick: onClick, title: title, ...dataAttributes, children: [_jsx(Icon, { ...icon, className: iconClassName }), caption] }));
19
+ return (_jsxs("a", { href: href, target: target, onClick: onClick, className: className, title: title, ...dataAttributes, children: [_jsx(Icon, { ...icon, className: iconClassName }), caption] }));
20
20
  };
21
21
  export default AnchorWithIcon;
@@ -1,5 +1,6 @@
1
- import { SimpleAnchorProps } from "../..";
1
+ /// <reference types="react" />
2
+ import { AnchorProps } from "../..";
2
3
  /** Simple anchor component, without icon */
3
- declare const SimpleAnchor: ({ href, className, onClick, caption, target, title, data, }: SimpleAnchorProps) => JSX.Element;
4
+ declare const SimpleAnchor: ({ href, className, caption, target, onClick, title, data, }: AnchorProps) => JSX.Element;
4
5
  export default SimpleAnchor;
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/anchor/components/simpleAnchor/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1C,4CAA4C;AAC5C,QAAA,MAAM,YAAY,gEAIf,iBAAiB,KAAG,WAkBtB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/anchor/components/simpleAnchor/index.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,4CAA4C;AAC5C,QAAA,MAAM,YAAY,gEAKf,WAAW,KAAG,WAkBhB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { isNullOrUndefined } from "@bodynarf/utils";
3
3
  import { mapDataAttributes } from "../../../../utils";
4
4
  /** Simple anchor component, without icon */
5
- const SimpleAnchor = ({ href, className, onClick, caption, target, title, data, }) => {
5
+ const SimpleAnchor = ({ href, className, caption, target, onClick, title, data, }) => {
6
6
  const dataAttributes = isNullOrUndefined(data)
7
7
  ? undefined
8
8
  : mapDataAttributes(data);
@@ -1,25 +1,17 @@
1
1
  import { BaseElementProps, ElementIcon } from "../../types";
2
2
  /** Anchor component props type */
3
- export interface AnchorProps extends Omit<SimpleAnchorProps, "className"> {
3
+ export interface AnchorProps extends BaseElementProps {
4
4
  /** Configuration od inner icon */
5
5
  icon?: ElementIcon;
6
- /** Additional class names */
7
- className?: string;
8
6
  /** Should css hovering effects be disabled */
9
7
  disableHovering?: boolean;
10
- }
11
- export interface SimpleAnchorProps extends BaseElementProps {
12
8
  /** Link destination */
13
9
  href?: string;
14
- /** Click handler */
15
- onClick?: () => void;
16
10
  /** Link caption */
17
11
  caption?: string;
18
12
  /** Where to open the linked document */
19
13
  target?: "_blank" | "_top";
20
- }
21
- export interface AnchorWithIconProps extends SimpleAnchorProps {
22
- /** Configuration of icon */
23
- icon: ElementIcon;
14
+ /** Click handler */
15
+ onClick?: () => void;
24
16
  }
25
17
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/anchor/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3D,kCAAkC;AAClC,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC;IACrE,kCAAkC;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,wCAAwC;IACxC,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC1D,4BAA4B;IAC5B,IAAI,EAAE,WAAW,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/anchor/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3D,kCAAkC;AAClC,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACjD,kCAAkC;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,wCAAwC;IACxC,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAE3B,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB"}
@@ -1,34 +1,9 @@
1
- /// <reference types="react" />
2
- import { BaseElementProps, ElementSize } from "../../../types";
3
- import { BreadCrumb } from "../types";
4
- /** Breadcrumbs component props type */
5
- export interface BreadcrumbsProps extends BaseElementProps {
6
- /** Breadcrumbs items */
7
- items: Array<BreadCrumb>;
8
- /**
9
- * Function that generates each element
10
- * @example
11
- * <Link to={breadCrumb.path}>
12
- * {breadCrumb.icon &&
13
- * <span>
14
- * <Icon {...breadCrumb.icon} />
15
- * </span>
16
- * }
17
- * <span>
18
- * {breadCrumb.title}
19
- * </span>
20
- * </Link>
21
- *
22
- */
23
- elementGenerator: (bc: BreadCrumb) => JSX.Element;
24
- /** Panel size */
25
- size?: ElementSize;
26
- /** Items position */
27
- position?: "centered" | "right";
28
- /** Items separator. By default `arrow` */
29
- separator?: "arrow" | "bullet" | "dot" | "succeeds";
30
- }
31
- /** Breadcrumbs navigation panel */
32
- declare const BreadCrumbs: ({ items, size, position, separator, elementGenerator, className, title, data, }: BreadcrumbsProps) => JSX.Element;
1
+ import { FC } from "react";
2
+ import { BreadcrumbsProps } from "..";
3
+ /**
4
+ * Breadcrumbs navigation panel
5
+ * @description If items are not specified, an empty component will be displayed.
6
+ */
7
+ declare const BreadCrumbs: FC<BreadcrumbsProps>;
33
8
  export default BreadCrumbs;
34
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/breadcrumbs/component/index.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,uCAAuC;AACvC,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,wBAAwB;IACxB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAEzB;;;;;;;;;;;;;;MAcE;IACF,gBAAgB,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,GAAG,CAAC,OAAO,CAAC;IAElD,iBAAiB;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAEhC,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC;CACvD;AAED,mCAAmC;AACnC,QAAA,MAAM,WAAW,oFAMd,gBAAgB,KAAG,WAsCrB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/breadcrumbs/component/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAQ3B,OAAO,EAAc,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAElD;;;EAGE;AACF,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA4CrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,21 +1,37 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { getClassName, isNullOrUndefined } from "@bodynarf/utils";
3
3
  import { mapDataAttributes } from "../../../utils";
4
- /** Breadcrumbs navigation panel */
5
- const BreadCrumbs = ({ items, size, position, separator = "arrow", elementGenerator, className, title, data, }) => {
4
+ import { ElementPosition, ElementSize } from "../../../types";
5
+ import Icon from "../../icon";
6
+ /**
7
+ * Breadcrumbs navigation panel
8
+ * @description If items are not specified, an empty component will be displayed.
9
+ */
10
+ const BreadCrumbs = ({ items, position = ElementPosition.Left, size = ElementSize.Normal, separator = "arrow", elementGenerator = ((bc) => _jsx(BreadCrumbItem, { item: bc })), className, title, data, }) => {
6
11
  if (items.length <= 1) {
7
12
  return _jsx(_Fragment, {});
8
13
  }
9
14
  const elClassName = getClassName([
15
+ "bbr-breadcrumbs",
10
16
  "breadcrumb",
11
17
  className,
12
- isNullOrUndefined(size) ? undefined : `is-${size}`,
18
+ size === ElementSize.Normal ? undefined : `is-${size}`,
13
19
  `has-${separator}-separator`,
14
- isNullOrUndefined(position) ? undefined : `is-${position}`,
20
+ position === ElementPosition.Left ? undefined : `is-${position}`,
15
21
  ]);
16
22
  const dataAttributes = isNullOrUndefined(data)
17
23
  ? undefined
18
24
  : mapDataAttributes(data);
19
- return (_jsx("nav", { className: elClassName, "aria-label": "breadcrumbs", title: title, ...dataAttributes, children: _jsx("ul", { children: items.map(breadCrumb => _jsx("li", { className: breadCrumb.active ? "is-active" : undefined, "aria-current": breadCrumb.active ? "page" : undefined, children: elementGenerator(breadCrumb) }, breadCrumb.path)) }) }));
25
+ return (_jsx("nav", { className: elClassName, "aria-label": "breadcrumbs", title: title, ...dataAttributes, children: _jsx("ul", { children: items.map(breadCrumb => _jsx("li", { className: breadCrumb.active ? "is-active" : undefined, children: elementGenerator(breadCrumb) }, breadCrumb.path)) }) }));
20
26
  };
21
27
  export default BreadCrumbs;
28
+ /** Template for single breadcrumb */
29
+ const BreadCrumbItem = ({ item, icon }) => {
30
+ if (isNullOrUndefined(icon)) {
31
+ return (_jsx("a", { href: item.path, "aria-current": item.active ? "page" : undefined, children: item.title }));
32
+ }
33
+ if (icon?.position === ElementPosition.Right) {
34
+ return (_jsxs("a", { href: item.path, "aria-current": item.active ? "page" : undefined, children: [item.title, _jsx(Icon, { ...icon })] }));
35
+ }
36
+ return (_jsxs("a", { href: item.path, "aria-current": item.active ? "page" : undefined, children: [_jsx(Icon, { ...icon }), item.title] }));
37
+ };
@@ -1,4 +1,5 @@
1
- import { ElementIcon } from "../../types";
1
+ /// <reference types="react" />
2
+ import { BaseElementProps, ElementIcon, ElementPosition, ElementSize } from "../../types";
2
3
  /** Breadcrumb item */
3
4
  export interface BreadCrumb {
4
5
  /** Displayed text */
@@ -10,4 +11,32 @@ export interface BreadCrumb {
10
11
  /** Bootstrap icon class name */
11
12
  icon?: ElementIcon;
12
13
  }
14
+ /** Breadcrumbs component props type */
15
+ export interface BreadcrumbsProps extends BaseElementProps {
16
+ /** Breadcrumbs items */
17
+ items: Array<BreadCrumb>;
18
+ /**
19
+ * Function that generates each element
20
+ * @example
21
+ * elementGenerator={breadCrumb =>
22
+ * <div>
23
+ * {breadCrumb.icon &&
24
+ * <span>
25
+ * <Icon {...breadCrumb.icon} />
26
+ * </span>
27
+ * }
28
+ * <span>
29
+ * {breadCrumb.title}
30
+ * </span>
31
+ * </div>
32
+ * }
33
+ */
34
+ elementGenerator?: (bc: BreadCrumb) => JSX.Element;
35
+ /** Panel size */
36
+ size?: ElementSize;
37
+ /** Items position */
38
+ position?: ElementPosition;
39
+ /** Items separator. By default `arrow` */
40
+ separator?: "arrow" | "bullet" | "dot" | "succeeds";
41
+ }
13
42
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumbs/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,sBAAsB;AACtB,MAAM,WAAW,UAAU;IACvB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IAEd,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,6CAA6C;IAC7C,MAAM,EAAE,OAAO,CAAC;IAEhB,gCAAgC;IAChC,IAAI,CAAC,EAAE,WAAW,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumbs/types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzF,sBAAsB;AACtB,MAAM,WAAW,UAAU;IACvB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IAEd,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAMb,6CAA6C;IAC7C,MAAM,EAAE,OAAO,CAAC;IAEhB,gCAAgC;IAChC,IAAI,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACtD,wBAAwB;IACxB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAEzB;;;;;;;;;;;;;;;MAeE;IACF,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,GAAG,CAAC,OAAO,CAAC;IAEnD,iBAAiB;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC;CACvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/button/component/index.tsx"],"names":[],"mappings":";AAEA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAIjC;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CA4C9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/button/component/index.tsx"],"names":[],"mappings":";AAEA,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAIjC;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CA0C9D"}
@@ -13,8 +13,8 @@ export default function Button(props) {
13
13
  }
14
14
  const { light = false, outlined = false, rounded = false, isLoading = false, static: isStatic = false } = props;
15
15
  const className = getClassName([
16
- "button",
17
16
  "bbr-button",
17
+ "button",
18
18
  props.className,
19
19
  `is-${props.type}`,
20
20
  light ? "is-light" : "",
@@ -25,9 +25,9 @@ export default function Button(props) {
25
25
  isStatic ? "is-static" : "",
26
26
  ]);
27
27
  if (!isNullOrUndefined(props.icon)) {
28
- return (_jsx(ButtonWithIcon, { ...props, className: className, onClick: props.onClick, icon: props.icon }));
28
+ return (_jsx(ButtonWithIcon, { ...props, icon: props.icon, className: className }));
29
29
  }
30
30
  else {
31
- return (_jsx(SimpleButton, { ...props, className: className, onClick: props.onClick }));
31
+ return (_jsx(SimpleButton, { ...props, className: className }));
32
32
  }
33
33
  }
@@ -27,7 +27,7 @@ export interface ButtonProps extends BaseElementProps {
27
27
  export declare type ButtonType = // TODO: to enum
28
28
  "default" /** color: transparent */ | "primary" /** color: sea-wave green */ | "link" /** color: blue-violet */ | "info" /** color: sky-blue */ | "success" /** color: green */ | "warning" /** color: yellow */ | "danger" /** color: red */ | "white" /** color: white */ | "light" /** color: light-gray */ | "dark" /** color: dark-gray */ | "black" /** color: black */ | "text" /** Underline text with color: gray */ | "ghost" /** Blue underline text with color: transparent */;
29
29
  /** Simple button props type */
30
- export interface SimpleButtonProps extends Omit<ButtonProps, 'className'> {
30
+ export interface SimpleButtonProps extends Omit<ButtonProps, "className"> {
31
31
  /** Button class name*/
32
32
  className: string;
33
33
  }
@@ -17,7 +17,7 @@
17
17
  }
18
18
  }
19
19
 
20
- label#{&}__label {
20
+ #{&}__label {
21
21
  cursor: pointer;
22
22
  user-select: none;
23
23
  display: flex;
@@ -88,7 +88,7 @@
88
88
  }
89
89
 
90
90
  &.is-active {
91
- label.bbr-dropdown__label .bbr-icon.bi-arrow-down::before {
91
+ .bbr-dropdown__label .bbr-icon.bi-arrow-down::before {
92
92
  transform: rotate(180deg);
93
93
  }
94
94
  }
@@ -108,7 +108,7 @@
108
108
  }
109
109
 
110
110
  &--disabled {
111
- label.bbr-dropdown__label {
111
+ .bbr-dropdown__label {
112
112
  background-color: hsl(0deg, 0%, 96%);
113
113
  border-color: hsl(0deg, 0%, 96%);
114
114
  box-shadow: none;
@@ -1,4 +1,11 @@
1
+ import { FC } from "react";
1
2
  import { DropdownProps } from "../..";
2
- declare const DropdownCompact: ({ items, value, onSelect, deselectable, hideOnOuterClick, listMaxHeight, placeholder, compact, disabled, validationState, className, title, data, hint, }: DropdownProps) => JSX.Element;
3
+ /** Props type of `DropdownCompact` */
4
+ declare type DropdownCompactProps = DropdownProps & {
5
+ /** Manual compact dropdown identifier */
6
+ id?: string;
7
+ };
8
+ /** Dropdown component without label */
9
+ declare const DropdownCompact: FC<DropdownCompactProps>;
3
10
  export default DropdownCompact;
4
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/dropdown/components/compact/index.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,QAAA,MAAM,eAAe,8JAUlB,aAAa,KAAG,WAsHlB,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/dropdown/components/compact/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,EAAE,EAAE,MAAM,OAAO,CAAC;AAQrE,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,sCAAsC;AACtC,aAAK,oBAAoB,GAAG,aAAa,GAAG;IACxC,yCAAyC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,uCAAuC;AACvC,QAAA,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CA4J7C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -6,9 +6,12 @@ import { useComponentOutsideClick } from "../../../../hooks";
6
6
  import InternalHint from "../../../primitives/internal/hint";
7
7
  import DropdownItem from "../../components/item";
8
8
  import DropdownLabel from "../../components/label";
9
- const DropdownCompact = ({ items, value, onSelect, deselectable = false, hideOnOuterClick, listMaxHeight, placeholder, compact = false, disabled = false, validationState, className, title, data, hint, }) => {
10
- const id = useId();
9
+ /** Dropdown component without label */
10
+ const DropdownCompact = ({ items, value, onSelect, hideOnOuterClick, listMaxHeight, placeholder, noDataText = "No items found", noDataByQuery = "No items found by specified search", compact = false, disabled = false, deselectable = false, searchable = false, validationState, className, title, data, hint, id: propsId, }) => {
11
+ const generatedId = useId();
12
+ const id = propsId ?? generatedId;
11
13
  const [isListVisible, setListVisible] = useState(false);
14
+ const [searchValue, setSearchValue] = useState(null);
12
15
  const onItemClick = useCallback((event) => {
13
16
  if (disabled) {
14
17
  return;
@@ -30,6 +33,7 @@ const DropdownCompact = ({ items, value, onSelect, deselectable = false, hideOnO
30
33
  return;
31
34
  }
32
35
  onSelect(item);
36
+ setSearchValue(null);
33
37
  setListVisible(false);
34
38
  }, [setListVisible, value, items, onSelect, disabled]);
35
39
  const onLabelClick = useCallback((event) => {
@@ -42,11 +46,16 @@ const DropdownCompact = ({ items, value, onSelect, deselectable = false, hideOnO
42
46
  }
43
47
  if (target.classList.contains("bi-plus-lg")) {
44
48
  onSelect(undefined);
49
+ setSearchValue(null);
45
50
  }
46
51
  else {
47
52
  setListVisible(state => !state);
48
53
  }
49
54
  }, [onSelect, setListVisible, disabled]);
55
+ const onSearchChange = useCallback((value) => {
56
+ setSearchValue(value.length === 0 ? null : value);
57
+ onSelect(undefined);
58
+ }, [setSearchValue, onSelect]);
50
59
  useComponentOutsideClick(`[data-dropdown-id="${id}"]`, isListVisible, () => setListVisible(false), hideOnOuterClick);
51
60
  const classNames = getClassName([
52
61
  "bbr-dropdown",
@@ -58,11 +67,14 @@ const DropdownCompact = ({ items, value, onSelect, deselectable = false, hideOnO
58
67
  "dropdown",
59
68
  ]);
60
69
  const labelComponentClassName = getStyleClassName(undefined, validationState);
70
+ const filteredItems = isNullOrEmpty(searchValue)
71
+ ? items
72
+ : items.filter(({ displayValue }) => displayValue.toLocaleLowerCase().includes(searchValue.toLocaleLowerCase()));
61
73
  const dataAttributes = isNullOrUndefined(data)
62
74
  ? undefined
63
75
  : mapDataAttributes(data);
64
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: classNames, "data-dropdown-id": id, title: title, ...dataAttributes, children: [_jsx(DropdownLabel, { selectedItem: value, caption: placeholder, onClick: onLabelClick, deselectable: deselectable, className: labelComponentClassName }), _jsx("div", { className: "dropdown-menu", children: items.length > 0
65
- ? _jsx("ul", { className: "dropdown-content", style: { maxHeight: listMaxHeight }, children: items.map(item => _jsx(DropdownItem, { item: item, onClick: onItemClick, selected: value?.value === item.value }, item.id)) })
66
- : _jsx("span", { className: "dropdown-content dropdown-item", children: "No items found" }) })] }, id), _jsx(InternalHint, { hint: hint, validationState: validationState })] }));
76
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: classNames, "data-dropdown-id": id, title: title, ...dataAttributes, children: [_jsx(DropdownLabel, { selectedItem: value, caption: placeholder, onClick: onLabelClick, searchable: searchable, lastSearch: searchValue, deselectable: deselectable, isListVisible: isListVisible, onSearchChange: onSearchChange, className: labelComponentClassName }), _jsx("div", { className: "dropdown-menu", children: filteredItems.length > 0
77
+ ? _jsx("ul", { className: "dropdown-content", style: { maxHeight: listMaxHeight }, children: filteredItems.map(item => _jsx(DropdownItem, { item: item, onClick: onItemClick, selected: value?.value === item.value }, item.id)) })
78
+ : _jsx("span", { className: "dropdown-content dropdown-item", children: isNullOrEmpty(searchValue) ? noDataText : noDataByQuery }) })] }, id), _jsx(InternalHint, { hint: hint, validationState: validationState })] }));
67
79
  };
68
80
  export default DropdownCompact;
@@ -1,18 +1,2 @@
1
- import { MouseEvent } from "react";
2
- import { SelectableItem } from "../..";
3
- export interface DropdownLabelProps {
4
- /** Caption when no items selected */
5
- caption: string;
6
- /** Can user deselect */
7
- deselectable: boolean;
8
- /** Selected item */
9
- selectedItem?: SelectableItem;
10
- /** Element classnames */
11
- className?: string;
12
- /** Click handler*/
13
- onClick: (event: MouseEvent<HTMLLabelElement>) => void;
14
- }
15
- /** Label component */
16
- declare const DropdownLabel: ({ caption, selectedItem, onClick, deselectable, className, }: DropdownLabelProps) => JSX.Element;
17
- export default DropdownLabel;
1
+ export { default } from "./component";
18
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/dropdown/components/label/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAOnC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IAC/B,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAEhB,wBAAwB;IACxB,YAAY,EAAE,OAAO,CAAC;IAEtB,oBAAoB;IACpB,YAAY,CAAC,EAAE,cAAc,CAAC;IAE9B,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,mBAAmB;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC1D;AAED,sBAAsB;AACtB,QAAA,MAAM,aAAa,iEAIhB,kBAAkB,KAAG,WA4CvB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/dropdown/components/label/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -1,54 +1 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { getClassName, isNullOrEmpty, isNullOrUndefined } from "@bodynarf/utils";
3
- import { ElementPosition, ElementSize } from "../../../../types";
4
- import Icon from "../../../icon";
5
- /** Label component */
6
- const DropdownLabel = ({ caption, selectedItem, onClick, deselectable, className, }) => {
7
- if (isNullOrUndefined(selectedItem)) {
8
- return _jsx(EmptyLabel, { caption: caption, deselectable: deselectable, onClick: onClick, className: className });
9
- }
10
- if (!isNullOrUndefined(selectedItem.icon)) {
11
- return _jsx(SelectedItemLabelWithIcon, { caption: caption, deselectable: deselectable, onClick: onClick, className: className, selectedItem: selectedItem });
12
- }
13
- const elClassName = getClassName([
14
- "dropdown-trigger",
15
- "bbr-dropdown__label",
16
- isNullOrEmpty(className) ? "" : `${className}--md`,
17
- "button"
18
- ]);
19
- return (_jsxs("label", { className: elClassName, onClick: onClick, children: [deselectable &&
20
- _jsx(Icon, { name: "plus-lg", size: ElementSize.Medium }), _jsx("span", { className: deselectable ? "px-2" : "pr-2", title: selectedItem.title, children: selectedItem.displayValue }), _jsx(Icon, { name: "arrow-down", size: ElementSize.Medium })] }));
21
- };
22
- export default DropdownLabel;
23
- const EmptyLabel = ({ caption, onClick, className, }) => {
24
- const elClassName = getClassName([
25
- "dropdown-trigger",
26
- "bbr-dropdown__label",
27
- isNullOrEmpty(className) ? "" : `${className}--md`,
28
- "bbr-dropdown__label--default",
29
- "button"
30
- ]);
31
- return (_jsxs("label", { className: elClassName, onClick: onClick, children: [_jsx("span", { className: "mr-2", children: caption }), _jsx(Icon, { name: "arrow-down", size: ElementSize.Medium })] }));
32
- };
33
- const SelectedItemLabelWithIcon = ({ selectedItem, onClick, deselectable, className, }) => {
34
- const elClassName = getClassName([
35
- "dropdown-trigger",
36
- "bbr-dropdown__label",
37
- isNullOrEmpty(className) ? "" : `${className}--md`,
38
- "button"
39
- ]);
40
- const icon = selectedItem.icon;
41
- const iconClassName = getClassName([
42
- icon.className,
43
- icon.position === ElementPosition.Right
44
- ? "bbr-icon--right"
45
- : "bbr-icon--left",
46
- "bbr-dropdown-item__icon"
47
- ]);
48
- if (icon.position === ElementPosition.Right) {
49
- return (_jsxs("label", { className: elClassName, onClick: onClick, children: [deselectable &&
50
- _jsx(Icon, { name: "plus-lg", size: ElementSize.Medium }), _jsxs("span", { className: deselectable ? "px-2" : "pr-2", title: selectedItem.title, children: [selectedItem.displayValue, _jsx(Icon, { name: icon.name, size: icon.size, className: iconClassName })] }), _jsx(Icon, { name: "arrow-down", size: ElementSize.Medium })] }));
51
- }
52
- return (_jsxs("label", { className: elClassName, onClick: onClick, children: [deselectable &&
53
- _jsx(Icon, { name: "plus-lg", size: ElementSize.Medium }), _jsxs("span", { className: deselectable ? "mx-2" : "mr-2", title: selectedItem.title, children: [_jsx(Icon, { name: icon.name, size: icon.size, className: iconClassName }), selectedItem.displayValue] }), _jsx(Icon, { name: "arrow-down", size: ElementSize.Medium })] }));
54
- };
1
+ export { default } from "./component";
@@ -1,4 +1,6 @@
1
+ import { FC } from "react";
1
2
  import { DropdownProps } from "../..";
2
- declare const DropdownWithLabel: ({ items, value, onSelect, validationState, deselectable, hideOnOuterClick, listMaxHeight, label, placeholder, disabled, className, title, data, hint, }: DropdownProps) => JSX.Element;
3
+ /** Dropdown component with label */
4
+ declare const DropdownWithLabel: FC<DropdownProps>;
3
5
  export default DropdownWithLabel;
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/dropdown/components/withLabel/index.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,QAAA,MAAM,iBAAiB,4JASpB,aAAa,KAAG,WAiMlB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/dropdown/components/withLabel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAS,MAAM,OAAO,CAAC;AAKlC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,oCAAoC;AACpC,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,aAAa,CAgBxC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}