@loja-integrada/admin-components 0.14.0 → 0.15.1

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 (43) hide show
  1. package/dist/Components/TableList/TableList.d.ts +38 -0
  2. package/dist/Components/TableList/TableList.spec.d.ts +1 -0
  3. package/dist/Components/TableList/TableList.stories.d.ts +7 -0
  4. package/dist/Components/TableList/TableListItem.d.ts +3 -0
  5. package/dist/Components/TableList/TableListItem.interface.d.ts +56 -0
  6. package/dist/Components/TableList/TableListItem.spec.d.ts +1 -0
  7. package/dist/Components/TableList/TableListItem.stories.d.ts +4 -0
  8. package/dist/Components/TableList/TableListItemLoading.d.ts +3 -0
  9. package/dist/Components/TableList/TableListItemLoading.spec.d.ts +1 -0
  10. package/dist/Components/TableList/TableListItemLoading.stories.d.ts +4 -0
  11. package/dist/Components/TableList/TableListItemWrapper.d.ts +12 -0
  12. package/dist/Components/TableList/TableListItemWrapper.spec.d.ts +1 -0
  13. package/dist/Components/TableList/TableListItemWrapper.stories.d.ts +4 -0
  14. package/dist/Components/TableList/index.d.ts +1 -0
  15. package/dist/Components/index.d.ts +1 -0
  16. package/dist/Indicators/Alert/Alert.d.ts +5 -1
  17. package/dist/Navigation/Breadcrumb/index.d.ts +7 -4
  18. package/dist/admin-components.cjs.development.js +193 -5
  19. package/dist/admin-components.cjs.development.js.map +1 -1
  20. package/dist/admin-components.cjs.production.min.js +1 -1
  21. package/dist/admin-components.cjs.production.min.js.map +1 -1
  22. package/dist/admin-components.esm.js +193 -6
  23. package/dist/admin-components.esm.js.map +1 -1
  24. package/package.json +1 -1
  25. package/src/Components/TableList/TableList.spec.tsx +85 -0
  26. package/src/Components/TableList/TableList.stories.tsx +168 -0
  27. package/src/Components/TableList/TableList.tsx +168 -0
  28. package/src/Components/TableList/TableListItem.interface.ts +57 -0
  29. package/src/Components/TableList/TableListItem.spec.tsx +64 -0
  30. package/src/Components/TableList/TableListItem.stories.tsx +43 -0
  31. package/src/Components/TableList/TableListItem.tsx +63 -0
  32. package/src/Components/TableList/TableListItemLoading.spec.tsx +18 -0
  33. package/src/Components/TableList/TableListItemLoading.stories.tsx +22 -0
  34. package/src/Components/TableList/TableListItemLoading.tsx +40 -0
  35. package/src/Components/TableList/TableListItemWrapper.spec.tsx +32 -0
  36. package/src/Components/TableList/TableListItemWrapper.stories.tsx +38 -0
  37. package/src/Components/TableList/TableListItemWrapper.tsx +40 -0
  38. package/src/Components/TableList/index.tsx +1 -0
  39. package/src/Components/Timeline/TimelineItem.tsx +1 -1
  40. package/src/Components/index.ts +1 -0
  41. package/src/Indicators/Alert/Alert.tsx +9 -1
  42. package/src/Navigation/Breadcrumb/Breadcrumb.spec.tsx +12 -0
  43. package/src/Navigation/Breadcrumb/index.tsx +20 -6
@@ -2030,6 +2030,185 @@ var TableComponent = function TableComponent(_ref2) {
2030
2030
 
2031
2031
  var Table = /*#__PURE__*/React.memo(TableComponent);
2032
2032
 
2033
+ var ItemWrapperClasses = "flex relative py-6 text-f7 leading-4 break-words no-underline";
2034
+ var ItemWrapperClassesContainerHover = "before:hover:block before:hover:absolute before:hover:h-full before:hover:w-8 before:hover:top-0 before:hover:-left-8 before:hover:bg-base-2 after:hover:block after:hover:absolute after:hover:h-full after:hover:w-8 after:hover:top-0 after:hover:-right-8 after:hover:bg-base-2";
2035
+
2036
+ var DefaultWrapper = function DefaultWrapper(props) {
2037
+ var children = props.children,
2038
+ restProps = _objectWithoutPropertiesLoose(props, ["children"]);
2039
+
2040
+ return React.createElement("div", Object.assign({}, restProps), children);
2041
+ };
2042
+
2043
+ var TableListItemWrapper = function TableListItemWrapper(_ref) {
2044
+ var _ref$Wrapper = _ref.Wrapper,
2045
+ Wrapper = _ref$Wrapper === void 0 ? DefaultWrapper : _ref$Wrapper,
2046
+ _ref$props = _ref.props,
2047
+ props = _ref$props === void 0 ? {} : _ref$props,
2048
+ children = _ref.children,
2049
+ _ref$withHover = _ref.withHover,
2050
+ withHover = _ref$withHover === void 0 ? false : _ref$withHover,
2051
+ _ref$isInsideContaine = _ref.isInsideContainer,
2052
+ isInsideContainer = _ref$isInsideContaine === void 0 ? false : _ref$isInsideContaine;
2053
+ return React.createElement(Wrapper, Object.assign({
2054
+ className: "table-item-wrapper " + ItemWrapperClasses + " " + (withHover ? "hover:bg-base-2 " + (isInsideContainer ? ItemWrapperClassesContainerHover : '') : '')
2055
+ }, props), children);
2056
+ };
2057
+
2058
+ var TableListItem = function TableListItem(_ref) {
2059
+ var _ref$forceBorderDeskt = _ref.forceBorderDesktop,
2060
+ forceBorderDesktop = _ref$forceBorderDeskt === void 0 ? false : _ref$forceBorderDeskt,
2061
+ title = _ref.title,
2062
+ description = _ref.description,
2063
+ timestampTime = _ref.timestampTime,
2064
+ timestampDate = _ref.timestampDate,
2065
+ itemWrapper = _ref.itemWrapper,
2066
+ itemWrapperProps = _ref.itemWrapperProps,
2067
+ _ref$withHover = _ref.withHover,
2068
+ withHover = _ref$withHover === void 0 ? false : _ref$withHover,
2069
+ _ref$isInsideContaine = _ref.isInsideContainer,
2070
+ isInsideContainer = _ref$isInsideContaine === void 0 ? false : _ref$isInsideContaine,
2071
+ withIcon = _ref.withIcon;
2072
+ return React.createElement("div", {
2073
+ className: "table-item border-primary-bold border-opacity-10 border-t first:border-t-0 " + (forceBorderDesktop ? 'lg:first:border-t' : '')
2074
+ }, React.createElement(TableListItemWrapper, {
2075
+ Wrapper: itemWrapper,
2076
+ props: itemWrapperProps,
2077
+ withHover: withHover,
2078
+ isInsideContainer: isInsideContainer
2079
+ }, withIcon && React.createElement("div", {
2080
+ className: "table-item-icon flex items-center justify-center flex-none mr-4"
2081
+ }, React.createElement("div", {
2082
+ className: "table-item-icon-background h-8 w-8 flex items-center justify-center rounded " + (withIcon["class"] || '')
2083
+ }, React.createElement(Icon, {
2084
+ icon: withIcon.icon || 'minus',
2085
+ block: true,
2086
+ size: 5
2087
+ }))), React.createElement("div", {
2088
+ className: "table-item-content flex flex-col justify-center flex-auto gap-1.5 min-w-0 w-full"
2089
+ }, React.createElement("div", {
2090
+ className: "table-item-title text-f6 font-semibold"
2091
+ }, title), description && React.createElement("div", {
2092
+ className: "table-item-description"
2093
+ }, description)), timestampTime && React.createElement("div", {
2094
+ className: "table-item-timestamp flex flex-col justify-center items-end shrink-0 gap-1.5 ml-4 min-w-0 max-w-[50%] text-right"
2095
+ }, React.createElement("div", {
2096
+ className: "table-item-timestamp-time w-full"
2097
+ }, timestampTime), timestampDate && React.createElement("div", {
2098
+ className: "table-item-timestamp-date w-full hidden lg:block"
2099
+ }, timestampDate))));
2100
+ };
2101
+
2102
+ var TableListItemLoading = function TableListItemLoading(_ref) {
2103
+ var _ref$forceBorderDeskt = _ref.forceBorderDesktop,
2104
+ forceBorderDesktop = _ref$forceBorderDeskt === void 0 ? false : _ref$forceBorderDeskt;
2105
+ return React.createElement("div", {
2106
+ className: "table-item table-item-loading border-primary-bold border-opacity-10 border-t first:border-t-0 " + (forceBorderDesktop ? 'lg:first:border-t' : '')
2107
+ }, React.createElement(TableListItemWrapper, null, React.createElement("div", {
2108
+ className: "table-item-icon flex items-center justify-center flex-none mr-4"
2109
+ }, React.createElement("div", {
2110
+ className: "table-item-icon-background h-8 w-8 flex items-center justify-center rounded"
2111
+ }, React.createElement(LoadingPlaceholder, {
2112
+ className: "w-full"
2113
+ }))), React.createElement("div", {
2114
+ className: "table-item-content flex flex-col justify-center flex-auto gap-1.5 min-w-0 w-full"
2115
+ }, React.createElement("div", {
2116
+ className: "table-item-title text-f6 font-semibold"
2117
+ }, React.createElement(LoadingPlaceholder, {
2118
+ className: "w-2/3"
2119
+ })), React.createElement("div", {
2120
+ className: "table-item-description"
2121
+ }, React.createElement(LoadingPlaceholder, {
2122
+ className: "w-1/3"
2123
+ }))), React.createElement("div", {
2124
+ className: "table-item-timestamp flex flex-col justify-center items-end shrink-0 gap-1.5 ml-4 min-w-0 max-w-[50%] text-right"
2125
+ }, React.createElement("div", {
2126
+ className: "table-item-timestamp-time w-full"
2127
+ }, React.createElement(LoadingPlaceholder, {
2128
+ className: "w-16"
2129
+ })))));
2130
+ };
2131
+
2132
+ var groupTitleMobileClass = "before:block before:absolute before:h-0 before:w-5 before:-top-px before:-left-5 before:border-t before:border-primary-bold before:border-opacity-10 after:block after:absolute after:h-0 after:w-5 after:-top-px after:-right-5 after:border-t after:border-primary-bold after:border-opacity-10";
2133
+
2134
+ var TableListComponent = function TableListComponent(_ref) {
2135
+ var _ref$className = _ref.className,
2136
+ className = _ref$className === void 0 ? '' : _ref$className,
2137
+ itemWrapper = _ref.itemWrapper,
2138
+ _ref$items = _ref.items,
2139
+ items = _ref$items === void 0 ? [] : _ref$items,
2140
+ _ref$isLoading = _ref.isLoading,
2141
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
2142
+ _ref$empty = _ref.empty,
2143
+ empty = _ref$empty === void 0 ? {
2144
+ title: 'Nenhum registro encontrado'
2145
+ } : _ref$empty,
2146
+ _ref$withHover = _ref.withHover,
2147
+ withHover = _ref$withHover === void 0 ? false : _ref$withHover,
2148
+ _ref$isInsideContaine = _ref.isInsideContainer,
2149
+ isInsideContainer = _ref$isInsideContaine === void 0 ? false : _ref$isInsideContaine;
2150
+ var itemsMemoized = React.useMemo(function () {
2151
+ var groups = items.reduce(function (groups, item) {
2152
+ var groupTitle = item.timestampDate || item.timestampTime || 'no_title';
2153
+
2154
+ if (!groups[groupTitle]) {
2155
+ groups[groupTitle] = [];
2156
+ }
2157
+
2158
+ groups[groupTitle].push(item);
2159
+ return groups;
2160
+ }, {});
2161
+ return Object.keys(groups).map(function (groupTitle) {
2162
+ return {
2163
+ title: groupTitle,
2164
+ items: groups[groupTitle]
2165
+ };
2166
+ });
2167
+ }, [items]);
2168
+ return React.createElement("div", {
2169
+ className: "table-list tracking-tight " + className
2170
+ }, isLoading ? React.createElement("div", {
2171
+ className: "table-list-loading"
2172
+ }, React.createElement(TableListItemLoading, null), React.createElement(TableListItemLoading, null), React.createElement(TableListItemLoading, null), React.createElement(TableListItemLoading, null)) : !itemsMemoized || !itemsMemoized.length ? React.createElement("div", {
2173
+ className: "table-list-empty flex flex-col items-center justify-center gap-5 min-h-[80vh] lg:min-h-[60vh] max-w-sm mx-auto px-4"
2174
+ }, empty.illustration && React.createElement("div", {
2175
+ className: "table-list-empty-illustration text-center"
2176
+ }, empty.illustration), React.createElement("div", {
2177
+ className: "table-list-empty-title text-center text-f4 font-semibold text-primary-bold leading-7"
2178
+ }, empty.title), empty.subTitle && React.createElement("div", {
2179
+ className: "table-list-empty-subtitle text-center text-f6 text-on-base-2 leading-6 -mt-1"
2180
+ }, empty.subTitle), empty.action && React.createElement("div", {
2181
+ className: "table-list-empty-action text-center"
2182
+ }, empty.action)) : itemsMemoized.map(function (group, indexGroup) {
2183
+ return React.createElement("div", {
2184
+ key: "group-items-" + indexGroup,
2185
+ className: "table-list-group"
2186
+ }, group.title && group.title !== 'no_title' && React.createElement("div", {
2187
+ className: "table-list-title relative lg:hidden border-primary-bold border-opacity-10 " + (indexGroup !== 0 ? "border-t " + (isInsideContainer ? groupTitleMobileClass : '') : '')
2188
+ }, React.createElement("span", {
2189
+ className: "text-f5 text-on-base-2 leading-4 break-words inline-block pt-6 pb-2"
2190
+ }, group.title)), React.createElement("div", {
2191
+ className: "group-items"
2192
+ }, group.items.map(function (item, indexItem) {
2193
+ return React.createElement(TableListItem, {
2194
+ key: "group-item-" + indexItem,
2195
+ forceBorderDesktop: indexItem === 0 && indexGroup !== 0,
2196
+ title: item.title,
2197
+ description: item.description,
2198
+ timestampTime: item.timestampTime,
2199
+ timestampDate: item.timestampDate,
2200
+ itemWrapper: itemWrapper,
2201
+ itemWrapperProps: item.itemWrapperProps,
2202
+ withIcon: item.withIcon,
2203
+ withHover: withHover,
2204
+ isInsideContainer: isInsideContainer
2205
+ });
2206
+ })));
2207
+ }));
2208
+ };
2209
+
2210
+ var TableList = /*#__PURE__*/React.memo(TableListComponent);
2211
+
2033
2212
  var activeStyles = function activeStyles(active) {
2034
2213
  return active ? "border-primary font-semibold" : "border-transparent";
2035
2214
  }; // When using bold at hover, prevent text shift
@@ -2140,7 +2319,7 @@ var TimelineItem = function TimelineItem(_ref) {
2140
2319
  size: 3,
2141
2320
  className: "mr-1"
2142
2321
  }), item.timestamp), item.description && React.createElement("div", {
2143
- className: "timeline-description overflow-hidden text-sm tracking-4 text-inverted-1 break-words transition-max-height " + (isOpen ? 'max-h-96' : 'max-h-0')
2322
+ className: "timeline-description mt-1 overflow-hidden text-sm tracking-4 text-inverted-1 break-words transition-max-height " + (isOpen ? 'max-h-96' : 'max-h-0')
2144
2323
  }, item.description)));
2145
2324
  };
2146
2325
 
@@ -2315,7 +2494,8 @@ var AlertComponent = function AlertComponent(_ref) {
2315
2494
  showClose = _ref$showClose === void 0 ? false : _ref$showClose,
2316
2495
  onClose = _ref.onClose,
2317
2496
  _ref$hideIcon = _ref.hideIcon,
2318
- hideIcon = _ref$hideIcon === void 0 ? false : _ref$hideIcon;
2497
+ hideIcon = _ref$hideIcon === void 0 ? false : _ref$hideIcon,
2498
+ customIcon = _ref.customIcon;
2319
2499
 
2320
2500
  var _useState = useState(isOpen),
2321
2501
  alertIsOpen = _useState[0],
@@ -2336,7 +2516,7 @@ var AlertComponent = function AlertComponent(_ref) {
2336
2516
  }, !hideIcon && React.createElement("div", {
2337
2517
  className: "alert-icon hidden sm:block flex-shrink-0 mr-3 " + alertTypes[type].iconClass
2338
2518
  }, React.createElement(Icon, {
2339
- icon: alertTypes[type].icon,
2519
+ icon: customIcon ? customIcon : alertTypes[type].icon,
2340
2520
  size: 6
2341
2521
  })), React.createElement("div", {
2342
2522
  className: "flex-grow flex flex-col sm:flex-row items-start sm:items-center justify-between min-w-0"
@@ -2917,6 +3097,11 @@ var Header = function Header(_ref2) {
2917
3097
  ContainerComponent.Header = Header;
2918
3098
  var Container$1 = ContainerComponent;
2919
3099
 
3100
+ var actionsDisplayClass = {
3101
+ both: 'flex',
3102
+ desktop: 'hidden lg:flex',
3103
+ mobile: 'flex lg:hidden'
3104
+ };
2920
3105
  var Breadcrumb = /*#__PURE__*/React.memo(function (_ref) {
2921
3106
  var Link = _ref.Link,
2922
3107
  currentTitle = _ref.currentTitle,
@@ -2926,6 +3111,8 @@ var Breadcrumb = /*#__PURE__*/React.memo(function (_ref) {
2926
3111
  mobileAlign = _ref$mobileAlign === void 0 ? 'left' : _ref$mobileAlign,
2927
3112
  help = _ref.help,
2928
3113
  actions = _ref.actions,
3114
+ _ref$actionsDisplay = _ref.actionsDisplay,
3115
+ actionsDisplay = _ref$actionsDisplay === void 0 ? 'both' : _ref$actionsDisplay,
2929
3116
  _ref$className = _ref.className,
2930
3117
  className = _ref$className === void 0 ? '' : _ref$className;
2931
3118
  var renderPrevTitle = React.createElement("span", {
@@ -2967,7 +3154,7 @@ var Breadcrumb = /*#__PURE__*/React.memo(function (_ref) {
2967
3154
  className: "header-navigation-breadcrumb max-w-full truncate w-full"
2968
3155
  }, React.createElement("div", {
2969
3156
  className: "w-full inline-flex self-center items-center font-semibold tracking-5 text-f5 sm:text-f4 lg:text-f3"
2970
- }, (previousTitle || previousHref) && React.createElement("span", {
3157
+ }, (previousTitle || previousHref || Link) && React.createElement("span", {
2971
3158
  className: "header-navigation-previous inline-flex items-center text-on-base-2 text-xl -mr-px truncate"
2972
3159
  }, renderPrevLink(), previousTitle && React.createElement("span", {
2973
3160
  className: "hidden lg:inline px-2 -ml-px"
@@ -2990,7 +3177,7 @@ var Breadcrumb = /*#__PURE__*/React.memo(function (_ref) {
2990
3177
  }), help.title && React.createElement("span", {
2991
3178
  className: "text-f6 font-semibold tracking-4 leading-6 ml-2 " + (!help.mobileText ? 'hidden md:inline' : '')
2992
3179
  }, help.title))), actions && React.createElement("div", {
2993
- className: "header-navigation-actions flex items-center gap-5"
3180
+ className: "header-navigation-actions items-center gap-5 " + (actionsDisplayClass[actionsDisplay] || '')
2994
3181
  }, actions)));
2995
3182
  });
2996
3183
 
@@ -3158,5 +3345,5 @@ var PaginationComponent = function PaginationComponent(_ref) {
3158
3345
 
3159
3346
  var Pagination = /*#__PURE__*/React.memo(PaginationComponent);
3160
3347
 
3161
- export { ActionBar, Alert, Badge, Box, Breadcrumb, Button, Checkbox, Container$1 as Container, Dropdown, Icon, Input, InputCurrency, InputCurrencyComponent, InputHelpText, InputLabel, InputMask, LoadingPlaceholder, Modal, Pagination, Select, SelectComponent, Sidebar, SidebarItem, SidebarSubItem, Status, Table, Tabs, Timeline, Toast, Toggle, Tooltip, Topbar, sizeClasses, varianErrorClasses, variantControlClasses, variantDisabledClasses, variantSelectedClasses, variantValueClasses };
3348
+ export { ActionBar, Alert, Badge, Box, Breadcrumb, Button, Checkbox, Container$1 as Container, Dropdown, Icon, Input, InputCurrency, InputCurrencyComponent, InputHelpText, InputLabel, InputMask, LoadingPlaceholder, Modal, Pagination, Select, SelectComponent, Sidebar, SidebarItem, SidebarSubItem, Status, Table, TableList, Tabs, Timeline, Toast, Toggle, Tooltip, Topbar, sizeClasses, varianErrorClasses, variantControlClasses, variantDisabledClasses, variantSelectedClasses, variantValueClasses };
3162
3349
  //# sourceMappingURL=admin-components.esm.js.map