@drivy/cobalt 2.16.3 → 2.18.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.
- package/cjs/tokens/icons.js +3 -0
- package/cjs/tokens/icons.js.map +1 -1
- package/components/Icon/__generated__/CrosshoverIcon.js +19 -0
- package/components/Icon/__generated__/CrosshoverIcon.js.map +1 -0
- package/components/Icon/__generated__/HandDollarIcon.js +19 -0
- package/components/Icon/__generated__/HandDollarIcon.js.map +1 -0
- package/components/Icon/__generated__/PartyIcon.js +19 -0
- package/components/Icon/__generated__/PartyIcon.js.map +1 -0
- package/components/PhotoDropzone/index.js +6 -8
- package/components/PhotoDropzone/index.js.map +1 -1
- package/icons/crosshover.js +4 -0
- package/icons/crosshover.js.map +1 -0
- package/icons/crosshover.svg +1 -0
- package/icons/hand-dollar.js +4 -0
- package/icons/hand-dollar.js.map +1 -0
- package/icons/hand-dollar.svg +1 -0
- package/icons/index.js +3 -0
- package/icons/index.js.map +1 -1
- package/icons/party.js +4 -0
- package/icons/party.js.map +1 -0
- package/icons/party.svg +1 -0
- package/index.js +3 -0
- package/index.js.map +1 -1
- package/package.json +14 -20
- package/tokens/icons.js +3 -0
- package/tokens/icons.js.map +1 -1
- package/types/src/components/Icon/__generated__/CrosshoverIcon.d.ts +9 -0
- package/types/src/components/Icon/__generated__/HandDollarIcon.d.ts +9 -0
- package/types/src/components/Icon/__generated__/PartyIcon.d.ts +9 -0
- package/types/src/components/Icon/__generated__/index.d.ts +3 -0
- package/types/src/icons/index.d.ts +3 -0
- package/types/src/tokens/index.d.ts +3 -0
package/cjs/tokens/icons.js
CHANGED
|
@@ -95,6 +95,7 @@ const icons = {
|
|
|
95
95
|
creditCardAdd: "credit-card-add.svg",
|
|
96
96
|
creditCardError: "credit-card-error.svg",
|
|
97
97
|
creditCard: "credit-card.svg",
|
|
98
|
+
crosshover: "crosshover.svg",
|
|
98
99
|
cruiseControl: "cruise-control.svg",
|
|
99
100
|
dashcam: "dashcam.svg",
|
|
100
101
|
directions: "directions.svg",
|
|
@@ -132,6 +133,7 @@ const icons = {
|
|
|
132
133
|
gift: "gift.svg",
|
|
133
134
|
gps: "gps.svg",
|
|
134
135
|
graphUp: "graph-up.svg",
|
|
136
|
+
handDollar: "hand-dollar.svg",
|
|
135
137
|
healing: "healing.svg",
|
|
136
138
|
heart: "heart.svg",
|
|
137
139
|
height: "height.svg",
|
|
@@ -204,6 +206,7 @@ const icons = {
|
|
|
204
206
|
optionWheelchairAccessible: "option-wheelchair-accessible.svg",
|
|
205
207
|
paperclip: "paperclip.svg",
|
|
206
208
|
parking: "parking.svg",
|
|
209
|
+
party: "party.svg",
|
|
207
210
|
passport: "passport.svg",
|
|
208
211
|
payments: "payments.svg",
|
|
209
212
|
pencil: "pencil.svg",
|
package/cjs/tokens/icons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"icons.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import 'lodash.throttle';
|
|
4
|
+
import camelize from '../../utils/camelize.js';
|
|
5
|
+
|
|
6
|
+
const iconSource = "crosshover";
|
|
7
|
+
const CrosshoverIcon = ({ color, size = 24, contained = false, className, }) => {
|
|
8
|
+
const computedClassName = cx(className, `cobalt-Icon cobalt-Icon--${iconSource}`, {
|
|
9
|
+
[`c-fill-${camelize(color || "")}`]: color,
|
|
10
|
+
"cobalt-Icon--size16": size === 16,
|
|
11
|
+
"cobalt-Icon--size20": size === 20,
|
|
12
|
+
"cobalt-Icon--size32": size === 32,
|
|
13
|
+
"cobalt-Icon--contained": contained,
|
|
14
|
+
});
|
|
15
|
+
return (jsx("span", { className: computedClassName, children: jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [jsx("title", { children: iconSource }), jsx("path", { d: "m14.45 15.75-5.912 5.913-1.326-1.326 3.65-3.65H2.25v-1.875h8.612l-3.65-3.65 1.326-1.325zM16.788 3.663l-3.65 3.65h8.612v1.875h-8.612l3.65 3.65-1.326 1.325L9.55 8.25l5.913-5.913z" })] }) }));
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { CrosshoverIcon as default };
|
|
19
|
+
//# sourceMappingURL=CrosshoverIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CrosshoverIcon.js","sources":["../../../../src/components/Icon/__generated__/CrosshoverIcon.tsx"],"sourcesContent":["import cx from \"classnames\"\nimport { camelize } from \"../../utils\"\nimport type { IconColorsType } from \"../\"\nexport type IconProps = {\n color?: IconColorsType\n size?: 16 | 20 | 24 | 32\n contained?: boolean\n className?: string\n}\nconst iconSource = \"crosshover\"\nconst CrosshoverIcon = ({\n color,\n size = 24,\n contained = false,\n className,\n}: IconProps) => {\n const computedClassName = cx(\n className,\n `cobalt-Icon cobalt-Icon--${iconSource}`,\n {\n [`c-fill-${camelize(color || \"\")}`]: color,\n \"cobalt-Icon--size16\": size === 16,\n \"cobalt-Icon--size20\": size === 20,\n \"cobalt-Icon--size32\": size === 32,\n \"cobalt-Icon--contained\": contained,\n },\n )\n return (\n <span className={computedClassName}>\n {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <title>{iconSource}</title>\n <path d=\"m14.45 15.75-5.912 5.913-1.326-1.326 3.65-3.65H2.25v-1.875h8.612l-3.65-3.65 1.326-1.325zM16.788 3.663l-3.65 3.65h8.612v1.875h-8.612l3.65 3.65-1.326 1.325L9.55 8.25l5.913-5.913z\" />\n </svg>\n }\n </span>\n )\n}\nexport default CrosshoverIcon\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;AASA,MAAM,UAAU,GAAG,YAAY,CAAA;AAC/B,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,EACL,IAAI,GAAG,EAAE,EACT,SAAS,GAAG,KAAK,EACjB,SAAS,GACC,KAAI;IACd,MAAM,iBAAiB,GAAG,EAAE,CAC1B,SAAS,EACT,CAAA,yBAAA,EAA4B,UAAU,CAAA,CAAE,EACxC;QACE,CAAC,CAAA,OAAA,EAAU,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA,CAAE,GAAG,KAAK;QAC1C,qBAAqB,EAAE,IAAI,KAAK,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;AAClC,QAAA,wBAAwB,EAAE,SAAS;AACpC,KAAA,CACF,CAAA;IACD,QACEA,GAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,iBAAiB,EAE9B,QAAA,EAAAC,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAA,QAAA,EAAA,CACzDD,GAAQ,CAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAU,EAAS,CAAA,EAC3BA,GAAM,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,kLAAkL,EAAG,CAAA,CAAA,EAAA,CACzL,EAEH,CAAA,EACR;AACH;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import 'lodash.throttle';
|
|
4
|
+
import camelize from '../../utils/camelize.js';
|
|
5
|
+
|
|
6
|
+
const iconSource = "handDollar";
|
|
7
|
+
const HandDollarIcon = ({ color, size = 24, contained = false, className, }) => {
|
|
8
|
+
const computedClassName = cx(className, `cobalt-Icon cobalt-Icon--${iconSource}`, {
|
|
9
|
+
[`c-fill-${camelize(color || "")}`]: color,
|
|
10
|
+
"cobalt-Icon--size16": size === 16,
|
|
11
|
+
"cobalt-Icon--size20": size === 20,
|
|
12
|
+
"cobalt-Icon--size32": size === 32,
|
|
13
|
+
"cobalt-Icon--contained": contained,
|
|
14
|
+
});
|
|
15
|
+
return (jsx("span", { className: computedClassName, children: jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [jsx("title", { children: iconSource }), jsx("path", { d: "M5.683 14.489c.493 0 .894.4.894.894v5.723c0 .493-.4.894-.894.894H3.894A.894.894 0 0 1 3 21.106v-5.723c0-.494.4-.894.894-.894zM11.763 14.488c1.172 0 2.165.752 2.53 1.799l-.11.07a5 5 0 0 1-2.436.636h-.341a.537.537 0 0 0 0 1.073h.341a6.06 6.06 0 0 0 2.97-.779l.011-.005.01-.007 3.46-2.155a2 2 0 0 1 1.636-.221c.233.128.444.306.602.544.323.484.285 1.033.13 1.473-.154.438-.444.84-.758 1.13l-2.523 2.343A6.03 6.03 0 0 1 13.183 22h-.88a8.3 8.3 0 0 1-2.615-.425l-2.038-.679V15.41l1.123-.561c.472-.236.992-.36 1.52-.36z" }), jsx("path", { fillRule: "evenodd", d: "M12.12 2a5.544 5.544 0 1 1 0 11.088A5.544 5.544 0 0 1 12.12 2m-.338 3.077c-.701.137-1.318.564-1.318 1.348 0 1.66 2.542 1.294 2.543 2.154 0 .305-.285.564-.81.564-.57 0-1.04-.22-1.41-.525l-.592.654c.439.427 1.048.67 1.587.754v.792h.924v-.807c.809-.168 1.34-.746 1.34-1.446 0-1.69-2.54-1.463-2.541-2.132 0-.275.292-.488.793-.488.455 0 .848.153 1.14.35l.493-.723a2.8 2.8 0 0 0-1.225-.502v-.8h-.924z", clipRule: "evenodd" })] }) }));
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { HandDollarIcon as default };
|
|
19
|
+
//# sourceMappingURL=HandDollarIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HandDollarIcon.js","sources":["../../../../src/components/Icon/__generated__/HandDollarIcon.tsx"],"sourcesContent":["import cx from \"classnames\"\nimport { camelize } from \"../../utils\"\nimport type { IconColorsType } from \"../\"\nexport type IconProps = {\n color?: IconColorsType\n size?: 16 | 20 | 24 | 32\n contained?: boolean\n className?: string\n}\nconst iconSource = \"handDollar\"\nconst HandDollarIcon = ({\n color,\n size = 24,\n contained = false,\n className,\n}: IconProps) => {\n const computedClassName = cx(\n className,\n `cobalt-Icon cobalt-Icon--${iconSource}`,\n {\n [`c-fill-${camelize(color || \"\")}`]: color,\n \"cobalt-Icon--size16\": size === 16,\n \"cobalt-Icon--size20\": size === 20,\n \"cobalt-Icon--size32\": size === 32,\n \"cobalt-Icon--contained\": contained,\n },\n )\n return (\n <span className={computedClassName}>\n {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <title>{iconSource}</title>\n <path d=\"M5.683 14.489c.493 0 .894.4.894.894v5.723c0 .493-.4.894-.894.894H3.894A.894.894 0 0 1 3 21.106v-5.723c0-.494.4-.894.894-.894zM11.763 14.488c1.172 0 2.165.752 2.53 1.799l-.11.07a5 5 0 0 1-2.436.636h-.341a.537.537 0 0 0 0 1.073h.341a6.06 6.06 0 0 0 2.97-.779l.011-.005.01-.007 3.46-2.155a2 2 0 0 1 1.636-.221c.233.128.444.306.602.544.323.484.285 1.033.13 1.473-.154.438-.444.84-.758 1.13l-2.523 2.343A6.03 6.03 0 0 1 13.183 22h-.88a8.3 8.3 0 0 1-2.615-.425l-2.038-.679V15.41l1.123-.561c.472-.236.992-.36 1.52-.36z\" />\n <path\n fillRule=\"evenodd\"\n d=\"M12.12 2a5.544 5.544 0 1 1 0 11.088A5.544 5.544 0 0 1 12.12 2m-.338 3.077c-.701.137-1.318.564-1.318 1.348 0 1.66 2.542 1.294 2.543 2.154 0 .305-.285.564-.81.564-.57 0-1.04-.22-1.41-.525l-.592.654c.439.427 1.048.67 1.587.754v.792h.924v-.807c.809-.168 1.34-.746 1.34-1.446 0-1.69-2.54-1.463-2.541-2.132 0-.275.292-.488.793-.488.455 0 .848.153 1.14.35l.493-.723a2.8 2.8 0 0 0-1.225-.502v-.8h-.924z\"\n clipRule=\"evenodd\"\n />\n </svg>\n }\n </span>\n )\n}\nexport default HandDollarIcon\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;AASA,MAAM,UAAU,GAAG,YAAY,CAAA;AAC/B,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,EACL,IAAI,GAAG,EAAE,EACT,SAAS,GAAG,KAAK,EACjB,SAAS,GACC,KAAI;IACd,MAAM,iBAAiB,GAAG,EAAE,CAC1B,SAAS,EACT,CAAA,yBAAA,EAA4B,UAAU,CAAA,CAAE,EACxC;QACE,CAAC,CAAA,OAAA,EAAU,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA,CAAE,GAAG,KAAK;QAC1C,qBAAqB,EAAE,IAAI,KAAK,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;AAClC,QAAA,wBAAwB,EAAE,SAAS;AACpC,KAAA,CACF,CAAA;AACD,IAAA,QACEA,GAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,iBAAiB,EAAA,QAAA,EAE9BC,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,aACzDD,GAAQ,CAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAU,GAAS,EAC3BA,GAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,igBAAigB,EAAG,CAAA,EAC5gBA,cACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,4YAA4Y,EAC9Y,QAAQ,EAAC,SAAS,GAClB,CACE,EAAA,CAAA,EAAA,CAEH,EACR;AACH;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import 'lodash.throttle';
|
|
4
|
+
import camelize from '../../utils/camelize.js';
|
|
5
|
+
|
|
6
|
+
const iconSource = "party";
|
|
7
|
+
const PartyIcon = ({ color, size = 24, contained = false, className, }) => {
|
|
8
|
+
const computedClassName = cx(className, `cobalt-Icon cobalt-Icon--${iconSource}`, {
|
|
9
|
+
[`c-fill-${camelize(color || "")}`]: color,
|
|
10
|
+
"cobalt-Icon--size16": size === 16,
|
|
11
|
+
"cobalt-Icon--size20": size === 20,
|
|
12
|
+
"cobalt-Icon--size32": size === 32,
|
|
13
|
+
"cobalt-Icon--contained": contained,
|
|
14
|
+
});
|
|
15
|
+
return (jsx("span", { className: computedClassName, children: jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [jsx("title", { children: iconSource }), jsx("path", { d: "M7.102 20.272 2.92 22.064a.75.75 0 0 1-.987-.978l1.76-4.223zM11.565 18.36l-3.35 1.434L4.16 15.74l1.407-3.377zM9.334 6.787c.491.036 1.024.205 1.554.45q.205.096.417.21c-.186.39-.293.78-.357 1.118a6 6 0 0 0-.056.372 7 7 0 0 0-.636-.34c-.436-.201-.784-.296-1.03-.314a.7.7 0 0 0-.237.015.2.2 0 0 0-.036.014q-.005.001-.005.002l-.005.007a.2.2 0 0 0-.014.036.7.7 0 0 0-.014.237c.018.246.112.595.315 1.03.402.868 1.16 1.933 2.193 2.966s2.099 1.79 2.966 2.193c.436.203.785.298 1.03.315a.7.7 0 0 0 .237-.014q.03-.009.036-.014.003 0 .005-.003l.002-.002.003-.004.013-.036a.7.7 0 0 0 .015-.238c-.017-.246-.113-.594-.315-1.03a8.3 8.3 0 0 0-.75-1.264c.707.619 1.502 1.106 2.374 1.323l.008.001c.095.295.16.585.18.862.034.49-.06 1.04-.469 1.448-.307.307-.693.436-1.074.467l-3.006 1.288-6.643-6.642 1.523-3.654.042-.084a.75.75 0 0 1 .363-.32c.4-.347.912-.428 1.37-.395M22.606 15.549l-.961 1.152-2.25-1.875.96-1.152z" }), jsx("path", { fillRule: "evenodd", d: "M17.79 2.598c1.263 0 2.404.751 3.152 1.377a10 10 0 0 1 1.196 1.19l.072.087q.013.016.02.026l.007.007.001.002v.002l-.589.463-.59.463-.002-.003-.012-.014-.054-.066a8.617 8.617 0 0 0-1.012-1.007c-.689-.576-1.479-1.027-2.19-1.027-.782 0-1.256.264-1.595.625-.367.39-.617.934-.84 1.565q.17-.015.341-.02c1.005-.016 2.082.303 2.859 1.08.68.68 1.197 1.53 1.428 2.34.218.763.244 1.767-.503 2.395-.598.503-1.348.65-2.124.458-.745-.184-1.491-.673-2.21-1.392a5.04 5.04 0 0 1-1.337-2.408q-.057.145-.095.343c-.062.329-.067.711-.038 1.093a8 8 0 0 0 .21 1.291l.02.079.005.018.001.003-.721.205-.722.204v-.001l-.001-.003-.003-.009-.007-.03q-.011-.037-.027-.102a9.477 9.477 0 0 1-.25-1.542 5.8 5.8 0 0 1 .059-1.483c.094-.498.293-1.041.711-1.46a3.4 3.4 0 0 1 .754-.563c.045-.347.123-.678.23-.981.238-.674.573-1.477 1.168-2.109.625-.664 1.495-1.096 2.687-1.096m-2.069 5.17a3 3 0 0 0-.546.06c.071.79.386 1.615 1.03 2.26.611.61 1.127.902 1.511.997.353.088.6.016.798-.15.05-.043.192-.253.025-.835-.152-.535-.522-1.167-1.046-1.691-.427-.428-1.078-.653-1.772-.64", clipRule: "evenodd" }), jsx("path", { d: "m23.261 8.518-1.875 1.125-.772-1.286 1.875-1.125zM11.994 5.157l-1.488.186-.375-3 1.488-.186z" })] }) }));
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { PartyIcon as default };
|
|
19
|
+
//# sourceMappingURL=PartyIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PartyIcon.js","sources":["../../../../src/components/Icon/__generated__/PartyIcon.tsx"],"sourcesContent":["import cx from \"classnames\"\nimport { camelize } from \"../../utils\"\nimport type { IconColorsType } from \"../\"\nexport type IconProps = {\n color?: IconColorsType\n size?: 16 | 20 | 24 | 32\n contained?: boolean\n className?: string\n}\nconst iconSource = \"party\"\nconst PartyIcon = ({\n color,\n size = 24,\n contained = false,\n className,\n}: IconProps) => {\n const computedClassName = cx(\n className,\n `cobalt-Icon cobalt-Icon--${iconSource}`,\n {\n [`c-fill-${camelize(color || \"\")}`]: color,\n \"cobalt-Icon--size16\": size === 16,\n \"cobalt-Icon--size20\": size === 20,\n \"cobalt-Icon--size32\": size === 32,\n \"cobalt-Icon--contained\": contained,\n },\n )\n return (\n <span className={computedClassName}>\n {\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <title>{iconSource}</title>\n <path d=\"M7.102 20.272 2.92 22.064a.75.75 0 0 1-.987-.978l1.76-4.223zM11.565 18.36l-3.35 1.434L4.16 15.74l1.407-3.377zM9.334 6.787c.491.036 1.024.205 1.554.45q.205.096.417.21c-.186.39-.293.78-.357 1.118a6 6 0 0 0-.056.372 7 7 0 0 0-.636-.34c-.436-.201-.784-.296-1.03-.314a.7.7 0 0 0-.237.015.2.2 0 0 0-.036.014q-.005.001-.005.002l-.005.007a.2.2 0 0 0-.014.036.7.7 0 0 0-.014.237c.018.246.112.595.315 1.03.402.868 1.16 1.933 2.193 2.966s2.099 1.79 2.966 2.193c.436.203.785.298 1.03.315a.7.7 0 0 0 .237-.014q.03-.009.036-.014.003 0 .005-.003l.002-.002.003-.004.013-.036a.7.7 0 0 0 .015-.238c-.017-.246-.113-.594-.315-1.03a8.3 8.3 0 0 0-.75-1.264c.707.619 1.502 1.106 2.374 1.323l.008.001c.095.295.16.585.18.862.034.49-.06 1.04-.469 1.448-.307.307-.693.436-1.074.467l-3.006 1.288-6.643-6.642 1.523-3.654.042-.084a.75.75 0 0 1 .363-.32c.4-.347.912-.428 1.37-.395M22.606 15.549l-.961 1.152-2.25-1.875.96-1.152z\" />\n <path\n fillRule=\"evenodd\"\n d=\"M17.79 2.598c1.263 0 2.404.751 3.152 1.377a10 10 0 0 1 1.196 1.19l.072.087q.013.016.02.026l.007.007.001.002v.002l-.589.463-.59.463-.002-.003-.012-.014-.054-.066a8.617 8.617 0 0 0-1.012-1.007c-.689-.576-1.479-1.027-2.19-1.027-.782 0-1.256.264-1.595.625-.367.39-.617.934-.84 1.565q.17-.015.341-.02c1.005-.016 2.082.303 2.859 1.08.68.68 1.197 1.53 1.428 2.34.218.763.244 1.767-.503 2.395-.598.503-1.348.65-2.124.458-.745-.184-1.491-.673-2.21-1.392a5.04 5.04 0 0 1-1.337-2.408q-.057.145-.095.343c-.062.329-.067.711-.038 1.093a8 8 0 0 0 .21 1.291l.02.079.005.018.001.003-.721.205-.722.204v-.001l-.001-.003-.003-.009-.007-.03q-.011-.037-.027-.102a9.477 9.477 0 0 1-.25-1.542 5.8 5.8 0 0 1 .059-1.483c.094-.498.293-1.041.711-1.46a3.4 3.4 0 0 1 .754-.563c.045-.347.123-.678.23-.981.238-.674.573-1.477 1.168-2.109.625-.664 1.495-1.096 2.687-1.096m-2.069 5.17a3 3 0 0 0-.546.06c.071.79.386 1.615 1.03 2.26.611.61 1.127.902 1.511.997.353.088.6.016.798-.15.05-.043.192-.253.025-.835-.152-.535-.522-1.167-1.046-1.691-.427-.428-1.078-.653-1.772-.64\"\n clipRule=\"evenodd\"\n />\n <path d=\"m23.261 8.518-1.875 1.125-.772-1.286 1.875-1.125zM11.994 5.157l-1.488.186-.375-3 1.488-.186z\" />\n </svg>\n }\n </span>\n )\n}\nexport default PartyIcon\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;AASA,MAAM,UAAU,GAAG,OAAO,CAAA;AAC1B,MAAM,SAAS,GAAG,CAAC,EACjB,KAAK,EACL,IAAI,GAAG,EAAE,EACT,SAAS,GAAG,KAAK,EACjB,SAAS,GACC,KAAI;IACd,MAAM,iBAAiB,GAAG,EAAE,CAC1B,SAAS,EACT,CAAA,yBAAA,EAA4B,UAAU,CAAA,CAAE,EACxC;QACE,CAAC,CAAA,OAAA,EAAU,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA,CAAE,GAAG,KAAK;QAC1C,qBAAqB,EAAE,IAAI,KAAK,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;QAClC,qBAAqB,EAAE,IAAI,KAAK,EAAE;AAClC,QAAA,wBAAwB,EAAE,SAAS;AACpC,KAAA,CACF,CAAA;IACD,QACEA,cAAM,SAAS,EAAE,iBAAiB,EAE9B,QAAA,EAAAC,IAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EACzD,QAAA,EAAA,CAAAD,GAAA,CAAA,OAAA,EAAA,EAAA,QAAA,EAAQ,UAAU,EAAS,CAAA,EAC3BA,GAAM,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,k4BAAk4B,GAAG,EAC74BA,GAAA,CAAA,MAAA,EAAA,EACE,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,4gCAA4gC,EAC9gC,QAAQ,EAAC,SAAS,EAClB,CAAA,EACFA,cAAM,CAAC,EAAC,8FAA8F,EAAG,CAAA,CAAA,EAAA,CACrG,EAEH,CAAA,EACR;AACH;;;;"}
|
|
@@ -52,9 +52,9 @@ const PhotoDropzone = ({ className, description, deleteContent, errorContent, on
|
|
|
52
52
|
};
|
|
53
53
|
const onDropzoneClick = (event) => {
|
|
54
54
|
var _a;
|
|
55
|
+
event && preventEventDefaults(event);
|
|
55
56
|
if (isMobile && showDeletePopover)
|
|
56
57
|
return;
|
|
57
|
-
event && preventEventDefaults(event);
|
|
58
58
|
if (isLoading)
|
|
59
59
|
return;
|
|
60
60
|
if (isErrored)
|
|
@@ -152,9 +152,7 @@ const PhotoDropzone = ({ className, description, deleteContent, errorContent, on
|
|
|
152
152
|
"cobalt-photo-dropzone--loading": isLoading,
|
|
153
153
|
"cobalt-photo-dropzone--errored": isErrored,
|
|
154
154
|
"cobalt-photo-dropzone--imageVisible": isImageLoaded,
|
|
155
|
-
}), onMouseEnter: onDropzoneMouseEnter, onMouseLeave: onDropzoneMouseLeave, onDragEnter: onDragEnter, onDragLeave: onDragLeave,
|
|
156
|
-
// Not on click because we also use mouseEnter listener
|
|
157
|
-
onMouseUp: onDropzoneClick, onTouchEnd: onDropzoneClick, onKeyUp: onDropzoneKey, onDrop: onDrop,
|
|
155
|
+
}), onMouseEnter: onDropzoneMouseEnter, onMouseLeave: onDropzoneMouseLeave, onDragEnter: onDragEnter, onDragLeave: onDragLeave, onClick: onDropzoneClick, onKeyUp: onDropzoneKey, onDrop: onDrop,
|
|
158
156
|
// Need to reset those listeners to avoid default browser behaviour
|
|
159
157
|
onDragStart: preventEventDefaults, onDragEnd: preventEventDefaults, onDragOver: preventEventDefaults, children: [isErrored && (jsxs("div", { className: "cobalt-photo-dropzone__description", children: [jsx(ContextualWarningCircleFilledIcon, { color: "error" }), errorContent(ACCEPTED_TYPES_LOCALE_STRING, ACCEPTED_MAX_SIZE_MB)] })), isLoading && (jsx("div", { className: "cobalt-photo-dropzone__description", children: jsx(LoadingIcon, {}) })), !isLoading &&
|
|
160
158
|
!isErrored &&
|
|
@@ -162,10 +160,10 @@ const PhotoDropzone = ({ className, description, deleteContent, errorContent, on
|
|
|
162
160
|
setIsImageLoaded(true);
|
|
163
161
|
} }), jsxs("div", { children: [jsx("button", { type: "button", className: cx("cobalt-photo-dropzone__delete-button", {
|
|
164
162
|
"cobalt-photo-dropzone__delete-button--triggered": displayDeletion,
|
|
165
|
-
}), ref: deleteButtonRef,
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
163
|
+
}), ref: deleteButtonRef, onClick: onDeleteButtonClick, onKeyUp: onDeleteKey, children: jsx(BinIcon, { color: "onSurface" }) }), deleteContentMode === "modal" && (jsx(Modal, { isOpen: showDeletePopover, "aria-label": "delete", bodySpacing: false, children: deleteContent(onDelete, closeDeletePopover) })), deleteContentMode === "popover" && (jsx(Popover, { targetRef: deleteButtonRef, isOpen: showDeletePopover, close: closeDeletePopover, placement: "left-start", distance: 12, bodySpacing: false, arrow: true, children: deleteContent(onDelete, closeDeletePopover) }))] })] })) : (jsxs("div", { className: "cobalt-photo-dropzone__description cobalt-photo-dropzone__description--strong", children: [description && jsx("div", { children: description }), jsx(PlusIcon, {})] }))), jsx("input", { ref: fileInputRef, className: "cobalt-photo-dropzone__hidden-input", type: "file", onChange: onFileInputChanged,
|
|
164
|
+
// Prevent the bubbled click from re-entering the label's onClick,
|
|
165
|
+
// which would cancel the file dialog via preventDefault.
|
|
166
|
+
onClick: (event) => event.stopPropagation(), accept: ACCEPTED_PHOTOS_TYPES.map((ext) => `.${ext}`).join(","), multiple: false })] }));
|
|
169
167
|
};
|
|
170
168
|
|
|
171
169
|
export { PhotoDropzone as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/PhotoDropzone/index.tsx"],"sourcesContent":["import cx from \"classnames\"\nimport {\n type ChangeEvent as ReactChangeEvent,\n type DragEvent as ReactDragEvent,\n type KeyboardEvent as ReactKeyboardEvent,\n type MouseEvent as ReactMouseEvent,\n type ReactNode,\n type TouchEvent as ReactTouchEvent,\n useEffect,\n useRef,\n useState,\n} from \"react\"\nimport useBreakpoint from \"../../hooks/useBreakpoint\"\nimport {\n BinIcon,\n ContextualWarningCircleFilledIcon,\n LoadingIcon,\n PlusIcon,\n} from \"../Icon\"\nimport Modal from \"../Modal\"\nimport Popover from \"../Popover\"\nimport { validateFile } from \"../utils/validateFile\"\n\nconst ACCEPTED_MAX_SIZE_MB = 10\nconst ACCEPTED_PHOTOS_TYPES = [\"jpg\", \"jpeg\", \"png\", \"gif\"]\nconst ERROR_DISPLAY_TIME = 6000\nconst ACCEPTED_TYPES_LOCALE_STRING = ACCEPTED_PHOTOS_TYPES.join(\", \")\n\nexport type PhotoDropzonePropsType = {\n className?: string\n description?: string\n deleteContent: (onDelete: () => void, close: () => void) => ReactNode\n deleteContentMode?: \"popover\" | \"modal\"\n errorContent: (acceptedTypes: string, maxFileSize: number) => ReactNode\n onDropped: (file: File) => Promise<void> | void\n onPhotoDelete?: () => void\n initialImageUrl?: string\n}\n\nconst preventEventDefaults = (\n e: ReactDragEvent | ReactMouseEvent | ReactKeyboardEvent | ReactTouchEvent,\n) => {\n e.preventDefault?.()\n e.stopPropagation?.()\n}\n\nconst isEnterOrSpaceKey = (event: ReactKeyboardEvent) =>\n event.key === \"Enter\" || event.key === \" \"\n\nconst PhotoDropzone = ({\n className,\n description,\n deleteContent,\n errorContent,\n onDropped,\n onPhotoDelete,\n deleteContentMode = \"popover\",\n initialImageUrl = \"\",\n}: PhotoDropzonePropsType) => {\n const { isMobile } = useBreakpoint()\n const fileInputRef = useRef<HTMLInputElement>(null)\n const deleteButtonRef = useRef<HTMLButtonElement>(null)\n const [isDragging, setIsDragging] = useState(false)\n const [isLoading, setIsLoading] = useState(false)\n const [isErrored, setIsErrored] = useState(false)\n const [imagePreviewUrl, setImagePreviewUrl] = useState(initialImageUrl)\n const [displayDeletion, setDisplayDeletion] = useState(false)\n const [showDeletePopover, setShowDeletePopover] = useState(false)\n const [isImageLoaded, setIsImageLoaded] = useState(false)\n\n const openDeletePopover = (\n event?: ReactMouseEvent | ReactKeyboardEvent | ReactTouchEvent,\n ) => {\n event && preventEventDefaults(event)\n setShowDeletePopover(true)\n }\n const closeDeletePopover = (event?: ReactMouseEvent | ReactTouchEvent) => {\n event && preventEventDefaults(event)\n setShowDeletePopover(false)\n }\n\n const onDropzoneMouseEnter = (event?: ReactMouseEvent) => {\n event && preventEventDefaults(event)\n if (imagePreviewUrl) setDisplayDeletion(true)\n }\n\n const onDropzoneMouseLeave = (event?: ReactMouseEvent) => {\n event && preventEventDefaults(event)\n if (displayDeletion && !showDeletePopover) setDisplayDeletion(false)\n }\n\n const onDropzoneClick = (event?: ReactMouseEvent | ReactTouchEvent) => {\n if (isMobile && showDeletePopover) return\n event && preventEventDefaults(event)\n if (isLoading) return\n if (isErrored) setIsErrored(false)\n if (imagePreviewUrl) {\n if (showDeletePopover) closeDeletePopover()\n return setDisplayDeletion(!displayDeletion)\n }\n fileInputRef.current?.click()\n }\n\n const onDropzoneKey = (event: ReactKeyboardEvent) => {\n if (showDeletePopover) return\n if (isEnterOrSpaceKey(event)) {\n onDropzoneClick()\n }\n }\n\n const onDeleteKey = (event: ReactKeyboardEvent) => {\n if (isEnterOrSpaceKey(event)) {\n openDeletePopover(event)\n }\n }\n\n const onDelete = () => {\n if (fileInputRef.current) fileInputRef.current.value = \"\"\n closeDeletePopover()\n setImagePreviewUrl(\"\")\n onPhotoDelete?.()\n }\n\n const onDragEnter = (event: ReactDragEvent) => {\n preventEventDefaults(event)\n if (isErrored) setIsErrored(false)\n !imagePreviewUrl && setIsDragging(true)\n }\n\n const onDragLeave = (event: ReactDragEvent) => {\n preventEventDefaults(event)\n setIsDragging(false)\n }\n\n const processFile = async (fileToProcess: File) => {\n setIsDragging(false)\n setIsErrored(false)\n setIsLoading(true)\n\n const isValidFile = await validateFile(\n fileToProcess,\n (fileToValidate, extension) => {\n const maxFileSize = ACCEPTED_MAX_SIZE_MB * 1000 * 1000\n const acceptedFileTypes = ACCEPTED_PHOTOS_TYPES\n\n if (fileToValidate.size > maxFileSize) {\n return false\n } else if (!extension || !acceptedFileTypes.includes(extension)) {\n return false\n } else {\n return true\n }\n },\n )\n\n if (isValidFile) {\n const imageSrc = URL.createObjectURL(fileToProcess)\n setImagePreviewUrl(imageSrc)\n await onDropped(fileToProcess)\n setIsLoading(false)\n } else {\n setIsLoading(false)\n setIsErrored(true)\n setTimeout(() => {\n setIsErrored(false)\n }, ERROR_DISPLAY_TIME)\n }\n }\n\n const onFileInputChanged = (event: ReactChangeEvent<HTMLInputElement>) => {\n if (event.target.files?.length) {\n processFile(event.target.files[0])\n }\n }\n\n const onDrop = (event: ReactDragEvent<HTMLLabelElement>) => {\n preventEventDefaults(event)\n if (event.dataTransfer?.files?.length && !imagePreviewUrl) {\n processFile(event.dataTransfer.files[0])\n }\n }\n\n useEffect(() => {\n if (imagePreviewUrl) setIsImageLoaded(false)\n }, [imagePreviewUrl])\n\n const onDeleteButtonClick = showDeletePopover\n ? closeDeletePopover\n : openDeletePopover\n\n return (\n <label\n className={cx(\"cobalt-photo-dropzone\", className, {\n \"cobalt-photo-dropzone--filled\": imagePreviewUrl,\n \"cobalt-photo-dropzone--dragging\": isDragging,\n \"cobalt-photo-dropzone--loading\": isLoading,\n \"cobalt-photo-dropzone--errored\": isErrored,\n \"cobalt-photo-dropzone--imageVisible\": isImageLoaded,\n })}\n onMouseEnter={onDropzoneMouseEnter}\n onMouseLeave={onDropzoneMouseLeave}\n onDragEnter={onDragEnter}\n onDragLeave={onDragLeave}\n // Not on click because we also use mouseEnter listener\n onMouseUp={onDropzoneClick}\n onTouchEnd={onDropzoneClick}\n onKeyUp={onDropzoneKey}\n onDrop={onDrop}\n // Need to reset those listeners to avoid default browser behaviour\n onDragStart={preventEventDefaults}\n onDragEnd={preventEventDefaults}\n onDragOver={preventEventDefaults}\n >\n {isErrored && (\n <div className=\"cobalt-photo-dropzone__description\">\n <ContextualWarningCircleFilledIcon color=\"error\" />\n {errorContent(ACCEPTED_TYPES_LOCALE_STRING, ACCEPTED_MAX_SIZE_MB)}\n </div>\n )}\n {isLoading && (\n <div className=\"cobalt-photo-dropzone__description\">\n <LoadingIcon />\n </div>\n )}\n {!isLoading &&\n !isErrored &&\n (imagePreviewUrl ? (\n <>\n <img\n className=\"cobalt-photo-dropzone__preview\"\n src={imagePreviewUrl}\n alt=\"Uploaded preview\"\n onLoad={() => {\n setIsImageLoaded(true)\n }}\n />\n <div>\n <button\n type=\"button\"\n className={cx(\"cobalt-photo-dropzone__delete-button\", {\n \"cobalt-photo-dropzone__delete-button--triggered\":\n displayDeletion,\n })}\n ref={deleteButtonRef}\n // Must follow the click listeners on the dropzone,\n // in order to have the correct events bubbling\n onTouchEnd={onDeleteButtonClick}\n onMouseUp={onDeleteButtonClick}\n onKeyUp={onDeleteKey}\n >\n <BinIcon color=\"onSurface\" />\n </button>\n {deleteContentMode === \"modal\" && (\n <Modal\n isOpen={showDeletePopover}\n aria-label=\"delete\"\n bodySpacing={false}\n >\n {deleteContent(onDelete, closeDeletePopover)}\n </Modal>\n )}\n\n {deleteContentMode === \"popover\" && (\n <Popover\n targetRef={deleteButtonRef}\n isOpen={showDeletePopover}\n close={closeDeletePopover}\n placement=\"left-start\"\n distance={12}\n bodySpacing={false}\n arrow\n >\n {deleteContent(onDelete, closeDeletePopover)}\n </Popover>\n )}\n </div>\n </>\n ) : (\n <div className=\"cobalt-photo-dropzone__description cobalt-photo-dropzone__description--strong\">\n {description && <div>{description}</div>}\n <PlusIcon />\n </div>\n ))}\n <input\n ref={fileInputRef}\n className=\"cobalt-photo-dropzone__hidden-input\"\n type=\"file\"\n onChange={onFileInputChanged}\n accept={ACCEPTED_PHOTOS_TYPES.map((ext) => `.${ext}`).join(\",\")}\n multiple={false}\n />\n </label>\n )\n}\n\nexport default PhotoDropzone\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/PhotoDropzone/index.tsx"],"sourcesContent":["import cx from \"classnames\"\nimport {\n type ChangeEvent as ReactChangeEvent,\n type DragEvent as ReactDragEvent,\n type KeyboardEvent as ReactKeyboardEvent,\n type MouseEvent as ReactMouseEvent,\n type ReactNode,\n type TouchEvent as ReactTouchEvent,\n useEffect,\n useRef,\n useState,\n} from \"react\"\nimport useBreakpoint from \"../../hooks/useBreakpoint\"\nimport {\n BinIcon,\n ContextualWarningCircleFilledIcon,\n LoadingIcon,\n PlusIcon,\n} from \"../Icon\"\nimport Modal from \"../Modal\"\nimport Popover from \"../Popover\"\nimport { validateFile } from \"../utils/validateFile\"\n\nconst ACCEPTED_MAX_SIZE_MB = 10\nconst ACCEPTED_PHOTOS_TYPES = [\"jpg\", \"jpeg\", \"png\", \"gif\"]\nconst ERROR_DISPLAY_TIME = 6000\nconst ACCEPTED_TYPES_LOCALE_STRING = ACCEPTED_PHOTOS_TYPES.join(\", \")\n\nexport type PhotoDropzonePropsType = {\n className?: string\n description?: string\n deleteContent: (onDelete: () => void, close: () => void) => ReactNode\n deleteContentMode?: \"popover\" | \"modal\"\n errorContent: (acceptedTypes: string, maxFileSize: number) => ReactNode\n onDropped: (file: File) => Promise<void> | void\n onPhotoDelete?: () => void\n initialImageUrl?: string\n}\n\nconst preventEventDefaults = (\n e: ReactDragEvent | ReactMouseEvent | ReactKeyboardEvent | ReactTouchEvent,\n) => {\n e.preventDefault?.()\n e.stopPropagation?.()\n}\n\nconst isEnterOrSpaceKey = (event: ReactKeyboardEvent) =>\n event.key === \"Enter\" || event.key === \" \"\n\nconst PhotoDropzone = ({\n className,\n description,\n deleteContent,\n errorContent,\n onDropped,\n onPhotoDelete,\n deleteContentMode = \"popover\",\n initialImageUrl = \"\",\n}: PhotoDropzonePropsType) => {\n const { isMobile } = useBreakpoint()\n const fileInputRef = useRef<HTMLInputElement>(null)\n const deleteButtonRef = useRef<HTMLButtonElement>(null)\n const [isDragging, setIsDragging] = useState(false)\n const [isLoading, setIsLoading] = useState(false)\n const [isErrored, setIsErrored] = useState(false)\n const [imagePreviewUrl, setImagePreviewUrl] = useState(initialImageUrl)\n const [displayDeletion, setDisplayDeletion] = useState(false)\n const [showDeletePopover, setShowDeletePopover] = useState(false)\n const [isImageLoaded, setIsImageLoaded] = useState(false)\n\n const openDeletePopover = (\n event?: ReactMouseEvent | ReactKeyboardEvent | ReactTouchEvent,\n ) => {\n event && preventEventDefaults(event)\n setShowDeletePopover(true)\n }\n const closeDeletePopover = (event?: ReactMouseEvent | ReactTouchEvent) => {\n event && preventEventDefaults(event)\n setShowDeletePopover(false)\n }\n\n const onDropzoneMouseEnter = (event?: ReactMouseEvent) => {\n event && preventEventDefaults(event)\n if (imagePreviewUrl) setDisplayDeletion(true)\n }\n\n const onDropzoneMouseLeave = (event?: ReactMouseEvent) => {\n event && preventEventDefaults(event)\n if (displayDeletion && !showDeletePopover) setDisplayDeletion(false)\n }\n\n const onDropzoneClick = (event?: ReactMouseEvent | ReactTouchEvent) => {\n event && preventEventDefaults(event)\n if (isMobile && showDeletePopover) return\n if (isLoading) return\n if (isErrored) setIsErrored(false)\n if (imagePreviewUrl) {\n if (showDeletePopover) closeDeletePopover()\n return setDisplayDeletion(!displayDeletion)\n }\n fileInputRef.current?.click()\n }\n\n const onDropzoneKey = (event: ReactKeyboardEvent) => {\n if (showDeletePopover) return\n if (isEnterOrSpaceKey(event)) {\n onDropzoneClick()\n }\n }\n\n const onDeleteKey = (event: ReactKeyboardEvent) => {\n if (isEnterOrSpaceKey(event)) {\n openDeletePopover(event)\n }\n }\n\n const onDelete = () => {\n if (fileInputRef.current) fileInputRef.current.value = \"\"\n closeDeletePopover()\n setImagePreviewUrl(\"\")\n onPhotoDelete?.()\n }\n\n const onDragEnter = (event: ReactDragEvent) => {\n preventEventDefaults(event)\n if (isErrored) setIsErrored(false)\n !imagePreviewUrl && setIsDragging(true)\n }\n\n const onDragLeave = (event: ReactDragEvent) => {\n preventEventDefaults(event)\n setIsDragging(false)\n }\n\n const processFile = async (fileToProcess: File) => {\n setIsDragging(false)\n setIsErrored(false)\n setIsLoading(true)\n\n const isValidFile = await validateFile(\n fileToProcess,\n (fileToValidate, extension) => {\n const maxFileSize = ACCEPTED_MAX_SIZE_MB * 1000 * 1000\n const acceptedFileTypes = ACCEPTED_PHOTOS_TYPES\n\n if (fileToValidate.size > maxFileSize) {\n return false\n } else if (!extension || !acceptedFileTypes.includes(extension)) {\n return false\n } else {\n return true\n }\n },\n )\n\n if (isValidFile) {\n const imageSrc = URL.createObjectURL(fileToProcess)\n setImagePreviewUrl(imageSrc)\n await onDropped(fileToProcess)\n setIsLoading(false)\n } else {\n setIsLoading(false)\n setIsErrored(true)\n setTimeout(() => {\n setIsErrored(false)\n }, ERROR_DISPLAY_TIME)\n }\n }\n\n const onFileInputChanged = (event: ReactChangeEvent<HTMLInputElement>) => {\n if (event.target.files?.length) {\n processFile(event.target.files[0])\n }\n }\n\n const onDrop = (event: ReactDragEvent<HTMLLabelElement>) => {\n preventEventDefaults(event)\n if (event.dataTransfer?.files?.length && !imagePreviewUrl) {\n processFile(event.dataTransfer.files[0])\n }\n }\n\n useEffect(() => {\n if (imagePreviewUrl) setIsImageLoaded(false)\n }, [imagePreviewUrl])\n\n const onDeleteButtonClick = showDeletePopover\n ? closeDeletePopover\n : openDeletePopover\n\n return (\n <label\n className={cx(\"cobalt-photo-dropzone\", className, {\n \"cobalt-photo-dropzone--filled\": imagePreviewUrl,\n \"cobalt-photo-dropzone--dragging\": isDragging,\n \"cobalt-photo-dropzone--loading\": isLoading,\n \"cobalt-photo-dropzone--errored\": isErrored,\n \"cobalt-photo-dropzone--imageVisible\": isImageLoaded,\n })}\n onMouseEnter={onDropzoneMouseEnter}\n onMouseLeave={onDropzoneMouseLeave}\n onDragEnter={onDragEnter}\n onDragLeave={onDragLeave}\n onClick={onDropzoneClick}\n onKeyUp={onDropzoneKey}\n onDrop={onDrop}\n // Need to reset those listeners to avoid default browser behaviour\n onDragStart={preventEventDefaults}\n onDragEnd={preventEventDefaults}\n onDragOver={preventEventDefaults}\n >\n {isErrored && (\n <div className=\"cobalt-photo-dropzone__description\">\n <ContextualWarningCircleFilledIcon color=\"error\" />\n {errorContent(ACCEPTED_TYPES_LOCALE_STRING, ACCEPTED_MAX_SIZE_MB)}\n </div>\n )}\n {isLoading && (\n <div className=\"cobalt-photo-dropzone__description\">\n <LoadingIcon />\n </div>\n )}\n {!isLoading &&\n !isErrored &&\n (imagePreviewUrl ? (\n <>\n <img\n className=\"cobalt-photo-dropzone__preview\"\n src={imagePreviewUrl}\n alt=\"Uploaded preview\"\n onLoad={() => {\n setIsImageLoaded(true)\n }}\n />\n <div>\n <button\n type=\"button\"\n className={cx(\"cobalt-photo-dropzone__delete-button\", {\n \"cobalt-photo-dropzone__delete-button--triggered\":\n displayDeletion,\n })}\n ref={deleteButtonRef}\n onClick={onDeleteButtonClick}\n onKeyUp={onDeleteKey}\n >\n <BinIcon color=\"onSurface\" />\n </button>\n {deleteContentMode === \"modal\" && (\n <Modal\n isOpen={showDeletePopover}\n aria-label=\"delete\"\n bodySpacing={false}\n >\n {deleteContent(onDelete, closeDeletePopover)}\n </Modal>\n )}\n\n {deleteContentMode === \"popover\" && (\n <Popover\n targetRef={deleteButtonRef}\n isOpen={showDeletePopover}\n close={closeDeletePopover}\n placement=\"left-start\"\n distance={12}\n bodySpacing={false}\n arrow\n >\n {deleteContent(onDelete, closeDeletePopover)}\n </Popover>\n )}\n </div>\n </>\n ) : (\n <div className=\"cobalt-photo-dropzone__description cobalt-photo-dropzone__description--strong\">\n {description && <div>{description}</div>}\n <PlusIcon />\n </div>\n ))}\n <input\n ref={fileInputRef}\n className=\"cobalt-photo-dropzone__hidden-input\"\n type=\"file\"\n onChange={onFileInputChanged}\n // Prevent the bubbled click from re-entering the label's onClick,\n // which would cancel the file dialog via preventDefault.\n onClick={(event) => event.stopPropagation()}\n accept={ACCEPTED_PHOTOS_TYPES.map((ext) => `.${ext}`).join(\",\")}\n multiple={false}\n />\n </label>\n )\n}\n\nexport default PhotoDropzone\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var crosshover = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"m14.45 15.75-5.912 5.913-1.326-1.326 3.65-3.65H2.25v-1.875h8.612l-3.65-3.65 1.326-1.325zm2.338-12.087-3.65 3.65h8.612v1.875h-8.612l3.65 3.65-1.326 1.325L9.55 8.25l5.913-5.913z\"/></svg>";
|
|
2
|
+
|
|
3
|
+
export { crosshover as default };
|
|
4
|
+
//# sourceMappingURL=crosshover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crosshover.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m14.45 15.75-5.912 5.913-1.326-1.326 3.65-3.65H2.25v-1.875h8.612l-3.65-3.65 1.326-1.325zM16.788 3.663l-3.65 3.65h8.612v1.875h-8.612l3.65 3.65-1.326 1.325L9.55 8.25l5.913-5.913z"/></svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var handDollar = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M5.683 14.489c.493 0 .894.4.894.894v5.723c0 .493-.4.894-.894.894H3.894A.894.894 0 0 1 3 21.106v-5.723c0-.494.4-.894.894-.894zm6.08-.001a2.68 2.68 0 0 1 2.53 1.799l-.11.07a5 5 0 0 1-2.436.636h-.341a.537.537 0 0 0 0 1.073h.341a6.06 6.06 0 0 0 2.97-.779l.011-.005.01-.007 3.46-2.155a2 2 0 0 1 1.636-.221c.233.128.444.306.602.544.323.484.285 1.033.13 1.473-.154.438-.444.84-.758 1.13l-2.523 2.343A6.03 6.03 0 0 1 13.183 22h-.88a8.3 8.3 0 0 1-2.615-.425l-2.038-.679V15.41l1.123-.561c.472-.236.992-.36 1.52-.36z\"/><path fill-rule=\"evenodd\" d=\"M12.12 2a5.544 5.544 0 1 1 0 11.088A5.544 5.544 0 0 1 12.12 2m-.338 3.077c-.701.137-1.318.564-1.318 1.348 0 1.66 2.542 1.294 2.543 2.154 0 .305-.285.564-.81.564-.57 0-1.04-.22-1.41-.525l-.592.654c.439.427 1.048.67 1.587.754v.792h.924v-.807c.809-.168 1.34-.746 1.34-1.446 0-1.69-2.54-1.463-2.541-2.132 0-.275.292-.488.793-.488.455 0 .848.153 1.14.35l.493-.723a2.8 2.8 0 0 0-1.225-.502v-.8h-.924z\" clip-rule=\"evenodd\"/></svg>";
|
|
2
|
+
|
|
3
|
+
export { handDollar as default };
|
|
4
|
+
//# sourceMappingURL=hand-dollar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hand-dollar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5.683 14.489c.493 0 .894.4.894.894v5.723c0 .493-.4.894-.894.894H3.894A.894.894 0 0 1 3 21.106v-5.723c0-.494.4-.894.894-.894zM11.763 14.488c1.172 0 2.165.752 2.53 1.799l-.11.07a5 5 0 0 1-2.436.636h-.341a.537.537 0 0 0 0 1.073h.341a6.06 6.06 0 0 0 2.97-.779l.011-.005.01-.007 3.46-2.155a2 2 0 0 1 1.636-.221c.233.128.444.306.602.544.323.484.285 1.033.13 1.473-.154.438-.444.84-.758 1.13l-2.523 2.343A6.03 6.03 0 0 1 13.183 22h-.88a8.3 8.3 0 0 1-2.615-.425l-2.038-.679V15.41l1.123-.561c.472-.236.992-.36 1.52-.36z"/><path fill-rule="evenodd" d="M12.12 2a5.544 5.544 0 1 1 0 11.088A5.544 5.544 0 0 1 12.12 2m-.338 3.077c-.701.137-1.318.564-1.318 1.348 0 1.66 2.542 1.294 2.543 2.154 0 .305-.285.564-.81.564-.57 0-1.04-.22-1.41-.525l-.592.654c.439.427 1.048.67 1.587.754v.792h.924v-.807c.809-.168 1.34-.746 1.34-1.446 0-1.69-2.54-1.463-2.541-2.132 0-.275.292-.488.793-.488.455 0 .848.153 1.14.35l.493-.723a2.8 2.8 0 0 0-1.225-.502v-.8h-.924z" clip-rule="evenodd"/></svg>
|
package/icons/index.js
CHANGED
|
@@ -90,6 +90,7 @@ export { default as coupe } from './coupe.js';
|
|
|
90
90
|
export { default as creditCard } from './credit-card.js';
|
|
91
91
|
export { default as creditCardAdd } from './credit-card-add.js';
|
|
92
92
|
export { default as creditCardError } from './credit-card-error.js';
|
|
93
|
+
export { default as crosshover } from './crosshover.js';
|
|
93
94
|
export { default as cruiseControl } from './cruise-control.js';
|
|
94
95
|
export { default as dashcam } from './dashcam.js';
|
|
95
96
|
export { default as directions } from './directions.js';
|
|
@@ -127,6 +128,7 @@ export { default as geolocation } from './geolocation.js';
|
|
|
127
128
|
export { default as gift } from './gift.js';
|
|
128
129
|
export { default as gps } from './gps.js';
|
|
129
130
|
export { default as graphUp } from './graph-up.js';
|
|
131
|
+
export { default as handDollar } from './hand-dollar.js';
|
|
130
132
|
export { default as healing } from './healing.js';
|
|
131
133
|
export { default as heart } from './heart.js';
|
|
132
134
|
export { default as height } from './height.js';
|
|
@@ -199,6 +201,7 @@ export { default as optionSnowTire } from './option-snow-tire.js';
|
|
|
199
201
|
export { default as optionWheelchairAccessible } from './option-wheelchair-accessible.js';
|
|
200
202
|
export { default as paperclip } from './paperclip.js';
|
|
201
203
|
export { default as parking } from './parking.js';
|
|
204
|
+
export { default as party } from './party.js';
|
|
202
205
|
export { default as passport } from './passport.js';
|
|
203
206
|
export { default as payments } from './payments.js';
|
|
204
207
|
export { default as pencil } from './pencil.js';
|
package/icons/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/icons/party.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var party = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M7.102 20.272 2.92 22.064a.75.75 0 0 1-.987-.978l1.76-4.223zm4.463-1.912-3.35 1.434L4.16 15.74l1.407-3.377zM9.334 6.787c.491.036 1.024.205 1.554.45q.205.096.417.21c-.186.39-.293.78-.357 1.118a6 6 0 0 0-.056.372 7 7 0 0 0-.636-.34c-.436-.201-.784-.296-1.03-.314a.7.7 0 0 0-.237.015.2.2 0 0 0-.036.014l-.005.002-.005.007a.2.2 0 0 0-.014.036.7.7 0 0 0-.014.237c.018.246.112.595.315 1.03.402.868 1.16 1.933 2.193 2.966s2.099 1.79 2.966 2.193c.436.203.785.298 1.03.315a.7.7 0 0 0 .237-.014q.03-.009.036-.014.003 0 .005-.003l.002-.002.003-.004.013-.036a.7.7 0 0 0 .015-.238c-.017-.246-.113-.594-.315-1.03a8.3 8.3 0 0 0-.75-1.264c.707.619 1.502 1.106 2.374 1.323l.008.001c.095.295.16.585.18.862.034.49-.06 1.04-.469 1.448-.307.307-.693.436-1.074.467l-3.006 1.288-6.643-6.642 1.523-3.654.042-.084a.75.75 0 0 1 .363-.32c.4-.347.912-.428 1.37-.395m13.273 8.762-.961 1.152-2.25-1.875.96-1.152z\"/><path fill-rule=\"evenodd\" d=\"M17.79 2.598c1.263 0 2.404.751 3.152 1.377a10 10 0 0 1 1.196 1.19l.072.087.02.026.007.007.001.002v.002l-.589.463-.59.463-.002-.003-.012-.014-.054-.066a8.617 8.617 0 0 0-1.012-1.007c-.689-.576-1.479-1.027-2.19-1.027-.782 0-1.256.264-1.595.625-.367.39-.617.934-.84 1.565q.17-.015.341-.02c1.005-.016 2.082.303 2.859 1.08.68.68 1.197 1.53 1.428 2.34.218.763.244 1.767-.503 2.395-.598.503-1.348.65-2.124.458-.745-.184-1.491-.673-2.21-1.392a5.04 5.04 0 0 1-1.337-2.408q-.057.145-.095.343a4.31 4.31 0 0 0-.038 1.093 8 8 0 0 0 .21 1.291l.02.079.005.018.001.003-.721.205-.722.204v-.001l-.001-.003-.003-.009-.007-.03q-.011-.037-.027-.102a9.477 9.477 0 0 1-.25-1.542 5.8 5.8 0 0 1 .059-1.483c.094-.498.293-1.041.711-1.46a3.4 3.4 0 0 1 .754-.563c.045-.347.123-.678.23-.981.238-.674.573-1.477 1.168-2.109.625-.664 1.495-1.096 2.687-1.096m-2.069 5.17a3 3 0 0 0-.546.06c.071.79.386 1.615 1.03 2.26.611.61 1.127.902 1.511.997.353.088.6.016.798-.15.05-.043.192-.253.025-.835-.152-.535-.522-1.167-1.046-1.691-.427-.428-1.078-.653-1.772-.64\" clip-rule=\"evenodd\"/><path d=\"m23.261 8.518-1.875 1.125-.772-1.286 1.875-1.125zM11.994 5.157l-1.488.186-.375-3 1.488-.186z\"/></svg>";
|
|
2
|
+
|
|
3
|
+
export { party as default };
|
|
4
|
+
//# sourceMappingURL=party.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"party.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/icons/party.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7.102 20.272 2.92 22.064a.75.75 0 0 1-.987-.978l1.76-4.223zM11.565 18.36l-3.35 1.434L4.16 15.74l1.407-3.377zM9.334 6.787c.491.036 1.024.205 1.554.45q.205.096.417.21c-.186.39-.293.78-.357 1.118a6 6 0 0 0-.056.372 7 7 0 0 0-.636-.34c-.436-.201-.784-.296-1.03-.314a.7.7 0 0 0-.237.015.2.2 0 0 0-.036.014q-.005.001-.005.002l-.005.007a.2.2 0 0 0-.014.036.7.7 0 0 0-.014.237c.018.246.112.595.315 1.03.402.868 1.16 1.933 2.193 2.966s2.099 1.79 2.966 2.193c.436.203.785.298 1.03.315a.7.7 0 0 0 .237-.014q.03-.009.036-.014.003 0 .005-.003l.002-.002.003-.004.013-.036a.7.7 0 0 0 .015-.238c-.017-.246-.113-.594-.315-1.03a8.3 8.3 0 0 0-.75-1.264c.707.619 1.502 1.106 2.374 1.323l.008.001c.095.295.16.585.18.862.034.49-.06 1.04-.469 1.448-.307.307-.693.436-1.074.467l-3.006 1.288-6.643-6.642 1.523-3.654.042-.084a.75.75 0 0 1 .363-.32c.4-.347.912-.428 1.37-.395M22.606 15.549l-.961 1.152-2.25-1.875.96-1.152z"/><path fill-rule="evenodd" d="M17.79 2.598c1.263 0 2.404.751 3.152 1.377a10 10 0 0 1 1.196 1.19l.072.087q.013.016.02.026l.007.007.001.002v.002l-.589.463-.59.463-.002-.003-.012-.014-.054-.066a8.617 8.617 0 0 0-1.012-1.007c-.689-.576-1.479-1.027-2.19-1.027-.782 0-1.256.264-1.595.625-.367.39-.617.934-.84 1.565q.17-.015.341-.02c1.005-.016 2.082.303 2.859 1.08.68.68 1.197 1.53 1.428 2.34.218.763.244 1.767-.503 2.395-.598.503-1.348.65-2.124.458-.745-.184-1.491-.673-2.21-1.392a5.04 5.04 0 0 1-1.337-2.408q-.057.145-.095.343c-.062.329-.067.711-.038 1.093a8 8 0 0 0 .21 1.291l.02.079.005.018.001.003-.721.205-.722.204v-.001l-.001-.003-.003-.009-.007-.03q-.011-.037-.027-.102a9.477 9.477 0 0 1-.25-1.542 5.8 5.8 0 0 1 .059-1.483c.094-.498.293-1.041.711-1.46a3.4 3.4 0 0 1 .754-.563c.045-.347.123-.678.23-.981.238-.674.573-1.477 1.168-2.109.625-.664 1.495-1.096 2.687-1.096m-2.069 5.17a3 3 0 0 0-.546.06c.071.79.386 1.615 1.03 2.26.611.61 1.127.902 1.511.997.353.088.6.016.798-.15.05-.043.192-.253.025-.835-.152-.535-.522-1.167-1.046-1.691-.427-.428-1.078-.653-1.772-.64" clip-rule="evenodd"/><path d="m23.261 8.518-1.875 1.125-.772-1.286 1.875-1.125zM11.994 5.157l-1.488.186-.375-3 1.488-.186z"/></svg>
|
package/index.js
CHANGED
|
@@ -150,6 +150,7 @@ export { default as CoupeIcon } from './components/Icon/__generated__/CoupeIcon.
|
|
|
150
150
|
export { default as CreditCardAddIcon } from './components/Icon/__generated__/CreditCardAddIcon.js';
|
|
151
151
|
export { default as CreditCardErrorIcon } from './components/Icon/__generated__/CreditCardErrorIcon.js';
|
|
152
152
|
export { default as CreditCardIcon } from './components/Icon/__generated__/CreditCardIcon.js';
|
|
153
|
+
export { default as CrosshoverIcon } from './components/Icon/__generated__/CrosshoverIcon.js';
|
|
153
154
|
export { default as CruiseControlIcon } from './components/Icon/__generated__/CruiseControlIcon.js';
|
|
154
155
|
export { default as DashcamIcon } from './components/Icon/__generated__/DashcamIcon.js';
|
|
155
156
|
export { default as DirectionsIcon } from './components/Icon/__generated__/DirectionsIcon.js';
|
|
@@ -187,6 +188,7 @@ export { default as GeolocationIcon } from './components/Icon/__generated__/Geol
|
|
|
187
188
|
export { default as GiftIcon } from './components/Icon/__generated__/GiftIcon.js';
|
|
188
189
|
export { default as GpsIcon } from './components/Icon/__generated__/GpsIcon.js';
|
|
189
190
|
export { default as GraphUpIcon } from './components/Icon/__generated__/GraphUpIcon.js';
|
|
191
|
+
export { default as HandDollarIcon } from './components/Icon/__generated__/HandDollarIcon.js';
|
|
190
192
|
export { default as HealingIcon } from './components/Icon/__generated__/HealingIcon.js';
|
|
191
193
|
export { default as HeartIcon } from './components/Icon/__generated__/HeartIcon.js';
|
|
192
194
|
export { default as HeightIcon } from './components/Icon/__generated__/HeightIcon.js';
|
|
@@ -258,6 +260,7 @@ export { default as OptionSnowTireIcon } from './components/Icon/__generated__/O
|
|
|
258
260
|
export { default as OptionWheelchairAccessibleIcon } from './components/Icon/__generated__/OptionWheelchairAccessibleIcon.js';
|
|
259
261
|
export { default as PaperclipIcon } from './components/Icon/__generated__/PaperclipIcon.js';
|
|
260
262
|
export { default as ParkingIcon } from './components/Icon/__generated__/ParkingIcon.js';
|
|
263
|
+
export { default as PartyIcon } from './components/Icon/__generated__/PartyIcon.js';
|
|
261
264
|
export { default as PassportIcon } from './components/Icon/__generated__/PassportIcon.js';
|
|
262
265
|
export { default as PaymentsIcon } from './components/Icon/__generated__/PaymentsIcon.js';
|
|
263
266
|
export { default as PencilIcon } from './components/Icon/__generated__/PencilIcon.js';
|
package/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": "@drivy/cobalt",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.18.0",
|
|
4
4
|
"description": "Opinionated design system for Drivy's projects.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"types": "types/src/index.d.ts",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"date-fns": "2.30.0",
|
|
28
28
|
"lodash.throttle": "4.1.1",
|
|
29
29
|
"media-typer": "1.1.0",
|
|
30
|
-
"nanoid": "5.1.
|
|
31
|
-
"postcss": "8.5.
|
|
30
|
+
"nanoid": "5.1.11",
|
|
31
|
+
"postcss": "8.5.14",
|
|
32
32
|
"tailwindcss": "3.4.19",
|
|
33
33
|
"tippy.js": "6.3.7"
|
|
34
34
|
},
|
|
@@ -38,21 +38,18 @@
|
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@biomejs/biome": "2.4.4",
|
|
41
|
-
"@getaround-eu/babel-preset-app": "
|
|
41
|
+
"@getaround-eu/babel-preset-app": "2.0.0",
|
|
42
42
|
"@getaround-eu/biome-config": "1.0.0",
|
|
43
43
|
"@getaround-eu/stylelint-config": "4.0.1",
|
|
44
44
|
"@getaround-eu/ts-config": "2.2.1",
|
|
45
45
|
"@rollup/plugin-commonjs": "28.0.9",
|
|
46
46
|
"@rollup/plugin-json": "6.1.0",
|
|
47
|
-
"@storybook/addon-
|
|
48
|
-
"@storybook/
|
|
49
|
-
"@storybook/
|
|
50
|
-
"@storybook/react": "7.6.21",
|
|
51
|
-
"@storybook/react-webpack5": "7.6.21",
|
|
47
|
+
"@storybook/addon-docs": "10.3.6",
|
|
48
|
+
"@storybook/addon-webpack5-compiler-babel": "^4.0.1",
|
|
49
|
+
"@storybook/react-webpack5": "10.3.5",
|
|
52
50
|
"@svgr/cli": "7.0.0",
|
|
53
51
|
"@testing-library/jest-dom": "6.9.1",
|
|
54
52
|
"@testing-library/react": "16.3.2",
|
|
55
|
-
"@testing-library/react-hooks": "8.0.1",
|
|
56
53
|
"@types/fs-extra": "11.0.4",
|
|
57
54
|
"@types/jest": "29.5.14",
|
|
58
55
|
"@types/lodash.throttle": "4.1.9",
|
|
@@ -60,10 +57,9 @@
|
|
|
60
57
|
"@types/node": "24.12.2",
|
|
61
58
|
"@types/react": "18.3.28",
|
|
62
59
|
"@types/react-dom": "18.3.7",
|
|
63
|
-
"
|
|
64
|
-
"
|
|
60
|
+
"@types/react-syntax-highlighter": "^15.5.13",
|
|
61
|
+
"autoprefixer": "10.5.0",
|
|
65
62
|
"css-loader": "7.1.4",
|
|
66
|
-
"file-loader": "6.2.0",
|
|
67
63
|
"fs-extra": "11.3.4",
|
|
68
64
|
"html-entities": "2.6.0",
|
|
69
65
|
"jest": "29.7.0",
|
|
@@ -72,27 +68,25 @@
|
|
|
72
68
|
"np": "10.3.0",
|
|
73
69
|
"postcss-flexbugs-fixes": "5.0.2",
|
|
74
70
|
"postcss-loader": "8.2.1",
|
|
75
|
-
"raw-loader": "4.0.2",
|
|
76
71
|
"react": "18.3.1",
|
|
77
72
|
"react-dom": "18.3.1",
|
|
78
73
|
"react-syntax-highlighter": "15.6.6",
|
|
79
74
|
"react-test-renderer": "18.3.1",
|
|
80
75
|
"react-textarea-autosize": "8.5.9",
|
|
81
|
-
"
|
|
82
|
-
"remark-gfm": "^3.0.1",
|
|
76
|
+
"remark-gfm": "^4.0.1",
|
|
83
77
|
"rollup": "2.80.0",
|
|
84
78
|
"rollup-plugin-copy": "3.5.0",
|
|
85
79
|
"rollup-plugin-svgo": "2.0.0",
|
|
86
|
-
"rollup-plugin-typescript2": "0.
|
|
87
|
-
"sass": "1.
|
|
80
|
+
"rollup-plugin-typescript2": "0.37.0",
|
|
81
|
+
"sass": "1.99.0",
|
|
88
82
|
"sass-loader": "13.3.3",
|
|
89
83
|
"sharp-cli": "5.2.0",
|
|
90
|
-
"storybook": "
|
|
84
|
+
"storybook": "10.3.6",
|
|
91
85
|
"style-loader": "4.0.0",
|
|
92
86
|
"stylelint": "17.5.0",
|
|
93
87
|
"svg2vectordrawable": "2.9.1",
|
|
94
88
|
"svgo": "3.3.3",
|
|
95
|
-
"ts-jest": "29.4.
|
|
89
|
+
"ts-jest": "29.4.9",
|
|
96
90
|
"typescript": "5.9.3"
|
|
97
91
|
},
|
|
98
92
|
"keywords": [
|
package/tokens/icons.js
CHANGED
|
@@ -91,6 +91,7 @@ const icons = {
|
|
|
91
91
|
creditCardAdd: "credit-card-add.svg",
|
|
92
92
|
creditCardError: "credit-card-error.svg",
|
|
93
93
|
creditCard: "credit-card.svg",
|
|
94
|
+
crosshover: "crosshover.svg",
|
|
94
95
|
cruiseControl: "cruise-control.svg",
|
|
95
96
|
dashcam: "dashcam.svg",
|
|
96
97
|
directions: "directions.svg",
|
|
@@ -128,6 +129,7 @@ const icons = {
|
|
|
128
129
|
gift: "gift.svg",
|
|
129
130
|
gps: "gps.svg",
|
|
130
131
|
graphUp: "graph-up.svg",
|
|
132
|
+
handDollar: "hand-dollar.svg",
|
|
131
133
|
healing: "healing.svg",
|
|
132
134
|
heart: "heart.svg",
|
|
133
135
|
height: "height.svg",
|
|
@@ -200,6 +202,7 @@ const icons = {
|
|
|
200
202
|
optionWheelchairAccessible: "option-wheelchair-accessible.svg",
|
|
201
203
|
paperclip: "paperclip.svg",
|
|
202
204
|
parking: "parking.svg",
|
|
205
|
+
party: "party.svg",
|
|
203
206
|
passport: "passport.svg",
|
|
204
207
|
payments: "payments.svg",
|
|
205
208
|
pencil: "pencil.svg",
|
package/tokens/icons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icons.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"icons.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IconColorsType } from "../";
|
|
2
|
+
export type IconProps = {
|
|
3
|
+
color?: IconColorsType;
|
|
4
|
+
size?: 16 | 20 | 24 | 32;
|
|
5
|
+
contained?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
declare const CrosshoverIcon: ({ color, size, contained, className, }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default CrosshoverIcon;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IconColorsType } from "../";
|
|
2
|
+
export type IconProps = {
|
|
3
|
+
color?: IconColorsType;
|
|
4
|
+
size?: 16 | 20 | 24 | 32;
|
|
5
|
+
contained?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
declare const HandDollarIcon: ({ color, size, contained, className, }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default HandDollarIcon;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IconColorsType } from "../";
|
|
2
|
+
export type IconProps = {
|
|
3
|
+
color?: IconColorsType;
|
|
4
|
+
size?: 16 | 20 | 24 | 32;
|
|
5
|
+
contained?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
declare const PartyIcon: ({ color, size, contained, className, }: IconProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export default PartyIcon;
|
|
@@ -90,6 +90,7 @@ export { default as CoupeIcon } from "./CoupeIcon";
|
|
|
90
90
|
export { default as CreditCardAddIcon } from "./CreditCardAddIcon";
|
|
91
91
|
export { default as CreditCardErrorIcon } from "./CreditCardErrorIcon";
|
|
92
92
|
export { default as CreditCardIcon } from "./CreditCardIcon";
|
|
93
|
+
export { default as CrosshoverIcon } from "./CrosshoverIcon";
|
|
93
94
|
export { default as CruiseControlIcon } from "./CruiseControlIcon";
|
|
94
95
|
export { default as DashcamIcon } from "./DashcamIcon";
|
|
95
96
|
export { default as DirectionsIcon } from "./DirectionsIcon";
|
|
@@ -127,6 +128,7 @@ export { default as GeolocationIcon } from "./GeolocationIcon";
|
|
|
127
128
|
export { default as GiftIcon } from "./GiftIcon";
|
|
128
129
|
export { default as GpsIcon } from "./GpsIcon";
|
|
129
130
|
export { default as GraphUpIcon } from "./GraphUpIcon";
|
|
131
|
+
export { default as HandDollarIcon } from "./HandDollarIcon";
|
|
130
132
|
export { default as HealingIcon } from "./HealingIcon";
|
|
131
133
|
export { default as HeartIcon } from "./HeartIcon";
|
|
132
134
|
export { default as HeightIcon } from "./HeightIcon";
|
|
@@ -199,6 +201,7 @@ export { default as OptionSnowTireIcon } from "./OptionSnowTireIcon";
|
|
|
199
201
|
export { default as OptionWheelchairAccessibleIcon } from "./OptionWheelchairAccessibleIcon";
|
|
200
202
|
export { default as PaperclipIcon } from "./PaperclipIcon";
|
|
201
203
|
export { default as ParkingIcon } from "./ParkingIcon";
|
|
204
|
+
export { default as PartyIcon } from "./PartyIcon";
|
|
202
205
|
export { default as PassportIcon } from "./PassportIcon";
|
|
203
206
|
export { default as PaymentsIcon } from "./PaymentsIcon";
|
|
204
207
|
export { default as PencilIcon } from "./PencilIcon";
|
|
@@ -90,6 +90,7 @@ export { default as coupe } from "./coupe.svg";
|
|
|
90
90
|
export { default as creditCard } from "./credit-card.svg";
|
|
91
91
|
export { default as creditCardAdd } from "./credit-card-add.svg";
|
|
92
92
|
export { default as creditCardError } from "./credit-card-error.svg";
|
|
93
|
+
export { default as crosshover } from "./crosshover.svg";
|
|
93
94
|
export { default as cruiseControl } from "./cruise-control.svg";
|
|
94
95
|
export { default as dashcam } from "./dashcam.svg";
|
|
95
96
|
export { default as directions } from "./directions.svg";
|
|
@@ -127,6 +128,7 @@ export { default as geolocation } from "./geolocation.svg";
|
|
|
127
128
|
export { default as gift } from "./gift.svg";
|
|
128
129
|
export { default as gps } from "./gps.svg";
|
|
129
130
|
export { default as graphUp } from "./graph-up.svg";
|
|
131
|
+
export { default as handDollar } from "./hand-dollar.svg";
|
|
130
132
|
export { default as healing } from "./healing.svg";
|
|
131
133
|
export { default as heart } from "./heart.svg";
|
|
132
134
|
export { default as height } from "./height.svg";
|
|
@@ -199,6 +201,7 @@ export { default as optionSnowTire } from "./option-snow-tire.svg";
|
|
|
199
201
|
export { default as optionWheelchairAccessible } from "./option-wheelchair-accessible.svg";
|
|
200
202
|
export { default as paperclip } from "./paperclip.svg";
|
|
201
203
|
export { default as parking } from "./parking.svg";
|
|
204
|
+
export { default as party } from "./party.svg";
|
|
202
205
|
export { default as passport } from "./passport.svg";
|
|
203
206
|
export { default as payments } from "./payments.svg";
|
|
204
207
|
export { default as pencil } from "./pencil.svg";
|
|
@@ -112,6 +112,7 @@ export declare const icons: {
|
|
|
112
112
|
creditCardAdd: string;
|
|
113
113
|
creditCardError: string;
|
|
114
114
|
creditCard: string;
|
|
115
|
+
crosshover: string;
|
|
115
116
|
cruiseControl: string;
|
|
116
117
|
dashcam: string;
|
|
117
118
|
directions: string;
|
|
@@ -149,6 +150,7 @@ export declare const icons: {
|
|
|
149
150
|
gift: string;
|
|
150
151
|
gps: string;
|
|
151
152
|
graphUp: string;
|
|
153
|
+
handDollar: string;
|
|
152
154
|
healing: string;
|
|
153
155
|
heart: string;
|
|
154
156
|
height: string;
|
|
@@ -221,6 +223,7 @@ export declare const icons: {
|
|
|
221
223
|
optionWheelchairAccessible: string;
|
|
222
224
|
paperclip: string;
|
|
223
225
|
parking: string;
|
|
226
|
+
party: string;
|
|
224
227
|
passport: string;
|
|
225
228
|
payments: string;
|
|
226
229
|
pencil: string;
|