@servicetitan/anvil2 1.31.1 → 1.31.2

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.
@@ -4,13 +4,7 @@ export type AvatarGroupProps = CoreAvatarGroupProps;
4
4
  export declare const AvatarGroup: import('react').ForwardRefExoticComponent<import('@servicetitan/hammer-react').LayoutUtilProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
5
5
  max?: number;
6
6
  } & import('react').RefAttributes<HTMLSpanElement>>;
7
- export declare const Avatar: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & Omit<import('@servicetitan/hammer-react').LayoutUtilProps, "flex" | "flexGrow" | "flexShrink" | "flexBasis"> & {
8
- name: string;
9
- color?: string;
10
- size?: Extract<import('@servicetitan/hammer-react').Size, "small" | "medium" | "large">;
11
- status?: "online" | "offline";
12
- image?: string;
13
- } & import('react').RefAttributes<HTMLSpanElement>> & {
7
+ export declare const Avatar: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & Omit<import('@servicetitan/hammer-react/dist/components/Avatar/AvatarBase').AvatarBaseProps, "initials"> & Omit<import('@servicetitan/hammer-react').LayoutUtilProps, "flex" | "flexGrow" | "flexShrink" | "flexBasis"> & import('react').RefAttributes<HTMLSpanElement>> & {
14
8
  Group: import('react').ForwardRefExoticComponent<import('@servicetitan/hammer-react').LayoutUtilProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
15
9
  max?: number;
16
10
  } & import('react').RefAttributes<HTMLSpanElement>>;
@@ -16,6 +16,7 @@ export * from './DateField';
16
16
  export * from './Details';
17
17
  export * from './Dialog';
18
18
  export * from './Divider';
19
+ export * from './DndSort';
19
20
  export * from './Drawer';
20
21
  export * from './EditCard';
21
22
  export * from './Flex';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { A as Alert } from './Alert-KVBpZzAt.js';
2
2
  export { A as Announcement } from './Announcement-DnaX0j_E.js';
3
- export { A as Avatar, a as AvatarGroup } from './Avatar-DrQgvGgD.js';
3
+ export { A as Avatar, a as AvatarGroup } from './Avatar-CXgb_ukV.js';
4
4
  export { B as Badge } from './Badge-Lt1iCyYK.js';
5
5
  export { B as Breadcrumbs, a as BreadcrumbsElement, b as BreadcrumbsLink } from './Breadcrumbs-DicsW4mk.js';
6
6
  export { B as Button } from './Button-CRGbkHTO.js';
@@ -16,6 +16,7 @@ export { D as DateField } from './DateField-BwrvVq3b.js';
16
16
  export { D as Details, b as DetailsContent, a as DetailsSummary } from './Details-CtCidzce.js';
17
17
  export { D as Dialog, d as DialogCancelButton, c as DialogContent, b as DialogFooter, a as DialogHeader } from './Dialog-suBVnUvm.js';
18
18
  export { D as Divider } from './Divider-By5PjW0_.js';
19
+ export { D as DndSort, a as DndSortCard, b as DndSortZone } from './DndSort-DE9VxJwz.js';
19
20
  export { D as Drawer, a as DrawerCancelButton, d as DrawerContent, b as DrawerFooter, c as DrawerHeader } from './Drawer-BoFuipVJ.js';
20
21
  export { E as EditCard } from './EditCard-DripZNiC.js';
21
22
  export { F as Flex } from './Flex-CbkDTKfn.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/anvil2",
3
- "version": "1.31.1",
3
+ "version": "1.31.2",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",
@@ -24,9 +24,9 @@
24
24
  "@react-hook/merged-ref": "^1.3.2",
25
25
  "@react-hook/resize-observer": "^2.0.1",
26
26
  "classnames": "^2.5.1",
27
- "@servicetitan/hammer-react": "1.32.1",
28
- "@servicetitan/hammer-token": "2.3.0",
29
- "@servicetitan/hammer-icon": "1.1.0"
27
+ "@servicetitan/hammer-icon": "1.1.0",
28
+ "@servicetitan/hammer-react": "1.32.2",
29
+ "@servicetitan/hammer-token": "2.3.0"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@types/react": "^18",
@@ -1,201 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { forwardRef, Children, isValidElement, cloneElement, useRef, useState, useContext, useMemo, useEffect } from 'react';
3
- import { c as cx } from './index-tZvMCc77.js';
4
- import { u as useAccessibleColor, t as tinycolor } from './useAccessibleColor-Dc6B_M-Z-BYKjkGRg.js';
5
- import { S as SrOnly } from './SrOnly-BXm1DGl3-BJVodjQp.js';
6
- import { a as ThemeProviderContext } from './ThemeProvider-DrK12Ru--D1_n9ujr.js';
7
- import { u as usePrefersColorScheme } from './usePrefersColorScheme-_hT7dK7_-_hT7dK7_.js';
8
- import { u as useMergeRefs } from './useMergeRefs-Bde85AWI-Bde85AWI.js';
9
- import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-3B2XYWSr-ChuzrydG.js';
10
-
11
- import './Avatar.css';function getInitial(name) {
12
- if (!name) return void 0;
13
- const nameArray = name.split(" ").filter(Boolean);
14
- if (nameArray.length > 1)
15
- return `${nameArray[0][0]?.toUpperCase()}${nameArray[nameArray.length - 1][0].toUpperCase()}`;
16
- if (nameArray[0][1]) {
17
- return `${nameArray[0][0].toUpperCase()}${nameArray[0][1].toLowerCase()}`;
18
- }
19
- return `${nameArray[0][0].toUpperCase()}`;
20
- }
21
-
22
- const small$1 = "_small_a4hzu_21";
23
- const medium = "_medium_a4hzu_27";
24
- const large$1 = "_large_a4hzu_33";
25
- const styles$1 = {
26
- "avatar-group": "_avatar-group_a4hzu_3",
27
- small: small$1,
28
- medium: medium,
29
- large: large$1
30
- };
31
-
32
- const AvatarGroup$1 = forwardRef(
33
- (props, ref) => {
34
- const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
35
- const { className, max, style, children, ...rest } = componentProps;
36
- const childrenArr = Children.toArray(children);
37
- const inferredSize = (isValidElement(childrenArr[0]) && childrenArr[0].props.size) ?? "medium";
38
- const isOverflowing = max ? max < childrenArr.length : false;
39
- const avatarGroupClassNames = cx(styles$1["avatar-group"], className, {
40
- [styles$1[`${inferredSize}`]]: inferredSize
41
- });
42
- const styleCombined = {
43
- ...style,
44
- ...layoutStyles
45
- };
46
- return /* @__PURE__ */ jsxs(
47
- "span",
48
- {
49
- ref,
50
- className: avatarGroupClassNames,
51
- style: styleCombined,
52
- "data-anv": "avatar-group",
53
- ...rest,
54
- children: [
55
- childrenArr.map((child, i) => {
56
- let childEl = child;
57
- if (isValidElement(child)) {
58
- const nIndex = childrenArr.length - i;
59
- const nStyle = {
60
- ...child.props.style,
61
- zIndex: nIndex
62
- };
63
- childEl = cloneElement(child, {
64
- style: nStyle
65
- });
66
- }
67
- if (!max) return childEl;
68
- if (i < max) return childEl;
69
- return null;
70
- }),
71
- isOverflowing && max && /* @__PURE__ */ jsx(Avatar$1, { name: `+${childrenArr.length - max}`, size: inferredSize })
72
- ]
73
- }
74
- );
75
- }
76
- );
77
- AvatarGroup$1.displayName = "AvatarGroup";
78
-
79
- const avatar = "_avatar_it0sq_3";
80
- const initial = "_initial_it0sq_50";
81
- const img = "_img_it0sq_58";
82
- const indicator = "_indicator_it0sq_67";
83
- const online = "_online_it0sq_81";
84
- const offline = "_offline_it0sq_84";
85
- const small = "_small_it0sq_88";
86
- const large = "_large_it0sq_100";
87
- const styles = {
88
- avatar: avatar,
89
- initial: initial,
90
- img: img,
91
- indicator: indicator,
92
- online: online,
93
- offline: offline,
94
- small: small,
95
- large: large
96
- };
97
-
98
- const AvatarElement$1 = forwardRef((props, ref) => {
99
- const { layoutStyles, componentProps } = useLayoutPropsUtil(props);
100
- const { className, color, status, name, image, style, size, ...rest } = componentProps;
101
- const elRef = useRef(null);
102
- const imgRef = useRef(null);
103
- const [hasImageErrored, setHasImageErrored] = useState(false);
104
- const initials = getInitial(name);
105
- const avatarClassNames = cx(styles["avatar"], className, {
106
- [styles[`${size}`]]: size
107
- });
108
- const onlineIndicatorClassNames = cx(styles["indicator"], {
109
- [styles["offline"]]: !status || status === "offline",
110
- [styles["online"]]: status && status === "online"
111
- });
112
- const { mode: themeMode } = useContext(ThemeProviderContext);
113
- const { mode: sysMode } = usePrefersColorScheme();
114
- const mode = themeMode ?? sysMode;
115
- const { foreground, background, border } = useAccessibleColor(color, mode);
116
- const styleWithColor = {
117
- "--int-bg-color": color && background,
118
- "--int-font-color": color && foreground,
119
- "--int-border-color": color && border,
120
- ...style,
121
- ...layoutStyles
122
- };
123
- const onlineIndicatorBorderColor = useMemo(() => {
124
- if (mode === "dark") {
125
- if (color) {
126
- return tinycolor(background).brighten(20).toHexString();
127
- }
128
- }
129
- return "var(--background-color)";
130
- }, [color, mode, background]);
131
- const onlineIndicatorStyles = {
132
- "--int-border-color": onlineIndicatorBorderColor
133
- };
134
- const onlineString = status;
135
- const srOnly = [name, onlineString].filter(Boolean).join(" ");
136
- useEffect(() => {
137
- if (image) {
138
- setHasImageErrored(false);
139
- }
140
- }, [image]);
141
- useEffect(() => {
142
- if (image && imgRef.current && imgRef.current.complete) {
143
- const img = new Image();
144
- img.onerror = () => setHasImageErrored(true);
145
- img.src = image;
146
- }
147
- }, []);
148
- return /* @__PURE__ */ jsxs(
149
- "span",
150
- {
151
- className: avatarClassNames,
152
- style: styleWithColor,
153
- "data-anv": "avatar",
154
- ...rest,
155
- ref: useMergeRefs([elRef, ref]),
156
- children: [
157
- image && !hasImageErrored ? /* @__PURE__ */ jsx(
158
- "img",
159
- {
160
- className: styles["img"],
161
- "aria-hidden": true,
162
- src: image,
163
- alt: name,
164
- onError: () => setHasImageErrored(true),
165
- ref: imgRef
166
- }
167
- ) : initials ? /* @__PURE__ */ jsx("span", { className: styles["initial"], "aria-hidden": true, children: size === "small" && !name.startsWith("+") ? initials[0] : initials }) : /* @__PURE__ */ jsx("span", { "aria-hidden": true, children: "?" }),
168
- status && /* @__PURE__ */ jsx(
169
- "span",
170
- {
171
- "aria-hidden": true,
172
- className: onlineIndicatorClassNames,
173
- style: onlineIndicatorStyles
174
- }
175
- ),
176
- /* @__PURE__ */ jsx(SrOnly, { children: srOnly })
177
- ]
178
- }
179
- );
180
- });
181
- AvatarElement$1.displayName = "Avatar";
182
- const Avatar$1 = Object.assign(AvatarElement$1, {
183
- Group: AvatarGroup$1
184
- });
185
-
186
- const AvatarElement = forwardRef(
187
- (props, ref) => {
188
- return /* @__PURE__ */ jsx(Avatar$1, { ref, ...props });
189
- }
190
- );
191
- const AvatarGroup = forwardRef(
192
- (props, ref) => {
193
- return /* @__PURE__ */ jsx(AvatarGroup$1, { ref, ...props });
194
- }
195
- );
196
- const Avatar = Object.assign(AvatarElement, {
197
- Group: AvatarGroup
198
- });
199
-
200
- export { Avatar as A, AvatarGroup as a };
201
- //# sourceMappingURL=Avatar-DrQgvGgD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Avatar-DrQgvGgD.js","sources":["../../hammer-react/dist/getInitial.js","../../hammer-react/dist/Avatar-CTVGYEDA.js","../src/components/Avatar/Avatar.tsx"],"sourcesContent":["function getInitial(name) {\n if (!name) return void 0;\n const nameArray = name.split(\" \").filter(Boolean);\n if (nameArray.length > 1)\n return `${nameArray[0][0]?.toUpperCase()}${nameArray[nameArray.length - 1][0].toUpperCase()}`;\n if (nameArray[0][1]) {\n return `${nameArray[0][0].toUpperCase()}${nameArray[0][1].toLowerCase()}`;\n }\n return `${nameArray[0][0].toUpperCase()}`;\n}\n\nexport { getInitial };\n//# sourceMappingURL=getInitial.js.map\n","import { jsxs, jsx } from 'react/jsx-runtime';\nimport { forwardRef, Children, isValidElement, cloneElement, useRef, useState, useContext, useMemo, useEffect } from 'react';\nimport cx from 'classnames';\nimport tinycolor from 'tinycolor2';\nimport { S as SrOnly } from './SrOnly-BXm1DGl3.js';\nimport { getInitial } from './getInitial.js';\nimport { a as ThemeProviderContext } from './ThemeProvider-DrK12Ru-.js';\nimport { u as usePrefersColorScheme } from './usePrefersColorScheme-_hT7dK7_.js';\nimport { u as useAccessibleColor } from './useAccessibleColor-Dc6B_M-Z.js';\nimport { u as useMergeRefs } from './useMergeRefs-Bde85AWI.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-3B2XYWSr.js';\n\nimport './Avatar.css';const small$1 = \"_small_a4hzu_21\";\nconst medium = \"_medium_a4hzu_27\";\nconst large$1 = \"_large_a4hzu_33\";\nconst styles$1 = {\n\t\"avatar-group\": \"_avatar-group_a4hzu_3\",\n\tsmall: small$1,\n\tmedium: medium,\n\tlarge: large$1\n};\n\nconst AvatarGroup = forwardRef(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { className, max, style, children, ...rest } = componentProps;\n const childrenArr = Children.toArray(children);\n const inferredSize = (isValidElement(childrenArr[0]) && childrenArr[0].props.size) ?? \"medium\";\n const isOverflowing = max ? max < childrenArr.length : false;\n const avatarGroupClassNames = cx(styles$1[\"avatar-group\"], className, {\n [styles$1[`${inferredSize}`]]: inferredSize\n });\n const styleCombined = {\n ...style,\n ...layoutStyles\n };\n return /* @__PURE__ */ jsxs(\n \"span\",\n {\n ref,\n className: avatarGroupClassNames,\n style: styleCombined,\n \"data-anv\": \"avatar-group\",\n ...rest,\n children: [\n childrenArr.map((child, i) => {\n let childEl = child;\n if (isValidElement(child)) {\n const nIndex = childrenArr.length - i;\n const nStyle = {\n ...child.props.style,\n zIndex: nIndex\n };\n childEl = cloneElement(child, {\n style: nStyle\n });\n }\n if (!max) return childEl;\n if (i < max) return childEl;\n return null;\n }),\n isOverflowing && max && /* @__PURE__ */ jsx(Avatar, { name: `+${childrenArr.length - max}`, size: inferredSize })\n ]\n }\n );\n }\n);\nAvatarGroup.displayName = \"AvatarGroup\";\n\nconst avatar = \"_avatar_it0sq_3\";\nconst initial = \"_initial_it0sq_50\";\nconst img = \"_img_it0sq_58\";\nconst indicator = \"_indicator_it0sq_67\";\nconst online = \"_online_it0sq_81\";\nconst offline = \"_offline_it0sq_84\";\nconst small = \"_small_it0sq_88\";\nconst large = \"_large_it0sq_100\";\nconst styles = {\n\tavatar: avatar,\n\tinitial: initial,\n\timg: img,\n\tindicator: indicator,\n\tonline: online,\n\toffline: offline,\n\tsmall: small,\n\tlarge: large\n};\n\nconst AvatarElement = forwardRef((props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { className, color, status, name, image, style, size, ...rest } = componentProps;\n const elRef = useRef(null);\n const imgRef = useRef(null);\n const [hasImageErrored, setHasImageErrored] = useState(false);\n const initials = getInitial(name);\n const avatarClassNames = cx(styles[\"avatar\"], className, {\n [styles[`${size}`]]: size\n });\n const onlineIndicatorClassNames = cx(styles[\"indicator\"], {\n [styles[\"offline\"]]: !status || status === \"offline\",\n [styles[\"online\"]]: status && status === \"online\"\n });\n const { mode: themeMode } = useContext(ThemeProviderContext);\n const { mode: sysMode } = usePrefersColorScheme();\n const mode = themeMode ?? sysMode;\n const { foreground, background, border } = useAccessibleColor(color, mode);\n const styleWithColor = {\n \"--int-bg-color\": color && background,\n \"--int-font-color\": color && foreground,\n \"--int-border-color\": color && border,\n ...style,\n ...layoutStyles\n };\n const onlineIndicatorBorderColor = useMemo(() => {\n if (mode === \"dark\") {\n if (color) {\n return tinycolor(background).brighten(20).toHexString();\n }\n }\n return \"var(--background-color)\";\n }, [color, mode, background]);\n const onlineIndicatorStyles = {\n \"--int-border-color\": onlineIndicatorBorderColor\n };\n const onlineString = status;\n const srOnly = [name, onlineString].filter(Boolean).join(\" \");\n useEffect(() => {\n if (image) {\n setHasImageErrored(false);\n }\n }, [image]);\n useEffect(() => {\n if (image && imgRef.current && imgRef.current.complete) {\n const img = new Image();\n img.onerror = () => setHasImageErrored(true);\n img.src = image;\n }\n }, []);\n return /* @__PURE__ */ jsxs(\n \"span\",\n {\n className: avatarClassNames,\n style: styleWithColor,\n \"data-anv\": \"avatar\",\n ...rest,\n ref: useMergeRefs([elRef, ref]),\n children: [\n image && !hasImageErrored ? /* @__PURE__ */ jsx(\n \"img\",\n {\n className: styles[\"img\"],\n \"aria-hidden\": true,\n src: image,\n alt: name,\n onError: () => setHasImageErrored(true),\n ref: imgRef\n }\n ) : initials ? /* @__PURE__ */ jsx(\"span\", { className: styles[\"initial\"], \"aria-hidden\": true, children: size === \"small\" && !name.startsWith(\"+\") ? initials[0] : initials }) : /* @__PURE__ */ jsx(\"span\", { \"aria-hidden\": true, children: \"?\" }),\n status && /* @__PURE__ */ jsx(\n \"span\",\n {\n \"aria-hidden\": true,\n className: onlineIndicatorClassNames,\n style: onlineIndicatorStyles\n }\n ),\n /* @__PURE__ */ jsx(SrOnly, { children: srOnly })\n ]\n }\n );\n});\nAvatarElement.displayName = \"Avatar\";\nconst Avatar = Object.assign(AvatarElement, {\n Group: AvatarGroup\n});\n\nexport { Avatar as A, AvatarGroup as a };\n//# sourceMappingURL=Avatar-CTVGYEDA.js.map\n","import {\n Avatar as CoreAvatar,\n AvatarProps as CoreAvatarProps,\n AvatarGroup as CoreAvatarGroup,\n AvatarGroupProps as CoreAvatarGroupProps,\n} from \"@servicetitan/hammer-react\";\nimport { Ref, forwardRef } from \"react\";\n\nexport type AvatarProps = CoreAvatarProps;\nexport type AvatarGroupProps = CoreAvatarGroupProps;\n\nconst AvatarElement = forwardRef(\n (props: AvatarProps, ref: Ref<HTMLSpanElement>) => {\n return <CoreAvatar ref={ref} {...props} />;\n },\n);\n\nexport const AvatarGroup = forwardRef(\n (props: AvatarGroupProps, ref: Ref<HTMLSpanElement>) => {\n return <CoreAvatarGroup ref={ref} {...props} />;\n },\n);\n\nexport const Avatar = Object.assign(AvatarElement, {\n Group: AvatarGroup,\n});\n"],"names":["AvatarGroup","Avatar","AvatarElement","CoreAvatar","CoreAvatarGroup"],"mappings":"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"}