@loja-integrada/admin-components 0.14.1 → 0.15.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 (40) 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/Navigation/Breadcrumb/index.d.ts +5 -2
  17. package/dist/admin-components.cjs.development.js +188 -1
  18. package/dist/admin-components.cjs.development.js.map +1 -1
  19. package/dist/admin-components.cjs.production.min.js +1 -1
  20. package/dist/admin-components.cjs.production.min.js.map +1 -1
  21. package/dist/admin-components.esm.js +188 -2
  22. package/dist/admin-components.esm.js.map +1 -1
  23. package/package.json +1 -1
  24. package/src/Components/TableList/TableList.spec.tsx +85 -0
  25. package/src/Components/TableList/TableList.stories.tsx +168 -0
  26. package/src/Components/TableList/TableList.tsx +168 -0
  27. package/src/Components/TableList/TableListItem.interface.ts +57 -0
  28. package/src/Components/TableList/TableListItem.spec.tsx +64 -0
  29. package/src/Components/TableList/TableListItem.stories.tsx +43 -0
  30. package/src/Components/TableList/TableListItem.tsx +63 -0
  31. package/src/Components/TableList/TableListItemLoading.spec.tsx +18 -0
  32. package/src/Components/TableList/TableListItemLoading.stories.tsx +22 -0
  33. package/src/Components/TableList/TableListItemLoading.tsx +40 -0
  34. package/src/Components/TableList/TableListItemWrapper.spec.tsx +32 -0
  35. package/src/Components/TableList/TableListItemWrapper.stories.tsx +38 -0
  36. package/src/Components/TableList/TableListItemWrapper.tsx +40 -0
  37. package/src/Components/TableList/index.tsx +1 -0
  38. package/src/Components/index.ts +1 -0
  39. package/src/Navigation/Breadcrumb/Breadcrumb.spec.tsx +12 -0
  40. package/src/Navigation/Breadcrumb/index.tsx +17 -3
@@ -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
@@ -2918,6 +3097,11 @@ var Header = function Header(_ref2) {
2918
3097
  ContainerComponent.Header = Header;
2919
3098
  var Container$1 = ContainerComponent;
2920
3099
 
3100
+ var actionsDisplayClass = {
3101
+ both: 'flex',
3102
+ desktop: 'hidden lg:flex',
3103
+ mobile: 'flex lg:hidden'
3104
+ };
2921
3105
  var Breadcrumb = /*#__PURE__*/React.memo(function (_ref) {
2922
3106
  var Link = _ref.Link,
2923
3107
  currentTitle = _ref.currentTitle,
@@ -2927,6 +3111,8 @@ var Breadcrumb = /*#__PURE__*/React.memo(function (_ref) {
2927
3111
  mobileAlign = _ref$mobileAlign === void 0 ? 'left' : _ref$mobileAlign,
2928
3112
  help = _ref.help,
2929
3113
  actions = _ref.actions,
3114
+ _ref$actionsDisplay = _ref.actionsDisplay,
3115
+ actionsDisplay = _ref$actionsDisplay === void 0 ? 'both' : _ref$actionsDisplay,
2930
3116
  _ref$className = _ref.className,
2931
3117
  className = _ref$className === void 0 ? '' : _ref$className;
2932
3118
  var renderPrevTitle = React.createElement("span", {
@@ -2991,7 +3177,7 @@ var Breadcrumb = /*#__PURE__*/React.memo(function (_ref) {
2991
3177
  }), help.title && React.createElement("span", {
2992
3178
  className: "text-f6 font-semibold tracking-4 leading-6 ml-2 " + (!help.mobileText ? 'hidden md:inline' : '')
2993
3179
  }, help.title))), actions && React.createElement("div", {
2994
- className: "header-navigation-actions flex items-center gap-5"
3180
+ className: "header-navigation-actions items-center gap-5 " + (actionsDisplayClass[actionsDisplay] || '')
2995
3181
  }, actions)));
2996
3182
  });
2997
3183
 
@@ -3159,5 +3345,5 @@ var PaginationComponent = function PaginationComponent(_ref) {
3159
3345
 
3160
3346
  var Pagination = /*#__PURE__*/React.memo(PaginationComponent);
3161
3347
 
3162
- 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 };
3163
3349
  //# sourceMappingURL=admin-components.esm.js.map