@conveyorhq/arrow-ds 1.19.2 → 1.22.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 (48) hide show
  1. package/package.json +1 -1
  2. package/public/components/Frame/Frame.d.ts +1 -1
  3. package/public/components/Icon/Icon.d.ts +1 -0
  4. package/public/components/Icon/Icon.js +3 -1
  5. package/public/components/Table/Table.d.ts +3 -1
  6. package/public/components/Table/Table.js +10 -3
  7. package/public/components/Table/TableCell.js +3 -1
  8. package/public/components/Table/index.d.ts +3 -0
  9. package/public/components/VendorLogo/VendorLogo.d.ts +3 -2
  10. package/public/components/VendorLogo/VendorLogo.js +2 -2
  11. package/public/css/styles.css +6766 -1482
  12. package/public/css/styles.min.css +1 -1
  13. package/public/css/styles.min.css.map +1 -1
  14. package/public/tokens/_tailwind-config.d.ts +655 -236
  15. package/public/tokens/_tailwind-config.js +2 -2
  16. package/public/tokens/height.d.ts +65 -43
  17. package/public/tokens/height.js +3 -44
  18. package/public/tokens/index.d.ts +525 -173
  19. package/public/tokens/index.js +1 -1
  20. package/public/tokens/margin.d.ts +129 -47
  21. package/public/tokens/margin.js +3 -47
  22. package/public/tokens/padding.d.ts +65 -24
  23. package/public/tokens/padding.js +2 -24
  24. package/public/tokens/sizing-scale.d.ts +133 -0
  25. package/public/tokens/sizing-scale.js +136 -0
  26. package/public/tokens/width.d.ts +197 -63
  27. package/public/tokens/width.js +6 -63
  28. package/public/types/index.d.ts +3 -2
  29. package/public/types/index.js +2 -4
  30. package/src/components/Frame/Frame.story.mdx +140 -5
  31. package/src/components/Frame/Frame.tsx +1 -1
  32. package/src/components/Frame/index.css +8 -13
  33. package/src/components/Icon/Icon.tsx +3 -0
  34. package/src/components/Table/Table.story.mdx +90 -0
  35. package/src/components/Table/Table.tsx +32 -1
  36. package/src/components/Table/TableCell.tsx +8 -1
  37. package/src/components/Table/index.css +58 -6
  38. package/src/components/Table/index.ts +3 -0
  39. package/src/components/TopBar/index.css +2 -1
  40. package/src/components/VendorLogo/VendorLogo.tsx +11 -4
  41. package/src/tokens/_tailwind-config.ts +1 -2
  42. package/src/tokens/height.ts +3 -44
  43. package/src/tokens/index.ts +2 -2
  44. package/src/tokens/margin.ts +4 -47
  45. package/src/tokens/padding.ts +3 -24
  46. package/src/tokens/sizing-scale.ts +134 -0
  47. package/src/tokens/width.ts +7 -63
  48. package/src/types/index.ts +8 -5
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@conveyorhq/arrow-ds",
3
3
  "author": "Conveyor",
4
4
  "license": "MIT",
5
- "version": "1.19.2",
5
+ "version": "1.22.0",
6
6
  "description": "Arrow Design System",
7
7
  "repository": "https://github.com/conveyor/arrow-ds",
8
8
  "publishConfig": {
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from "react";
2
- declare type FrameAreaName = "appbar" | "topbar" | "main" | "bottombar";
2
+ declare type FrameAreaName = "navbar" | "appbar" | "topbar" | "main" | "bottombar";
3
3
  interface FrameProps {
4
4
  children: ReactNode;
5
5
  }
@@ -87,6 +87,7 @@ export declare enum ICON_TYPE {
87
87
  SEARCH = "search",
88
88
  SHARE_ALT = "share-alt",
89
89
  SHIELD_ALT = "shield-alt",
90
+ SIGN_OUT_ALT = "sign-out-alt",
90
91
  SIGNATURE = "signature",
91
92
  SLIDERS_H = "sliders-h",
92
93
  SORT = "sort",
@@ -114,6 +114,7 @@ const faScroll_1 = require("@fortawesome/free-solid-svg-icons/faScroll");
114
114
  const faSearch_1 = require("@fortawesome/free-solid-svg-icons/faSearch");
115
115
  const faShareAlt_1 = require("@fortawesome/free-solid-svg-icons/faShareAlt");
116
116
  const faShieldAlt_1 = require("@fortawesome/free-solid-svg-icons/faShieldAlt");
117
+ const faSignOutAlt_1 = require("@fortawesome/free-solid-svg-icons/faSignOutAlt");
117
118
  const faSignature_1 = require("@fortawesome/free-solid-svg-icons/faSignature");
118
119
  const faSlidersH_1 = require("@fortawesome/free-solid-svg-icons/faSlidersH");
119
120
  const faSort_1 = require("@fortawesome/free-solid-svg-icons/faSort");
@@ -140,7 +141,7 @@ const status_1 = require("../../contexts/status");
140
141
  const types_1 = require("../../types");
141
142
  const utilities_1 = require("../../utilities");
142
143
  const cn = utilities_1.bemHOF("Icon");
143
- fontawesome_svg_core_1.library.add(faArchive_1.faArchive, faArrowDown_1.faArrowDown, faArrowLeft_1.faArrowLeft, faArrowRight_1.faArrowRight, faArrowUp_1.faArrowUp, faBackward_1.faBackward, faBan_1.faBan, faBatteryHalf_1.faBatteryHalf, faBed_1.faBed, faBell_1.faBell, faBolt_1.faBolt, faCalculator_1.faCalculator, faCalendar_1.faCalendar, faCaretDown_1.faCaretDown, faCaretUp_1.faCaretUp, faCheck_1.faCheck, faCheckCircle_2.faCheckCircle, faCheckCircle_1.faCheckCircle, faChevronDown_1.faChevronDown, faChevronLeft_1.faChevronLeft, faChevronRight_1.faChevronRight, faChevronUp_1.faChevronUp, faCircle_2.faCircle, faCircleNotch_1.faCircleNotch, faCircle_1.faCircle, faClipboard_1.faClipboard, faClock_1.faClock, faClock_2.faClock, faCog_1.faCog, faColumns_1.faColumns, faCommentAlt_1.faCommentAlt, faCompress_1.faCompress, faCrown_1.faCrown, faEllipsisH_1.faEllipsisH, faEllipsisV_1.faEllipsisV, faEnvelope_1.faEnvelope, faExclamationCircle_1.faExclamationCircle, faExclamationTriangle_1.faExclamationTriangle, faExpand_1.faExpand, faExternalLinkAlt_1.faExternalLinkAlt, faExternalLinkSquareAlt_1.faExternalLinkSquareAlt, faEye_1.faEye, faEyeSlash_1.faEyeSlash, faFastBackward_1.faFastBackward, faFastForward_1.faFastForward, faFileAlt_1.faFileAlt, faFileAlt_2.faFileAlt, faFileImport_1.faFileImport, faFileSignature_1.faFileSignature, faFilter_1.faFilter, faFlag_1.faFlag, faFolder_1.faFolder, faForward_1.faForward, faGripLines_1.faGripLines, faGripLinesVertical_1.faGripLinesVertical, faHashtag_1.faHashtag, faInfoCircle_1.faInfoCircle, faKey_1.faKey, faKeyboard_1.faKeyboard, faLayerGroup_1.faLayerGroup, faLevelUpAlt_1.faLevelUpAlt, faListUl_1.faListUl, faLock_1.faLock, faLongArrowAltRight_1.faLongArrowAltRight, faMagic_1.faMagic, faMapSigns_1.faMapSigns, faMinus_1.faMinus, faMousePointer_1.faMousePointer, faPaperclip_1.faPaperclip, faPause_1.faPause, faPen_1.faPen, faPlay_1.faPlay, faPlus_1.faPlus, faPlusCircle_1.faPlusCircle, faPooStorm_1.faPooStorm, faQuestion_1.faQuestion, faQuestionCircle_2.faQuestionCircle, faQuestionCircle_1.faQuestionCircle, faScroll_1.faScroll, faSearch_1.faSearch, faShareAlt_1.faShareAlt, faShieldAlt_1.faShieldAlt, faSignature_1.faSignature, faSlidersH_1.faSlidersH, faSort_1.faSort, faSortDown_1.faSortDown, faSortUp_1.faSortUp, faSpinner_1.faSpinner, faSquare_1.faSquare, faStar_1.faStar, faStar_2.faStar, faSync_1.faSync, faTasks_1.faTasks, faThLarge_1.faThLarge, faThumbsDown_1.faThumbsDown, faThumbsDown_2.faThumbsDown, faThumbsUp_1.faThumbsUp, faThumbsUp_2.faThumbsUp, faTicketAlt_1.faTicketAlt, faTimes_1.faTimes, faTimesCircle_1.faTimesCircle, faTrash_1.faTrash, faUser_2.faUser, faUserAstronaut_1.faUserAstronaut, faUserPlus_1.faUserPlus, faUser_1.faUser, faUsers_1.faUsers, faUserFriends_1.faUserFriends);
144
+ fontawesome_svg_core_1.library.add(faArchive_1.faArchive, faArrowDown_1.faArrowDown, faArrowLeft_1.faArrowLeft, faArrowRight_1.faArrowRight, faArrowUp_1.faArrowUp, faBackward_1.faBackward, faBan_1.faBan, faBatteryHalf_1.faBatteryHalf, faBed_1.faBed, faBell_1.faBell, faBolt_1.faBolt, faCalculator_1.faCalculator, faCalendar_1.faCalendar, faCaretDown_1.faCaretDown, faCaretUp_1.faCaretUp, faCheck_1.faCheck, faCheckCircle_2.faCheckCircle, faCheckCircle_1.faCheckCircle, faChevronDown_1.faChevronDown, faChevronLeft_1.faChevronLeft, faChevronRight_1.faChevronRight, faChevronUp_1.faChevronUp, faCircle_2.faCircle, faCircleNotch_1.faCircleNotch, faCircle_1.faCircle, faClipboard_1.faClipboard, faClock_1.faClock, faClock_2.faClock, faCog_1.faCog, faColumns_1.faColumns, faCommentAlt_1.faCommentAlt, faCompress_1.faCompress, faCrown_1.faCrown, faEllipsisH_1.faEllipsisH, faEllipsisV_1.faEllipsisV, faEnvelope_1.faEnvelope, faExclamationCircle_1.faExclamationCircle, faExclamationTriangle_1.faExclamationTriangle, faExpand_1.faExpand, faExternalLinkAlt_1.faExternalLinkAlt, faExternalLinkSquareAlt_1.faExternalLinkSquareAlt, faEye_1.faEye, faEyeSlash_1.faEyeSlash, faFastBackward_1.faFastBackward, faFastForward_1.faFastForward, faFileAlt_1.faFileAlt, faFileAlt_2.faFileAlt, faFileImport_1.faFileImport, faFileSignature_1.faFileSignature, faFilter_1.faFilter, faFlag_1.faFlag, faFolder_1.faFolder, faForward_1.faForward, faGripLines_1.faGripLines, faGripLinesVertical_1.faGripLinesVertical, faHashtag_1.faHashtag, faInfoCircle_1.faInfoCircle, faKey_1.faKey, faKeyboard_1.faKeyboard, faLayerGroup_1.faLayerGroup, faLevelUpAlt_1.faLevelUpAlt, faListUl_1.faListUl, faLock_1.faLock, faLongArrowAltRight_1.faLongArrowAltRight, faMagic_1.faMagic, faMapSigns_1.faMapSigns, faMinus_1.faMinus, faMousePointer_1.faMousePointer, faPaperclip_1.faPaperclip, faPause_1.faPause, faPen_1.faPen, faPlay_1.faPlay, faPlus_1.faPlus, faPlusCircle_1.faPlusCircle, faPooStorm_1.faPooStorm, faQuestion_1.faQuestion, faQuestionCircle_2.faQuestionCircle, faQuestionCircle_1.faQuestionCircle, faScroll_1.faScroll, faSearch_1.faSearch, faShareAlt_1.faShareAlt, faShieldAlt_1.faShieldAlt, faSignOutAlt_1.faSignOutAlt, faSignature_1.faSignature, faSlidersH_1.faSlidersH, faSort_1.faSort, faSortDown_1.faSortDown, faSortUp_1.faSortUp, faSpinner_1.faSpinner, faSquare_1.faSquare, faStar_1.faStar, faStar_2.faStar, faSync_1.faSync, faTasks_1.faTasks, faThLarge_1.faThLarge, faThumbsDown_1.faThumbsDown, faThumbsDown_2.faThumbsDown, faThumbsUp_1.faThumbsUp, faThumbsUp_2.faThumbsUp, faTicketAlt_1.faTicketAlt, faTimes_1.faTimes, faTimesCircle_1.faTimesCircle, faTrash_1.faTrash, faUser_2.faUser, faUserAstronaut_1.faUserAstronaut, faUserPlus_1.faUserPlus, faUser_1.faUser, faUsers_1.faUsers, faUserFriends_1.faUserFriends);
144
145
  var CUSTOM_ICON_TYPE;
145
146
  (function (CUSTOM_ICON_TYPE) {
146
147
  CUSTOM_ICON_TYPE["ARROW_TO_BOTTOM"] = "arrow-to-bottom";
@@ -237,6 +238,7 @@ var ICON_TYPE;
237
238
  ICON_TYPE["SEARCH"] = "search";
238
239
  ICON_TYPE["SHARE_ALT"] = "share-alt";
239
240
  ICON_TYPE["SHIELD_ALT"] = "shield-alt";
241
+ ICON_TYPE["SIGN_OUT_ALT"] = "sign-out-alt";
240
242
  ICON_TYPE["SIGNATURE"] = "signature";
241
243
  ICON_TYPE["SLIDERS_H"] = "sliders-h";
242
244
  ICON_TYPE["SORT"] = "sort";
@@ -13,9 +13,11 @@ interface TableProps extends React.HTMLProps<HTMLTableElement> {
13
13
  stickyColumn?: boolean;
14
14
  hasBatchActions?: boolean;
15
15
  spaceRows?: boolean;
16
+ enableGridSizing?: boolean;
17
+ gridSizing?: string | string[];
16
18
  }
17
19
  declare const Table: {
18
- ({ children, className, onSort, outerBorder, sortColumnId, sortDirection, affixHeader, removeSpacerColumn, noResults, renderInModal, enableHorizontalScroll, stickyColumn, hasBatchActions, spaceRows, ...rest }: TableProps): JSX.Element;
20
+ ({ children, className, onSort, outerBorder, sortColumnId, sortDirection, affixHeader, removeSpacerColumn, noResults, renderInModal, enableHorizontalScroll, stickyColumn, hasBatchActions, spaceRows, style, enableGridSizing, gridSizing, ...rest }: TableProps): JSX.Element;
19
21
  Body: ({ className, children, ...rest }: React.HTMLProps<HTMLTableSectionElement>) => JSX.Element;
20
22
  Row: ({ className, children, selected, ...rest }: import("./TableRow").TableRowProps) => JSX.Element;
21
23
  Cell: React.FunctionComponent<import("./TableCell").TableCellProps>;
@@ -35,9 +35,9 @@ Object.defineProperty(exports, "SORT_DIRECTION", { enumerable: true, get: functi
35
35
  const bem_1 = require("../../utilities/bem");
36
36
  const cn = "Table";
37
37
  const wrapperCn = "TableWrapper";
38
- const Table = ({ children, className, onSort = () => { }, outerBorder = false, sortColumnId, sortDirection, affixHeader = false, removeSpacerColumn = false, noResults = false, renderInModal = false, enableHorizontalScroll = false, stickyColumn = false, hasBatchActions = false, spaceRows = false, ...rest }) => {
38
+ const Table = ({ children, className, onSort = () => { }, outerBorder = false, sortColumnId, sortDirection, affixHeader = false, removeSpacerColumn = false, noResults = false, renderInModal = false, enableHorizontalScroll = false, stickyColumn = false, hasBatchActions = false, spaceRows = false, style, enableGridSizing = false, gridSizing, ...rest }) => {
39
39
  const wrapperClasses = classnames_1.default(bem_1.bem(wrapperCn), enableHorizontalScroll && bem_1.bem(wrapperCn, { m: "enable-hscroll" }), spaceRows && bem_1.bem(wrapperCn, { m: "space-rows" }));
40
- const classes = classnames_1.default(bem_1.bem(cn), removeSpacerColumn && bem_1.bem(cn, { m: "remove-spacer" }), outerBorder && bem_1.bem(cn, { m: "outer-border" }), affixHeader && bem_1.bem(cn, { m: "affix-header" }), noResults && bem_1.bem(cn, { m: "no-results" }), stickyColumn && bem_1.bem(cn, { m: "sticky-column" }), hasBatchActions && bem_1.bem(cn, { m: "batch-actions" }), spaceRows && bem_1.bem(cn, { m: "space-rows" }), className);
40
+ const classes = classnames_1.default(bem_1.bem(cn), removeSpacerColumn && bem_1.bem(cn, { m: "remove-spacer" }), outerBorder && bem_1.bem(cn, { m: "outer-border" }), affixHeader && bem_1.bem(cn, { m: "affix-header" }), noResults && bem_1.bem(cn, { m: "no-results" }), stickyColumn && bem_1.bem(cn, { m: "sticky-column" }), hasBatchActions && bem_1.bem(cn, { m: "batch-actions" }), spaceRows && bem_1.bem(cn, { m: "space-rows" }), enableGridSizing && gridSizing && bem_1.bem(cn, { m: "grid-sizing" }), className);
41
41
  return (react_1.default.createElement(TableContext_1.default.Provider, { value: {
42
42
  handleSort: onSort,
43
43
  sortDirection,
@@ -49,7 +49,14 @@ const Table = ({ children, className, onSort = () => { }, outerBorder = false, s
49
49
  hasBatchActions,
50
50
  } },
51
51
  react_1.default.createElement("div", { className: wrapperClasses },
52
- react_1.default.createElement("table", Object.assign({ className: classes }, rest), children))));
52
+ react_1.default.createElement("table", Object.assign({ className: classes, style: enableGridSizing && gridSizing
53
+ ? {
54
+ gridTemplateColumns: Array.isArray(gridSizing)
55
+ ? gridSizing.join(" ")
56
+ : gridSizing,
57
+ ...style,
58
+ }
59
+ : style }, rest), children))));
53
60
  };
54
61
  exports.Table = Table;
55
62
  Table.Body = TableBody_1.default;
@@ -25,6 +25,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
25
25
  const react_1 = __importStar(require("react"));
26
26
  const classnames_1 = __importDefault(require("classnames"));
27
27
  const bem_1 = require("../../utilities/bem");
28
+ const Flex_1 = require("../Flex");
28
29
  const Skeleton_1 = require("../Skeleton");
29
30
  const cn = "TableCell";
30
31
  const TableCell = react_1.forwardRef(({ className, removePadding = false, isLoading = false, children, columnWidth, align = "left", style, ...rest }, ref) => {
@@ -32,6 +33,7 @@ const TableCell = react_1.forwardRef(({ className, removePadding = false, isLoad
32
33
  if (columnWidth) {
33
34
  computedStyle.width = columnWidth;
34
35
  }
35
- return (react_1.default.createElement("td", Object.assign({ style: computedStyle, className: classnames_1.default(bem_1.bem(cn), removePadding && bem_1.bem(cn, { m: "removePadding" }), align && `text-${align}`, className), ref: ref }, rest), isLoading ? react_1.default.createElement(Skeleton_1.Skeleton, null) : children));
36
+ return (react_1.default.createElement("td", Object.assign({ style: computedStyle, className: classnames_1.default(bem_1.bem(cn), removePadding && bem_1.bem(cn, { m: "removePadding" }), align && `text-${align}`, className), ref: ref }, rest), isLoading ? (react_1.default.createElement(Flex_1.Flex, { className: "h-full items-center" },
37
+ react_1.default.createElement(Skeleton_1.Skeleton, { className: "w-full" }))) : (children)));
36
38
  });
37
39
  exports.default = TableCell;
@@ -1 +1,4 @@
1
1
  export * from "./Table";
2
+ export type { TableCellProps } from "./TableCell";
3
+ export type { TableHeaderCellProps } from "./TableHeaderCell";
4
+ export type { TableRowProps } from "./TableRow";
@@ -1,7 +1,8 @@
1
1
  import { ReactElement } from "react";
2
+ import { SizingKeys } from "../../types";
2
3
  import { BoxProps } from "../Box";
3
4
  import { IconType } from "../Icon";
4
- export declare type VendorLogoSize = 4 | 6 | 10 | 14 | 20 | 40;
5
+ export declare type VendorLogoSize = SizingKeys;
5
6
  interface VendorLogoBadgeProps extends BoxProps {
6
7
  icon: IconType;
7
8
  size?: VendorLogoSize;
@@ -14,7 +15,7 @@ interface VendorLogoProps extends BoxProps {
14
15
  children?: ReactElement<VendorLogoBadgeProps>;
15
16
  }
16
17
  export declare const VendorLogo: {
17
- ({ src, vendorName, alt, className, size, children, }: VendorLogoProps): JSX.Element;
18
+ ({ src, vendorName, alt, className, size, children, ...rest }: VendorLogoProps): JSX.Element;
18
19
  Badge: ({ icon, size, className, ...rest }: VendorLogoBadgeProps) => JSX.Element;
19
20
  };
20
21
  export {};
@@ -35,13 +35,13 @@ const VendorLogoBadge = ({ icon, size = 10, className, ...rest }) => {
35
35
  } }, rest),
36
36
  react_1.default.createElement(Icon_1.Icon, { className: bem_1.bem(cn, { e: "icon" }), icon: icon })));
37
37
  };
38
- const VendorLogo = ({ src, vendorName, alt, className, size = 10, children, }) => {
38
+ const VendorLogo = ({ src, vendorName, alt, className, size = 10, children, ...rest }) => {
39
39
  const [loadSuccess, setLoadSuccess] = react_1.useState(!!src);
40
40
  const firstLetter = vendorName && vendorName.length > 0 ? vendorName[0] : "";
41
41
  react_1.useEffect(() => {
42
42
  setLoadSuccess(!!src);
43
43
  }, [src]);
44
- return (react_1.default.createElement(Box_1.Box, { className: classnames_1.default(`${bem_1.bem(cn)} w-${size} h-${size}`, className) },
44
+ return (react_1.default.createElement(Box_1.Box, Object.assign({ className: classnames_1.default(`${bem_1.bem(cn)} w-${size} h-${size}`, className) }, rest),
45
45
  loadSuccess ? (react_1.default.createElement("img", { className: bem_1.bem(cn, { e: "img" }), src: src, alt: alt || vendorName || "", onError: () => {
46
46
  setLoadSuccess(false);
47
47
  } })) : (react_1.default.createElement(Box_1.Box, { className: bem_1.bem(cn, { e: "placeholder" }), style: {