@assembly-js/design-system 2.4.0 → 3.0.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 (45) hide show
  1. package/.github/workflows/npm-publish.yml +5 -3
  2. package/.yarn/install-state.gz +0 -0
  3. package/dist/esm/common/utils.js +4 -1
  4. package/dist/esm/components/Avatar/Avatar.js +1 -1
  5. package/dist/esm/components/Button/index.js +1 -0
  6. package/dist/esm/components/Callout/Callout.js +4 -2
  7. package/dist/esm/components/Chip/Chip.js +2 -1
  8. package/dist/esm/components/Status/Status.js +2 -1
  9. package/dist/esm/components/Toast/Toaster.js +2 -1
  10. package/dist/esm/components/Toolbar/Toolbar.js +1 -0
  11. package/dist/esm/components/Toolbar/ToolbarContext.js +2 -2
  12. package/dist/esm/components/Typography/Base.js +1 -1
  13. package/dist/esm/components/Typography/Heading.js +16 -1
  14. package/dist/esm/components/UserCompanySelector/LimitedOptionsList.js +1 -1
  15. package/dist/esm/components/UserCompanySelector/ListItem.js +5 -5
  16. package/dist/esm/components/UserCompanySelector/UserCompanySelector.js +1 -1
  17. package/dist/esm/index.js +12 -0
  18. package/dist/esm/types/components/Avatar/Avatar.d.ts +6 -6
  19. package/dist/esm/types/components/Typography/Base.stories.d.ts +2 -2
  20. package/dist/esm/types/index.d.ts +11 -0
  21. package/dist/esm/types/tsconfig.tsbuildinfo +1 -1
  22. package/dist/styles/main.css +1 -1
  23. package/dist/types/components/Avatar/Avatar.d.ts +6 -6
  24. package/dist/types/components/Typography/Base.stories.d.ts +2 -2
  25. package/dist/types/index.d.ts +11 -0
  26. package/dist/types/tsconfig.tsbuildinfo +1 -1
  27. package/dist/umd/common/utils.js +4 -1
  28. package/dist/umd/components/Avatar/Avatar.js +1 -1
  29. package/dist/umd/components/Button/index.js +1 -0
  30. package/dist/umd/components/Callout/Callout.js +4 -2
  31. package/dist/umd/components/Chip/Chip.js +2 -1
  32. package/dist/umd/components/Status/Status.js +2 -1
  33. package/dist/umd/components/Toast/Toaster.js +2 -1
  34. package/dist/umd/components/Toolbar/Toolbar.js +1 -0
  35. package/dist/umd/components/Toolbar/ToolbarContext.js +2 -2
  36. package/dist/umd/components/Typography/Base.js +1 -1
  37. package/dist/umd/components/Typography/Heading.js +19 -5
  38. package/dist/umd/components/UserCompanySelector/LimitedOptionsList.js +1 -1
  39. package/dist/umd/components/UserCompanySelector/ListItem.js +5 -5
  40. package/dist/umd/components/UserCompanySelector/UserCompanySelector.js +1 -1
  41. package/dist/umd/types/components/Avatar/Avatar.d.ts +6 -6
  42. package/dist/umd/types/components/Typography/Base.stories.d.ts +2 -2
  43. package/dist/umd/types/index.d.ts +11 -0
  44. package/dist/umd/types/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +6 -2
@@ -19,7 +19,9 @@ jobs:
19
19
  uses: actions/setup-node@v4
20
20
  with:
21
21
  node-version: '22'
22
- registry-url: 'https://registry.npmjs.org'
22
+
23
+ - name: Upgrade npm for OIDC support
24
+ run: npm install -g npm@latest
23
25
 
24
26
  - name: Install dependencies
25
27
  run: yarn install --immutable
@@ -36,7 +38,7 @@ jobs:
36
38
  delete pkg.deprecated;
37
39
  require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2));
38
40
  "
39
- npm publish --provenance --access public
41
+ npm publish --access public
40
42
 
41
43
  # Publish to copilot-design-system (legacy)
42
44
  - name: Publish copilot-design-system (legacy)
@@ -47,4 +49,4 @@ jobs:
47
49
  pkg.deprecated = 'This package has been renamed to @assembly-js/design-system';
48
50
  require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2));
49
51
  "
50
- npm publish --provenance --access public
52
+ npm publish --access public
Binary file
@@ -1,6 +1,9 @@
1
1
  // This file is generated by a script. Do not edit this file directly.
2
2
  import { clsx } from 'clsx';
3
- import { twMerge } from 'tailwind-merge';
3
+ import { extendTailwindMerge } from 'tailwind-merge';
4
+ var twMerge = extendTailwindMerge({
5
+ prefix: 'cop-'
6
+ });
4
7
  export function cn() {
5
8
  for (var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++) {
6
9
  inputs[_key] = arguments[_key];
@@ -152,7 +152,7 @@ var Avatar = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
152
152
  alt: props.alt
153
153
  }), 'text' in props && !props.icon && /*#__PURE__*/React.createElement(AvatarFallback, null, /*#__PURE__*/React.createElement(Heading, {
154
154
  size: TEXT_SIZE_MAP[size],
155
- className: fallbackClassName
155
+ className: cn('cop-my-0', fallbackClassName)
156
156
  }, props.text)), props.icon && /*#__PURE__*/React.createElement(AvatarFallback, null, /*#__PURE__*/React.createElement(Icon, {
157
157
  icon: props.icon,
158
158
  className: AVATAR_ICON_SIZE_MAP[size]
@@ -49,6 +49,7 @@ export var Button = function Button(_ref) {
49
49
  icon: prefixIcon,
50
50
  className: clsx('cop-pr-2', iconClasses)
51
51
  }), /*#__PURE__*/React.createElement(Base, {
52
+ className: "cop-m-0",
52
53
  size: size === 'base' ? 'base' : 'xs',
53
54
  leading: size === 'base' ? '1' : '075',
54
55
  tag: "p",
@@ -78,9 +78,11 @@ export var Callout = function Callout(_ref) {
78
78
  }), /*#__PURE__*/React.createElement("div", {
79
79
  className: "cop-flex-1"
80
80
  }, /*#__PURE__*/React.createElement(Heading, {
81
- size: "base"
81
+ size: "base",
82
+ className: "cop-my-0"
82
83
  }, title), /*#__PURE__*/React.createElement(Body, {
83
- size: "base"
84
+ size: "base",
85
+ className: "cop-m-0"
84
86
  }, description), footerAction && /*#__PURE__*/React.createElement("div", {
85
87
  className: "cop-mt-2"
86
88
  }, /*#__PURE__*/React.createElement(TextLink, footerAction))), onClose && /*#__PURE__*/React.createElement(IconButton, {
@@ -127,7 +127,8 @@ export var Chip = function Chip(_ref2) {
127
127
  size: size
128
128
  })
129
129
  }), /*#__PURE__*/React.createElement(Body, {
130
- size: size !== 'sm' ? 'base' : 'sm'
130
+ size: size !== 'sm' ? 'base' : 'sm',
131
+ className: "cop-m-0"
131
132
  }, label), Boolean(onClose) ?
132
133
  /*#__PURE__*/
133
134
  // We intentionally attach both onClick and onTouch event
@@ -60,6 +60,7 @@ export var Status = function Status(_ref) {
60
60
  icon: icon !== null && icon !== void 0 ? icon : mapIconToStatus(status),
61
61
  className: "cop-h-2.5 cop-w-2.5"
62
62
  }) : null, /*#__PURE__*/React.createElement(Heading, {
63
- size: "sm"
63
+ size: "sm",
64
+ className: "cop-my-0"
64
65
  }, label));
65
66
  };
@@ -32,7 +32,8 @@ export function Toaster() {
32
32
  }, /*#__PURE__*/React.createElement("div", {
33
33
  className: "cop-flex cop-w-full cop-items-center cop-justify-between cop-text-primary"
34
34
  }, title && /*#__PURE__*/React.createElement(Heading, {
35
- size: "sm"
35
+ size: "sm",
36
+ className: "cop-my-0"
36
37
  }, title), props.variant !== 'progress' && /*#__PURE__*/React.createElement(ToastClose, null)), typeof description === 'string' ? /*#__PURE__*/React.createElement("div", {
37
38
  className: "cop-text-secondary"
38
39
  }, /*#__PURE__*/React.createElement(Body, {
@@ -78,6 +78,7 @@ var ToolbarButton = function ToolbarButton(_ref) {
78
78
  };
79
79
  return /*#__PURE__*/React.createElement("button", {
80
80
  type: "button",
81
+ tabIndex: -1,
81
82
  className: cn(buttonVariants({
82
83
  variant: variant,
83
84
  isActive: isActive
@@ -12,9 +12,9 @@ var ToolbarContext = /*#__PURE__*/createContext(null);
12
12
  var Styles = function Styles(_ref) {
13
13
  var children = _ref.children;
14
14
  return /*#__PURE__*/React.createElement("div", {
15
- className: clsx('[&_h1]:!cop-m-0 [&_h1]:cop-text-lg [&_h1]:cop-font-medium',
15
+ className: clsx('[&_h1]:!cop-m-0 [&_h1]:cop-text-xl [&_h1]:cop-font-medium',
16
16
  // styles for h1
17
- '[&_h2]:!cop-m-0 [&_h2]:!cop-text-base [&_h2]:!cop-font-semibold',
17
+ '[&_h2]:!cop-m-0 [&_h2]:!cop-text-lg [&_h2]:!cop-font-medium',
18
18
  // styles for h2
19
19
  '[&_h3]:!cop-m-0 [&_h3]:!cop-text-base [&_h3]:!cop-font-medium',
20
20
  // styles for h3
@@ -61,6 +61,6 @@ export var Base = function Base(_ref) {
61
61
  props = _objectWithoutProperties(_ref, _excluded);
62
62
  var Tag = tag;
63
63
  return /*#__PURE__*/React.createElement(Tag, _extends({
64
- className: cn('cop-m-0', VARIANT_CLASSNAMES[variant], SIZE_CLASSNAMES[size], LEADING_CLASSNAMES[leading], WEIGHT_CLASSNAMES[weight], className)
64
+ className: cn(VARIANT_CLASSNAMES[variant], SIZE_CLASSNAMES[size], LEADING_CLASSNAMES[leading], WEIGHT_CLASSNAMES[weight], className)
65
65
  }, props), children);
66
66
  };
@@ -1,6 +1,7 @@
1
1
  // This file is generated by a script. Do not edit this file directly.
2
2
  import React from 'react';
3
3
  import { Base } from "./Base";
4
+ import { cn } from "../../common/utils";
4
5
  var SIZE_MAP = {
5
6
  '3xs': '3xs',
6
7
  '2xs': '2xs',
@@ -25,6 +26,20 @@ var LEADING_CLASSNAMES = {
25
26
  '3xl': '5',
26
27
  '4xl': '6'
27
28
  };
29
+
30
+ // Margin-bottom classes to restore vertical rhythm (Tailwind Preflight removes default margins)
31
+ var MARGIN_CLASSNAMES = {
32
+ '3xs': 'cop-mb-1',
33
+ '2xs': 'cop-mb-1',
34
+ xs: 'cop-mb-1',
35
+ sm: 'cop-mb-2',
36
+ base: 'cop-mb-2',
37
+ lg: 'cop-mb-3',
38
+ xl: 'cop-mb-3',
39
+ '2xl': 'cop-mb-4',
40
+ '3xl': 'cop-mb-4',
41
+ '4xl': 'cop-mb-5'
42
+ };
28
43
  export function Heading(_ref) {
29
44
  var children = _ref.children,
30
45
  _ref$className = _ref.className,
@@ -34,7 +49,7 @@ export function Heading(_ref) {
34
49
  _ref$size = _ref.size,
35
50
  size = _ref$size === void 0 ? 'base' : _ref$size;
36
51
  return /*#__PURE__*/React.createElement(Base, {
37
- className: className,
52
+ className: cn(MARGIN_CLASSNAMES[size], className),
38
53
  size: SIZE_MAP[size],
39
54
  variant: "body",
40
55
  tag: tag,
@@ -23,6 +23,6 @@ export var LimitedOptionsList = function LimitedOptionsList(_ref) {
23
23
  className: "cop-flex cop-items-center cop-px-3 cop-pb-1 cop-pt-2"
24
24
  }, /*#__PURE__*/React.createElement(Heading, {
25
25
  size: "xs",
26
- className: "cop-text-secondary"
26
+ className: "cop-my-0 cop-text-secondary"
27
27
  }, title)), children);
28
28
  };
@@ -24,10 +24,10 @@ export function ListItem(_ref) {
24
24
  ref: innerRef
25
25
  }, innerProps, {
26
26
  className: clsx('cop-flex cop-cursor-pointer cop-items-center cop-gap-3 cop-px-3 hover:cop-bg-gray-100', {
27
- 'cop-h-10': !!companyId,
28
- // if an option has company to render, the option should have a height of 40px
29
- 'cop-h-8': !companyId,
30
- // if an option has no company to render, the option should have a height of 32px
27
+ 'cop-h-10': !!companyName,
28
+ // if an option has company name to render, the option should have a height of 40px
29
+ 'cop-h-8': !companyName,
30
+ // if an option has no company name to render, the option should have a height of 32px
31
31
  'cop-bg-primary': isFocused
32
32
  })
33
33
  }), option.type !== 'company' ? /*#__PURE__*/React.createElement(UserWithCompanyAvatar, {
@@ -48,7 +48,7 @@ export function ListItem(_ref) {
48
48
  }), /*#__PURE__*/React.createElement("div", {
49
49
  className: "cop-flex cop-flex-col cop-text-[10px]"
50
50
  }, /*#__PURE__*/React.createElement(Body, {
51
- className: "cop-truncate",
51
+ className: "cop-m-0 cop-truncate",
52
52
  size: "sm"
53
53
  }, option.label), companyName && /*#__PURE__*/React.createElement("span", {
54
54
  className: "cop-text-secondary"
@@ -299,7 +299,7 @@ export var UserCompanySelector = function UserCompanySelector(_ref) {
299
299
  return /*#__PURE__*/React.createElement("div", {
300
300
  className: "cop-flex cop-h-8 cop-items-center cop-gap-2 cop-px-3"
301
301
  }, /*#__PURE__*/React.createElement(Heading, {
302
- className: "cop-text-secondary",
302
+ className: "cop-my-0 cop-text-secondary",
303
303
  size: "xs"
304
304
  }, props.data.label));
305
305
  },
package/dist/esm/index.js CHANGED
@@ -1,4 +1,16 @@
1
1
  // This file is generated by a script. Do not edit this file directly.
2
+ /**
3
+ * ─╔═══╗─╔═══╗─╔═══╗─╔═══╗─╔═╗╔═╗─╔══╗──╔╗────╔╗──╔╗
4
+ * ─║╔═╗║─║╔═╗║─║╔═╗║─║╔══╝─║║╚╝║║─║╔╗║──║║────║╚╗╔╝║
5
+ * ─║║─║║─║╚══╗─║╚══╗─║╚══╗─║╔╗╔╗║─║╚╝╚╗─║║────╚╗╚╝╔╝
6
+ * ─║╚═╝║─╚══╗║─╚══╗║─║╔══╝─║║║║║║─║╔═╗║─║║─╔╗──╚╗╔╝─
7
+ * ─║╔═╗║─║╚═╝║─║╚═╝║─║╚══╗─║║║║║║─║╚═╝║─║╚═╝║───║║──
8
+ * ─╚╝─╚╝─╚═══╝─╚═══╝─╚═══╝─╚╝╚╝╚╝─╚═══╝─╚═══╝───╚╝──
9
+ *
10
+ * @assembly-js/design-system
11
+ * https://assembly.com
12
+ */
13
+
2
14
  export * from "./components/Avatar/Avatar";
3
15
  export * from "./components/Avatar/UserWithCompanyAvatar";
4
16
  export * from "./components/Breadcrumb/Breadcrumbs";
@@ -17,6 +17,9 @@ type TextProps = {
17
17
  } & BaseProps;
18
18
  type AvatarProps = TextProps | ImageProps;
19
19
  declare const Avatar: React.ForwardRefExoticComponent<({
20
+ content?: string | undefined;
21
+ translate?: "yes" | "no" | undefined;
22
+ prefix?: string | undefined;
20
23
  children?: React.ReactNode;
21
24
  className?: string | undefined;
22
25
  slot?: string | undefined;
@@ -42,14 +45,11 @@ declare const Avatar: React.ForwardRefExoticComponent<({
42
45
  placeholder?: string | undefined;
43
46
  spellCheck?: (boolean | "true" | "false") | undefined;
44
47
  tabIndex?: number | undefined;
45
- translate?: "yes" | "no" | undefined;
46
48
  radioGroup?: string | undefined;
47
49
  role?: React.AriaRole | undefined;
48
50
  about?: string | undefined;
49
- content?: string | undefined;
50
51
  datatype?: string | undefined;
51
52
  inlist?: any;
52
- prefix?: string | undefined;
53
53
  property?: string | undefined;
54
54
  rel?: string | undefined;
55
55
  resource?: string | undefined;
@@ -296,6 +296,9 @@ declare const Avatar: React.ForwardRefExoticComponent<({
296
296
  subAvatar?: Omit<AvatarProps, "size" | "subAvatar"> | undefined;
297
297
  icon?: "Info" | "InfoSolid" | "Search" | "ResetZoom" | "FitToWidth" | "Ellipsis" | "MoreVertical" | "Download" | "Upload" | "Edit" | "Plus" | "Minus" | "Trash" | "ChevronRight" | "ChevronUp" | "ChevronDown" | "ChevronLeft" | "Copy" | "Duplicate" | "Automation" | "Play" | "Pause" | "Scale" | "Form" | "Message" | "Contract" | "Profile" | "Building" | "InvoicePaid" | "EditSolid" | "Archive" | "Unarchive" | "Settings" | "Link" | "Attachment" | "Close" | "Cancel" | "Smile" | "Share" | "Reply" | "Calendar" | "At" | "List" | "NumberedList" | "UnorderedList" | "Checklist" | "Tasks" | "Filter" | "Templates" | "Star" | "Email" | "EmailUnread" | "EmailRead" | "H1" | "H2" | "H3" | "Text" | "Bold" | "Italicize" | "Underline" | "Strikethrough" | "Menu" | "Inbox" | "Home" | "Notification" | "Billing" | "Dollar" | "Helpdesk" | "AppSetup" | "Gift" | "Location" | "Number" | "MobileNumber" | "Airtable" | "QuickBook" | "Bank" | "Puzzle" | "Code" | "ArrowUpSolid" | "ArrowDownSolid" | "ArrowLeft" | "ArrowRight" | "ArrowNE" | "Dash" | "Compose" | "MassFileShare" | "Warning" | "WarningSolid" | "Failed" | "FailedSolid" | "Check" | "Success" | "SuccessSolid" | "New" | "ToDo" | "InProgress" | "Book" | "Send" | "SendFilled" | "Dot" | "SquareSolid" | "Eye" | "EyeHidden" | "Invoice" | "Comment" | "Invite" | "Spinner" | "Repeat" | "Web" | "Time" | "GraphBarSolid" | "Sidebar" | "SidebarFilled" | "Export" | "File" | "MP4" | "SVG" | "MOV" | "MP3" | "CSV" | "Excel" | "PNG" | "PDF" | "JPG" | "Doc" | "ZIP" | "Movie" | "GIF" | "Store" | "ShoppingBag" | "DragDrop" | "Image" | "ImageMissing" | "LogOut" | "Lead" | "QuestionMark" | "API" | "PlansPayments" | "Customization" | "Teams" | "AI" | "BracketsCurly" | "Callout" | "Table" | "Chart" | "Tag" | "ThumbsUp" | "ThumbsDown" | "CaretDown" | "CaretUp" | "CaretRight" | "Disconnect" | "Mention" | "Insert" | "AssemblyLogo" | "Reposition" | "Marketing" | "Gauge" | "Subtask" | "Compass" | "UnPin" | "Pin" | "Files" | "FolderLocked" | "Unlock" | "Authentication" | "LockFilled" | undefined;
298
298
  } | {
299
+ content?: string | undefined;
300
+ translate?: "yes" | "no" | undefined;
301
+ prefix?: string | undefined;
299
302
  children?: React.ReactNode;
300
303
  className?: string | undefined;
301
304
  slot?: string | undefined;
@@ -321,14 +324,11 @@ declare const Avatar: React.ForwardRefExoticComponent<({
321
324
  placeholder?: string | undefined;
322
325
  spellCheck?: (boolean | "true" | "false") | undefined;
323
326
  tabIndex?: number | undefined;
324
- translate?: "yes" | "no" | undefined;
325
327
  radioGroup?: string | undefined;
326
328
  role?: React.AriaRole | undefined;
327
329
  about?: string | undefined;
328
- content?: string | undefined;
329
330
  datatype?: string | undefined;
330
331
  inlist?: any;
331
- prefix?: string | undefined;
332
332
  property?: string | undefined;
333
333
  rel?: string | undefined;
334
334
  resource?: string | undefined;
@@ -7,8 +7,8 @@ declare const meta: {
7
7
  className?: string | undefined;
8
8
  leading: "tight" | "snug" | "normal" | "relaxed" | "loose" | "8" | "7" | "6" | "5" | "4" | "3" | "2" | "1" | "075" | "050" | "025";
9
9
  size: "3xs" | "2xs" | "xs" | "sm" | "base" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl";
10
- variant: "body" | "display" | "heading";
11
- tag: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "div" | "span";
10
+ variant: "display" | "body" | "heading";
11
+ tag: "p" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div" | "span";
12
12
  weight: "bold" | "semibold" | "medium" | "regular" | "light";
13
13
  'data-typography'?: "heading" | undefined;
14
14
  }) => import("react").JSX.Element;
@@ -1,3 +1,14 @@
1
+ /**
2
+ * ─╔═══╗─╔═══╗─╔═══╗─╔═══╗─╔═╗╔═╗─╔══╗──╔╗────╔╗──╔╗
3
+ * ─║╔═╗║─║╔═╗║─║╔═╗║─║╔══╝─║║╚╝║║─║╔╗║──║║────║╚╗╔╝║
4
+ * ─║║─║║─║╚══╗─║╚══╗─║╚══╗─║╔╗╔╗║─║╚╝╚╗─║║────╚╗╚╝╔╝
5
+ * ─║╚═╝║─╚══╗║─╚══╗║─║╔══╝─║║║║║║─║╔═╗║─║║─╔╗──╚╗╔╝─
6
+ * ─║╔═╗║─║╚═╝║─║╚═╝║─║╚══╗─║║║║║║─║╚═╝║─║╚═╝║───║║──
7
+ * ─╚╝─╚╝─╚═══╝─╚═══╝─╚═══╝─╚╝╚╝╚╝─╚═══╝─╚═══╝───╚╝──
8
+ *
9
+ * @assembly-js/design-system
10
+ * https://assembly.com
11
+ */
1
12
  export * from './components/Avatar/Avatar';
2
13
  export * from './components/Avatar/UserWithCompanyAvatar';
3
14
  export * from './components/Breadcrumb/Breadcrumbs';