@loja-integrada/admin-components 0.12.8 → 0.14.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 (29) hide show
  1. package/dist/Components/Button/Button.d.ts +5 -0
  2. package/dist/Components/Button/Button.stories.d.ts +1 -0
  3. package/dist/Icons/icons-path/Back.d.ts +2 -0
  4. package/dist/Icons/icons-path/HalfBack.d.ts +2 -0
  5. package/dist/Icons/icons-path/User.d.ts +2 -0
  6. package/dist/Icons/icons-path/index.d.ts +3 -0
  7. package/dist/Navigation/Breadcrumb/Breadcrumb.stories.d.ts +4 -0
  8. package/dist/Navigation/Breadcrumb/index.d.ts +17 -0
  9. package/dist/admin-components.cjs.development.js +68 -17
  10. package/dist/admin-components.cjs.development.js.map +1 -1
  11. package/dist/admin-components.cjs.production.min.js +1 -1
  12. package/dist/admin-components.cjs.production.min.js.map +1 -1
  13. package/dist/admin-components.esm.js +68 -17
  14. package/dist/admin-components.esm.js.map +1 -1
  15. package/package.json +10 -6
  16. package/src/Components/Button/Button.spec.tsx +4 -0
  17. package/src/Components/Button/Button.stories.tsx +6 -0
  18. package/src/Components/Button/Button.tsx +19 -2
  19. package/src/Components/LoadingPlaceholder/LoadingPlaceholder.stories.tsx +1 -1
  20. package/src/Icons/Icon.stories.tsx +6 -4
  21. package/src/Icons/icons-path/Back.tsx +5 -0
  22. package/src/Icons/icons-path/HalfBack.tsx +12 -0
  23. package/src/Icons/icons-path/User.tsx +9 -0
  24. package/src/Icons/icons-path/index.ts +6 -0
  25. package/src/Layout/Sidebar/Sidebar.tsx +2 -2
  26. package/src/Navigation/Breadcrumb/Breadcrumb.spec.tsx +23 -1
  27. package/src/Navigation/Breadcrumb/Breadcrumb.stories.tsx +39 -0
  28. package/src/Navigation/Breadcrumb/index.tsx +81 -15
  29. package/src/Components/Button/Button.test.tsx +0 -31
@@ -28,6 +28,11 @@ export interface ButtonProps extends ButtonAnchorProps {
28
28
  * Icon of the button
29
29
  */
30
30
  icon?: IconProps['icon'];
31
+ /**
32
+ * Icon of the button
33
+ * @default 'right'
34
+ */
35
+ iconPosition?: 'left' | 'right';
31
36
  /**
32
37
  * React children
33
38
  * Also support render prop
@@ -8,3 +8,4 @@ export declare const Action: import("@storybook/csf").AnnotatedStoryFn<import("@
8
8
  export declare const Disabled: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, ButtonProps>;
9
9
  export declare const Loading: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, ButtonProps>;
10
10
  export declare const WithLink: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, ButtonProps>;
11
+ export declare const WithIcon: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, ButtonProps>;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Back: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const HalfBack: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const User: () => JSX.Element;
@@ -9,6 +9,7 @@ export declare const icons: {
9
9
  arrowLeft: () => JSX.Element;
10
10
  arrowRight: () => JSX.Element;
11
11
  sortDown: () => JSX.Element;
12
+ back: () => JSX.Element;
12
13
  ban: () => JSX.Element;
13
14
  barcodeRead: () => JSX.Element;
14
15
  bell: () => JSX.Element;
@@ -29,6 +30,7 @@ export declare const icons: {
29
30
  exclamationCircle: () => JSX.Element;
30
31
  exclamationTriangle: () => JSX.Element;
31
32
  externalLink: () => JSX.Element;
33
+ halfBack: () => JSX.Element;
32
34
  home: () => JSX.Element;
33
35
  image: () => JSX.Element;
34
36
  moneyBill: () => JSX.Element;
@@ -53,4 +55,5 @@ export declare const icons: {
53
55
  usdCircle: () => JSX.Element;
54
56
  questionCircle: () => JSX.Element;
55
57
  sync: () => JSX.Element;
58
+ user: () => JSX.Element;
56
59
  };
@@ -5,3 +5,7 @@ export declare const Default: import("@storybook/csf").AnnotatedStoryFn<import("
5
5
  export declare const NoPrevious: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, BreadcrumbProps>;
6
6
  export declare const WithPrevious: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, BreadcrumbProps>;
7
7
  export declare const WithPreviousCustom: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, BreadcrumbProps>;
8
+ export declare const WithoutPreviousTitle: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, BreadcrumbProps>;
9
+ export declare const WithMobileCenter: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, BreadcrumbProps>;
10
+ export declare const WithHelp: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, BreadcrumbProps>;
11
+ export declare const WithActions: import("@storybook/csf").AnnotatedStoryFn<import("@storybook/react").ReactFramework, BreadcrumbProps>;
@@ -22,4 +22,21 @@ export interface BreadcrumbProps {
22
22
  * Example: `const Link = (props: any) => { return <a href="https://www.google.com" target="_blank" className={`underline ` + props.className}>{props.children}</a> }`
23
23
  * */
24
24
  Link?: React.ElementType;
25
+ /**
26
+ * Aligment of `currentTitle` at mobile
27
+ * @default 'left'
28
+ * */
29
+ mobileAlign?: 'left' | 'center';
30
+ /**
31
+ * Help link (external page)
32
+ * */
33
+ help?: {
34
+ title?: string;
35
+ href: string;
36
+ mobileText?: boolean;
37
+ };
38
+ /**
39
+ * Custom actions and buttons
40
+ * */
41
+ actions?: React.ReactNode;
25
42
  }
@@ -122,6 +122,12 @@ var ArrowRight = function ArrowRight() {
122
122
  });
123
123
  };
124
124
 
125
+ var Back = function Back() {
126
+ return React__default.createElement("path", {
127
+ d: "M5.5495 4.26c.282-.303.265-.777-.039-1.06-.304-.281-.778-.264-1.061.039l-3.25 3.5c-.266.289-.266.734 0 1.021l3.25 3.5c.149.159.349.24.55.24.183 0 .366-.066.511-.2.304-.282.321-.757.039-1.061L3.4695 8H13V6.5H3.4695l2.08-2.24ZM13 6.5V8c.5926-.00007 1.1679.22038 1.6206.60807.4916.42109.8001 1.01704.8599 1.66163.0599.6445-.1335 1.2871-.5393 1.7915-.4057.5044-.9918.8311-1.6342.9108l.1858 1.4976c1.0316-.1281 1.9728-.6526 2.6243-1.4626.6515-.81.9621-1.8418.866-2.8769-.0962-1.03499-.5914-1.99196-1.3809-2.66814C14.8753 6.83943 13.9516 6.49992 13 6.5Z"
128
+ });
129
+ };
130
+
125
131
  var Ban = function Ban() {
126
132
  return React__default.createElement("path", {
127
133
  fillRule: "evenodd",
@@ -282,6 +288,16 @@ var ExternalLink = function ExternalLink() {
282
288
  });
283
289
  };
284
290
 
291
+ var HalfBack = function HalfBack() {
292
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("path", {
293
+ fillRule: "evenodd",
294
+ clipRule: "evenodd",
295
+ d: "m15.8384 13.3186-.0174-.0196-.9881-1.1119c.0374-.0406.0735-.0826.1083-.1259.4058-.5044.5992-1.1469.5393-1.7915-.0598-.64458-.3683-1.24053-.8599-1.66162-.4527-.38769-1.028-.60814-1.6206-.60807h-1.8884l-1.33319-1.5H13c.9516-.00008 1.8753.33943 2.6022.96196.7895.67618 1.2847 1.63314 1.3809 2.66823.0961 1.035-.2145 2.0668-.866 2.8768-.0878.1091-.1808.2131-.2787.3116Zm-1.2441.85c-.3479.1512-.7185.2534-1.1015.301l-.1858-1.4976c.0657-.0081.1308-.0188.1951-.0321l1.0922 1.2287ZM9.11111 8.00001l-1.33333-1.5H3.4695l2.08-2.24c.04231-.04545.07788-.09476.10677-.14669l-.9404-1.05796c-.0981.03985-.18931.10115-.26637.18365l-3.25 3.5c-.266.289-.266.734 0 1.021l3.25 3.49999c.149.159.349.24.55.24.183 0 .366-.066.511-.2.304-.282.321-.757.039-1.061l-2.08-2.23899h5.64161Z"
296
+ }), React__default.createElement("path", {
297
+ d: "m14.366 13.912-.545-.613-2.476-2.786-5.289-5.951-2.028-2.281L2 0H0l2.02756 2.281L16 18h2l-3.634-4.088Z"
298
+ }));
299
+ };
300
+
285
301
  var Home = function Home() {
286
302
  return React__default.createElement("path", {
287
303
  fillRule: "evenodd",
@@ -521,6 +537,14 @@ var AngleWidth = function AngleWidth() {
521
537
  }));
522
538
  };
523
539
 
540
+ var User = function User() {
541
+ return React__default.createElement("path", {
542
+ fillRule: "evenodd",
543
+ d: "M10.707 0H7.293C5.803 0 4.644 1.295 4.809 2.776L5.253 6.776C5.394 8.042 6.464 9 7.737 9H10.263C11.536 9 12.606 8.042 12.747 6.776L13.191 2.776C13.356 1.295 12.196 0 10.707 0M10.707 1.5C11.096 1.5 11.341 1.709 11.452 1.833C11.563 1.958 11.743 2.224 11.701 2.61L11.256 6.61C11.2 7.118 10.772 7.5 10.263 7.5H7.737C7.228 7.5 6.8 7.118 6.743 6.61L6.299 2.61C6.256 2.224 6.436 1.958 6.548 1.833C6.659 1.709 6.904 1.5 7.293 1.5H10.707M14.012 11.5H3.988C1.658 11.5 0 13.228 0 15.807C0 17.578 0.783 18 2.02 18H15.979C17.43 18 18 17.152 18 15.807C18 13.231 16.342 11.5 14.012 11.5M14.012 13C14.716 13 15.367 13.285 15.846 13.801C16.324 14.318 16.504 14.84 16.504 15.692C16.504 16.158 16.384 16.5 15.979 16.5H2.02C1.723 16.5 1.496 16.267 1.496 15.692C1.496 14.974 1.675 14.318 2.154 13.801C2.633 13.285 3.284 13 3.988 13H14.012",
544
+ clipRule: "evenodd"
545
+ });
546
+ };
547
+
524
548
  var icons = {
525
549
  angleLeft: AngleLeft,
526
550
  angleRight: AngleRight,
@@ -531,6 +555,7 @@ var icons = {
531
555
  arrowLeft: ArrowLeft,
532
556
  arrowRight: ArrowRight,
533
557
  sortDown: SortDown,
558
+ back: Back,
534
559
  ban: Ban,
535
560
  barcodeRead: BarcodeRead,
536
561
  bell: Bell,
@@ -551,6 +576,7 @@ var icons = {
551
576
  exclamationCircle: ExclamationCircle,
552
577
  exclamationTriangle: ExclamationTriangle,
553
578
  externalLink: ExternalLink,
579
+ halfBack: HalfBack,
554
580
  home: Home,
555
581
  image: Image,
556
582
  moneyBill: MoneyBill,
@@ -574,7 +600,8 @@ var icons = {
574
600
  truck: Truck,
575
601
  usdCircle: UsdCircle,
576
602
  questionCircle: QuestionCircle,
577
- sync: Sync
603
+ sync: Sync,
604
+ user: User
578
605
  };
579
606
 
580
607
  var iconSizes = {
@@ -698,7 +725,9 @@ var ButtonComponent = function ButtonComponent(_ref2, ref) {
698
725
  onClick = _ref2.onClick,
699
726
  _ref2$size = _ref2.size,
700
727
  size = _ref2$size === void 0 ? 'default' : _ref2$size,
701
- props = _objectWithoutPropertiesLoose(_ref2, ["children", "loading", "variant", "fullWidth", "icon", "disabled", "className", "onClick", "size"]);
728
+ _ref2$iconPosition = _ref2.iconPosition,
729
+ iconPosition = _ref2$iconPosition === void 0 ? 'right' : _ref2$iconPosition,
730
+ props = _objectWithoutPropertiesLoose(_ref2, ["children", "loading", "variant", "fullWidth", "icon", "disabled", "className", "onClick", "size", "iconPosition"]);
702
731
 
703
732
  var handleClick = function handleClick(event) {
704
733
  (!disabled || !loading) && onClick && onClick(event);
@@ -723,9 +752,13 @@ var ButtonComponent = function ButtonComponent(_ref2, ref) {
723
752
  className: classes,
724
753
  disabled: disabled,
725
754
  onClick: handleClick
726
- }, props), children, currentIcon && React__default.createElement(Icon, {
755
+ }, props), currentIcon && iconPosition === 'left' && React__default.createElement(Icon, {
727
756
  icon: currentIcon,
728
- size: 4,
757
+ size: size === 'small' ? 3 : 4,
758
+ className: "mr-2 inline-block"
759
+ }), children, currentIcon && iconPosition === 'right' && React__default.createElement(Icon, {
760
+ icon: currentIcon,
761
+ size: size === 'small' ? 3 : 4,
729
762
  className: "ml-3 inline-block"
730
763
  }));
731
764
  };
@@ -2897,14 +2930,20 @@ var Breadcrumb = /*#__PURE__*/React__default.memo(function (_ref) {
2897
2930
  currentTitle = _ref.currentTitle,
2898
2931
  previousTitle = _ref.previousTitle,
2899
2932
  previousHref = _ref.previousHref,
2933
+ _ref$mobileAlign = _ref.mobileAlign,
2934
+ mobileAlign = _ref$mobileAlign === void 0 ? 'left' : _ref$mobileAlign,
2935
+ help = _ref.help,
2936
+ actions = _ref.actions,
2900
2937
  _ref$className = _ref.className,
2901
2938
  className = _ref$className === void 0 ? '' : _ref$className;
2902
2939
  var renderPrevTitle = React__default.createElement("span", {
2903
- className: "hidden lg:inline"
2940
+ className: "hidden lg:inline truncate"
2904
2941
  }, previousTitle);
2905
2942
  var renderPrevIcon = React__default.createElement(Icon, {
2906
2943
  icon: "arrowLeft",
2907
- className: "w-4 h-4 inline-flex mr-3 lg:-mt-1"
2944
+ size: 4,
2945
+ className: "inline-flex mr-3 -mt-1",
2946
+ block: true
2908
2947
  });
2909
2948
 
2910
2949
  var renderPrevLink = function renderPrevLink() {
@@ -2931,24 +2970,36 @@ var Breadcrumb = /*#__PURE__*/React__default.memo(function (_ref) {
2931
2970
 
2932
2971
  return React__default.createElement("div", {
2933
2972
  "aria-label": "breadcrumbs",
2934
- className: "header-navigation flex flex-wrap items-center justify-between mb-4 lg:mb-7 " + className
2973
+ className: "header-navigation flex items-center justify-between mb-4 lg:mb-7 " + className
2935
2974
  }, React__default.createElement("div", {
2936
- className: "header-navigation-breadcrumb max-w-full truncate"
2975
+ className: "header-navigation-breadcrumb max-w-full truncate w-full"
2937
2976
  }, React__default.createElement("div", {
2938
- className: "inline-flex self-center items-center font-semibold tracking-5 text-f5 sm:text-f4 lg:text-f3"
2939
- }, previousTitle && React__default.createElement("span", {
2940
- className: "header-navigation-previous inline-flex items-center text-on-base-2 text-xl -mr-px"
2941
- }, renderPrevLink(), React__default.createElement("span", {
2977
+ className: "w-full inline-flex self-center items-center font-semibold tracking-5 text-f5 sm:text-f4 lg:text-f3"
2978
+ }, (previousTitle || previousHref) && React__default.createElement("span", {
2979
+ className: "header-navigation-previous inline-flex items-center text-on-base-2 text-xl -mr-px truncate"
2980
+ }, renderPrevLink(), previousTitle && React__default.createElement("span", {
2942
2981
  className: "hidden lg:inline px-2 -ml-px"
2943
2982
  }, " / ")), React__default.createElement("span", {
2944
- className: "header-navigation-current text-on-base"
2983
+ className: "header-navigation-current text-on-base truncate " + (mobileAlign === 'center' ? 'w-full lg:w-auto text-center lg:text-left' : '')
2945
2984
  }, currentTitle))), React__default.createElement("div", {
2946
- className: "header-navigation-content flex items-center flex-grow justify-end"
2985
+ className: "header-navigation-content flex shrink-0 max-w-1/2 items-center flex-grow justify-end gap-5 ml-2 whitespace-nowrap"
2947
2986
  }, React__default.createElement("div", {
2948
2987
  className: "header-navigation-help help flex items-center"
2949
- }), React__default.createElement("div", {
2950
- className: "header-navigation-actions flex items-center"
2951
- })));
2988
+ }, help && React__default.createElement("a", {
2989
+ href: help.href,
2990
+ target: "_blank",
2991
+ rel: "noreferrer",
2992
+ className: "flex p-1 pr-0 text-on-base-2 hover:text-on-base duration-200 transition-colors items-center"
2993
+ }, React__default.createElement(Icon, {
2994
+ icon: "questionCircle",
2995
+ size: 4,
2996
+ className: "shrink-0",
2997
+ block: true
2998
+ }), help.title && React__default.createElement("span", {
2999
+ className: "text-f6 font-semibold tracking-4 leading-6 ml-2 " + (!help.mobileText ? 'hidden md:inline' : '')
3000
+ }, help.title))), actions && React__default.createElement("div", {
3001
+ className: "header-navigation-actions flex items-center gap-5"
3002
+ }, actions)));
2952
3003
  });
2953
3004
 
2954
3005
  var PaginationInfoComponent = function PaginationInfoComponent(_ref) {