@servicetitan/anvil2-ext-charts 0.1.1

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/CHANGELOG.md ADDED
@@ -0,0 +1,18 @@
1
+ # @servicetitan/anvil2-ext-common
2
+
3
+ ## 0.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`d97ef4d`](https://github.com/servicetitan/hammer/commit/d97ef4d33c6240831a48b38e70305a6b5eb33d6d) Thanks [@rgdelato](https://github.com/rgdelato)! - [ext-common] Fix `package.json` `files` property
8
+
9
+ ## 0.1.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#1566](https://github.com/servicetitan/hammer/pull/1566) [`5822b65`](https://github.com/servicetitan/hammer/commit/5822b65debe42dce860a2174f91bef2b42da0370) Thanks [@rgdelato](https://github.com/rgdelato)! - [useConfirmDialog] Add `useConfirmDialog` to new `@servicetitan/anvil2-ext-common` package
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [[`fc8b30c`](https://github.com/servicetitan/hammer/commit/fc8b30cc6a8cb7ec99f9630e9ba9d9a4e5af5e4b), [`3daa6f6`](https://github.com/servicetitan/hammer/commit/3daa6f67670bcdb5e978ad083056db4d29892b16), [`3df1040`](https://github.com/servicetitan/hammer/commit/3df1040566f627a937f2f7f7e889c3c2bcfb230a)]:
18
+ - @servicetitan/anvil2@1.46.8
package/README.md ADDED
File without changes
@@ -0,0 +1,197 @@
1
+ import { core } from '@servicetitan/hammer-token';
2
+ import * as am5 from '@amcharts/amcharts5';
3
+
4
+ const createTheme = ({
5
+ fills: fillValues,
6
+ strokes: strokeValues,
7
+ fillPatterns: fillPatternTypes
8
+ }) => {
9
+ class ThemeCustom extends am5.Theme {
10
+ constructor(root, isReal) {
11
+ super(root, isReal);
12
+ }
13
+ setupDefaultRules() {
14
+ super.setupDefaultRules();
15
+ const fills = fillValues.map((fill) => am5.color(fill));
16
+ const strokes = strokeValues.map(
17
+ (stroke, i2) => stroke == null || stroke === "transparent" ? am5.color(fillValues[i2]) : am5.color(stroke)
18
+ );
19
+ const fillPatterns = fillPatternTypes.map(
20
+ (fillPatternType, i2) => fillPatternType === "solid" ? void 0 : am5.LinePattern.new(this._root, {
21
+ rotation: -45,
22
+ color: am5.color(strokeValues[i2] ?? fillValues[i2]),
23
+ width: 99,
24
+ height: 99
25
+ })
26
+ );
27
+ this.rule("ColorSet").setAll({
28
+ colors: [...fills],
29
+ // this mutates the array if we don't clone it o.o
30
+ reuse: true
31
+ });
32
+ this.rule("Label").setAll({
33
+ fontFamily: "Nunito Sans"
34
+ });
35
+ this.rule("PieChart").setup = (target) => {
36
+ const customTooltip = am5.Tooltip.new(this._root, {
37
+ getFillFromSprite: false,
38
+ autoTextColor: false
39
+ });
40
+ customTooltip.get("background")?.setAll({
41
+ fill: am5.color("#141414"),
42
+ fillOpacity: 1,
43
+ strokeOpacity: 0
44
+ });
45
+ customTooltip.label.setAll({
46
+ fill: am5.color("#FFFFFF")
47
+ });
48
+ target.set("tooltip", customTooltip);
49
+ };
50
+ this.rule("PieSeries").setup = (target) => {
51
+ target.set("alignLabels", false);
52
+ target.ticks.template.set("visible", false);
53
+ };
54
+ this.rule("RadialLabel", ["pie", "series"]).setup = (target) => {
55
+ target.set("fontWeight", "600");
56
+ target.set("baseRadius", am5.percent(65));
57
+ target.set("x", am5.p50);
58
+ target.set("centerX", am5.p50);
59
+ target.set("y", am5.p50);
60
+ target.set("centerY", am5.p50);
61
+ target.set("inside", true);
62
+ target.set(
63
+ "background",
64
+ am5.RoundedRectangle.new(this._root, {
65
+ fill: am5.color("#FFFFFF"),
66
+ fillOpacity: 0.8,
67
+ cornerRadiusTL: 100,
68
+ cornerRadiusTR: 100,
69
+ cornerRadiusBL: 100,
70
+ cornerRadiusBR: 100
71
+ })
72
+ );
73
+ };
74
+ let i = 0;
75
+ this.rule("Slice").setup = function(target) {
76
+ target.set("shiftRadius", 4);
77
+ target.set("stroke", strokes[i] ?? fills[i]);
78
+ target.set("fillPattern", fillPatterns[i]);
79
+ target.set("cursorOverStyle", "pointer");
80
+ i += 1;
81
+ if (i == fills.length) i = 0;
82
+ };
83
+ this.rule("Slice").events.on("pointerover", ({ target: slice }) => {
84
+ const parent = slice?.parent;
85
+ parent?.eachChildren((child) => {
86
+ if (child !== slice) {
87
+ child.set("fillOpacity", 0.2);
88
+ child.set("strokeOpacity", 0.2);
89
+ }
90
+ });
91
+ });
92
+ this.rule("Slice").events.on("pointerout", ({ target: slice }) => {
93
+ const parent = slice?.parent;
94
+ parent?.eachChildren((child) => {
95
+ if (child !== slice) {
96
+ child.set("fillOpacity", 1);
97
+ child.set("strokeOpacity", 1);
98
+ }
99
+ });
100
+ });
101
+ this.rule("AxisRendererX").setup = (target) => {
102
+ target.labels.template.setAll({
103
+ centerY: am5.p100,
104
+ centerX: am5.p50,
105
+ paddingTop: 16,
106
+ paddingBottom: 16
107
+ });
108
+ };
109
+ this.rule("AxisRendererY").setup = (target) => {
110
+ target.labels.template.setAll({
111
+ centerY: am5.p50,
112
+ centerX: am5.p100,
113
+ paddingLeft: 16,
114
+ paddingRight: 16
115
+ });
116
+ };
117
+ let j = 0;
118
+ this.rule("ColumnSeries").setup = (target) => {
119
+ target.set("fill", fills[j]);
120
+ target.set("stroke", strokes[j] ?? fills[j]);
121
+ target.set("fillPattern", fillPatterns[j]);
122
+ const stacked = target.get("stacked");
123
+ const isHorizontal = target.get("categoryYField") || target.get("valueXField");
124
+ if (isHorizontal) {
125
+ target.columns.template.setAll({
126
+ cursorOverStyle: "pointer",
127
+ maxHeight: 32,
128
+ cornerRadiusTR: stacked ? 0 : 4,
129
+ cornerRadiusBR: stacked ? 0 : 4
130
+ });
131
+ } else {
132
+ target.columns.template.setAll({
133
+ cursorOverStyle: "pointer",
134
+ maxWidth: 32,
135
+ cornerRadiusTL: stacked ? 0 : 4,
136
+ cornerRadiusTR: stacked ? 0 : 4
137
+ });
138
+ }
139
+ const customTooltip = am5.Tooltip.new(this._root, {
140
+ getFillFromSprite: false,
141
+ autoTextColor: false
142
+ });
143
+ customTooltip.get("background")?.setAll({
144
+ fill: am5.color("#141414"),
145
+ fillOpacity: 1,
146
+ strokeOpacity: 0
147
+ });
148
+ customTooltip.label.setAll({
149
+ fill: am5.color("#FFFFFF")
150
+ });
151
+ target.set("tooltip", customTooltip);
152
+ j += 1;
153
+ if (j == fills.length) j = 0;
154
+ };
155
+ }
156
+ }
157
+ return ThemeCustom;
158
+ };
159
+
160
+ const allMonochromeChartTokens = Object.keys(core.semantic).filter(
161
+ (key) => key.indexOf("ChartsMonochrome") !== -1
162
+ );
163
+ const colors$2 = allMonochromeChartTokens.filter((key) => key.indexOf("Color") !== -1).map((key) => core.semantic[key].value);
164
+ const strokes$2 = allMonochromeChartTokens.filter((key) => key.indexOf("Stroke") !== -1).map((key) => core.semantic[key].value);
165
+ const patterns$2 = allMonochromeChartTokens.filter((key) => key.indexOf("Pattern") !== -1).map((key) => core.semantic[key].value);
166
+ const ThemeMonochrome = createTheme({
167
+ fills: colors$2,
168
+ strokes: strokes$2,
169
+ fillPatterns: patterns$2
170
+ });
171
+
172
+ const allCategoricalChartTokens = Object.keys(core.semantic).filter(
173
+ (key) => key.indexOf("ChartsCategorical") !== -1
174
+ );
175
+ const colors$1 = allCategoricalChartTokens.filter((key) => key.indexOf("Color") !== -1).map((key) => core.semantic[key].value);
176
+ const strokes$1 = allCategoricalChartTokens.filter((key) => key.indexOf("Stroke") !== -1).map((key) => core.semantic[key].value);
177
+ const patterns$1 = allCategoricalChartTokens.filter((key) => key.indexOf("Pattern") !== -1).map((key) => core.semantic[key].value);
178
+ const ThemeCategorical = createTheme({
179
+ fills: colors$1,
180
+ strokes: strokes$1,
181
+ fillPatterns: patterns$1
182
+ });
183
+
184
+ const allSemanticChartTokens = Object.keys(core.semantic).filter(
185
+ (key) => key.indexOf("ChartsStatus") !== -1
186
+ );
187
+ const colors = allSemanticChartTokens.filter((key) => key.indexOf("Color") !== -1).map((key) => core.semantic[key].value);
188
+ const strokes = allSemanticChartTokens.filter((key) => key.indexOf("Stroke") !== -1).map((key) => core.semantic[key].value);
189
+ const patterns = allSemanticChartTokens.filter((key) => key.indexOf("Pattern") !== -1).map((key) => core.semantic[key].value);
190
+ const ThemeSemantic = createTheme({
191
+ fills: colors,
192
+ strokes,
193
+ fillPatterns: patterns
194
+ });
195
+
196
+ export { ThemeMonochrome as T, ThemeCategorical as a, ThemeSemantic as b };
197
+ //# sourceMappingURL=ThemeSemantic-IJ0aMgVy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeSemantic-IJ0aMgVy.js","sources":["../src/am5/themes/internal/createTheme.ts","../src/am5/themes/ThemeMonochrome.ts","../src/am5/themes/ThemeCategorical.ts","../src/am5/themes/ThemeSemantic.ts"],"sourcesContent":["import * as am5 from \"@amcharts/amcharts5\";\n\nexport const createTheme = ({\n fills: fillValues,\n strokes: strokeValues,\n fillPatterns: fillPatternTypes,\n}: {\n fills: string[];\n strokes: (string | undefined)[];\n fillPatterns: (string | undefined)[];\n}) => {\n class ThemeCustom extends am5.Theme {\n constructor(root: am5.Root, isReal: boolean) {\n super(root, isReal);\n }\n\n setupDefaultRules() {\n super.setupDefaultRules();\n\n const fills = fillValues.map((fill) => am5.color(fill));\n\n const strokes = strokeValues.map((stroke, i) =>\n stroke == null || stroke === \"transparent\"\n ? am5.color(fillValues[i])\n : am5.color(stroke),\n );\n\n const fillPatterns = fillPatternTypes.map((fillPatternType, i) =>\n fillPatternType === \"solid\"\n ? undefined\n : am5.LinePattern.new(this._root, {\n rotation: -45,\n color: am5.color(strokeValues[i] ?? fillValues[i]),\n width: 99,\n height: 99,\n }),\n );\n\n this.rule(\"ColorSet\").setAll({\n colors: [...fills], // this mutates the array if we don't clone it o.o\n reuse: true,\n });\n\n this.rule(\"Label\").setAll({\n fontFamily: \"Nunito Sans\",\n });\n\n /**\n * Pie charts\n */\n\n this.rule(\"PieChart\").setup = (target) => {\n const customTooltip = am5.Tooltip.new(this._root, {\n getFillFromSprite: false,\n autoTextColor: false,\n });\n\n customTooltip.get(\"background\")?.setAll({\n fill: am5.color(\"#141414\"),\n fillOpacity: 1,\n strokeOpacity: 0,\n });\n\n customTooltip.label.setAll({\n fill: am5.color(\"#FFFFFF\"),\n });\n\n target.set(\"tooltip\", customTooltip);\n };\n\n this.rule(\"PieSeries\").setup = (target) => {\n target.set(\"alignLabels\", false);\n target.ticks.template.set(\"visible\", false);\n };\n\n this.rule(\"RadialLabel\", [\"pie\", \"series\"]).setup = (target) => {\n target.set(\"fontWeight\", \"600\");\n target.set(\"baseRadius\", am5.percent(65));\n target.set(\"x\", am5.p50);\n target.set(\"centerX\", am5.p50);\n target.set(\"y\", am5.p50);\n target.set(\"centerY\", am5.p50);\n target.set(\"inside\", true);\n target.set(\n \"background\",\n am5.RoundedRectangle.new(this._root, {\n fill: am5.color(\"#FFFFFF\"),\n fillOpacity: 0.8,\n cornerRadiusTL: 100,\n cornerRadiusTR: 100,\n cornerRadiusBL: 100,\n cornerRadiusBR: 100,\n }),\n );\n };\n\n let i = 0;\n this.rule(\"Slice\").setup = function (target) {\n target.set(\"shiftRadius\", 4);\n target.set(\"stroke\", strokes[i] ?? fills[i]);\n target.set(\"fillPattern\", fillPatterns[i]);\n target.set(\"cursorOverStyle\", \"pointer\");\n\n i += 1;\n if (i == fills.length) i = 0;\n };\n\n // pie slices should dim all other slices on hover\n this.rule(\"Slice\").events.on(\"pointerover\", ({ target: slice }) => {\n const parent = slice?.parent;\n parent?.eachChildren((child) => {\n if (child !== slice) {\n (child as am5.Sprite & am5.Slice).set(\"fillOpacity\", 0.2);\n (child as am5.Sprite & am5.Slice).set(\"strokeOpacity\", 0.2);\n }\n });\n });\n\n this.rule(\"Slice\").events.on(\"pointerout\", ({ target: slice }) => {\n const parent = slice?.parent;\n parent?.eachChildren((child) => {\n if (child !== slice) {\n (child as am5.Sprite & am5.Slice).set(\"fillOpacity\", 1);\n (child as am5.Sprite & am5.Slice).set(\"strokeOpacity\", 1);\n }\n });\n });\n\n /**\n * Bar charts\n */\n\n this.rule(\"AxisRendererX\").setup = (target) => {\n target.labels.template.setAll({\n centerY: am5.p100,\n centerX: am5.p50,\n paddingTop: 16,\n paddingBottom: 16,\n });\n };\n\n this.rule(\"AxisRendererY\").setup = (target) => {\n target.labels.template.setAll({\n centerY: am5.p50,\n centerX: am5.p100,\n paddingLeft: 16,\n paddingRight: 16,\n });\n };\n\n let j = 0;\n this.rule(\"ColumnSeries\").setup = (target) => {\n target.set(\"fill\", fills[j]);\n target.set(\"stroke\", strokes[j] ?? fills[j]);\n target.set(\"fillPattern\", fillPatterns[j]);\n\n // TODO: Only round the corners of the last series when stacked\n const stacked = target.get(\"stacked\");\n\n const isHorizontal =\n target.get(\"categoryYField\") || target.get(\"valueXField\");\n\n if (isHorizontal) {\n target.columns.template.setAll({\n cursorOverStyle: \"pointer\",\n maxHeight: 32,\n cornerRadiusTR: stacked ? 0 : 4,\n cornerRadiusBR: stacked ? 0 : 4,\n });\n } else {\n target.columns.template.setAll({\n cursorOverStyle: \"pointer\",\n maxWidth: 32,\n cornerRadiusTL: stacked ? 0 : 4,\n cornerRadiusTR: stacked ? 0 : 4,\n });\n }\n\n const customTooltip = am5.Tooltip.new(this._root, {\n getFillFromSprite: false,\n autoTextColor: false,\n });\n\n customTooltip.get(\"background\")?.setAll({\n fill: am5.color(\"#141414\"),\n fillOpacity: 1,\n strokeOpacity: 0,\n });\n\n customTooltip.label.setAll({\n fill: am5.color(\"#FFFFFF\"),\n });\n\n target.set(\"tooltip\", customTooltip);\n\n j += 1;\n if (j == fills.length) j = 0;\n };\n }\n }\n\n return ThemeCustom;\n};\n","import { core } from \"@servicetitan/hammer-token\";\nimport { createTheme } from \"./internal/createTheme\";\n\nconst allMonochromeChartTokens = Object.keys(core.semantic).filter(\n (key) => key.indexOf(\"ChartsMonochrome\") !== -1,\n) as (keyof typeof core.semantic)[];\n\nconst colors = allMonochromeChartTokens\n .filter((key) => key.indexOf(\"Color\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst strokes = allMonochromeChartTokens\n .filter((key) => key.indexOf(\"Stroke\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst patterns = allMonochromeChartTokens\n .filter((key) => key.indexOf(\"Pattern\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst ThemeMonochrome = createTheme({\n fills: colors,\n strokes,\n fillPatterns: patterns,\n});\n\nexport { ThemeMonochrome };\n","import { core } from \"@servicetitan/hammer-token\";\nimport { createTheme } from \"./internal/createTheme\";\n\nconst allCategoricalChartTokens = Object.keys(core.semantic).filter(\n (key) => key.indexOf(\"ChartsCategorical\") !== -1,\n) as (keyof typeof core.semantic)[];\n\nconst colors = allCategoricalChartTokens\n .filter((key) => key.indexOf(\"Color\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst strokes = allCategoricalChartTokens\n .filter((key) => key.indexOf(\"Stroke\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst patterns = allCategoricalChartTokens\n .filter((key) => key.indexOf(\"Pattern\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst ThemeCategorical = createTheme({\n fills: colors,\n strokes,\n fillPatterns: patterns,\n});\n\nexport { ThemeCategorical };\n","import { core } from \"@servicetitan/hammer-token\";\nimport { createTheme } from \"./internal/createTheme\";\n\nconst allSemanticChartTokens = Object.keys(core.semantic).filter(\n (key) => key.indexOf(\"ChartsStatus\") !== -1,\n) as (keyof typeof core.semantic)[];\n\nconst colors = allSemanticChartTokens\n .filter((key) => key.indexOf(\"Color\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst strokes = allSemanticChartTokens\n .filter((key) => key.indexOf(\"Stroke\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst patterns = allSemanticChartTokens\n .filter((key) => key.indexOf(\"Pattern\") !== -1)\n .map((key) => core.semantic[key].value);\n\nconst ThemeSemantic = createTheme({\n fills: colors,\n strokes,\n fillPatterns: patterns,\n});\n\nexport { ThemeSemantic };\n"],"names":["i","colors","strokes","patterns"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './themes';
@@ -0,0 +1,3 @@
1
+ export { ThemeMonochrome } from './ThemeMonochrome';
2
+ export { ThemeCategorical } from './ThemeCategorical';
3
+ export { ThemeSemantic } from './ThemeSemantic';
package/dist/am5.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './am5/index'
2
+ export {}
package/dist/am5.js ADDED
@@ -0,0 +1,2 @@
1
+ export { a as ThemeCategorical, T as ThemeMonochrome, b as ThemeSemantic } from './ThemeSemantic-IJ0aMgVy.js';
2
+ //# sourceMappingURL=am5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"am5.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
Binary file
@@ -0,0 +1,2 @@
1
+ declare const _default: {};
2
+ export default _default;
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ const index = {};
2
+
3
+ export { index as default };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["/// <reference types=\"react/canary\" />\n\nexport default {};\n"],"names":[],"mappings":"AAEA,cAAe,EAAC;;;;"}
@@ -0,0 +1,2 @@
1
+ export * from './am5/themes/index'
2
+ export {}
package/dist/themes.js ADDED
@@ -0,0 +1,2 @@
1
+ export { a as ThemeCategorical, T as ThemeMonochrome, b as ThemeSemantic } from './ThemeSemantic-IJ0aMgVy.js';
2
+ //# sourceMappingURL=themes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"themes.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,93 @@
1
+ {
2
+ "name": "@servicetitan/anvil2-ext-charts",
3
+ "version": "0.1.1",
4
+ "type": "module",
5
+ "types": "./dist/index.d.ts",
6
+ "main": "./dist/index.js",
7
+ "module": ".",
8
+ "sideEffects": [
9
+ "*.css",
10
+ "*.scss"
11
+ ],
12
+ "files": [
13
+ "dist",
14
+ "CHANGELOG.md"
15
+ ],
16
+ "exports": {
17
+ ".": "./dist/index.js",
18
+ "./am5": "./dist/am5.js",
19
+ "./package.json": "./package.json"
20
+ },
21
+ "keywords": [],
22
+ "author": "",
23
+ "license": "ISC",
24
+ "description": "",
25
+ "dependencies": {
26
+ "@react-hook/merged-ref": "^1.3.2",
27
+ "@react-hook/resize-observer": "^2.0.1",
28
+ "classnames": "^2.5.1",
29
+ "tabbable": "^6.2.0",
30
+ "tinycolor2": "^1.6.0",
31
+ "uuid": "^10.0.0",
32
+ "@servicetitan/hammer-token": "2.5.0"
33
+ },
34
+ "peerDependencies": {
35
+ "@amcharts/amcharts5": "^5",
36
+ "@types/react": "^18",
37
+ "@types/react-dom": "^18",
38
+ "react": "^18",
39
+ "react-dom": "^18"
40
+ },
41
+ "devDependencies": {
42
+ "@chromatic-com/storybook": "^4.1.1",
43
+ "@storybook/addon-a11y": "9.1.5",
44
+ "@storybook/addon-docs": "9.1.5",
45
+ "@storybook/addon-links": "9.1.5",
46
+ "@storybook/addon-vitest": "9.1.5",
47
+ "@storybook/react-vite": "9.1.5",
48
+ "@testing-library/jest-dom": "^5.17.0",
49
+ "@testing-library/react": "^16.1.0",
50
+ "@testing-library/user-event": "^14.5.2",
51
+ "@types/crypto-js": "^4.2.2",
52
+ "@types/luxon": "^3.4.2",
53
+ "@types/react": "18.3.18",
54
+ "@types/react-dom": "18.3.5",
55
+ "@types/react-window": "^1.8.8",
56
+ "@types/testing-library__jest-dom": "^5.14.9",
57
+ "@types/tinycolor2": "^1.4.6",
58
+ "@types/uuid": "^10.0.0",
59
+ "@typescript-eslint/eslint-plugin": "^6.14.0",
60
+ "@typescript-eslint/parser": "^6.14.0",
61
+ "@vitest/browser": "^3.2.4",
62
+ "@vitest/coverage-v8": "^3.0.8",
63
+ "chromatic": "^11.20.2",
64
+ "commander": "^12.1.0",
65
+ "globals": "^15.15.0",
66
+ "happy-dom": "^17.4.4",
67
+ "mdast-util-to-string": "^4.0.0",
68
+ "playwright": "^1.52.0",
69
+ "react": "18.2.0",
70
+ "react-dom": "18.2.0",
71
+ "remark-gfm": "^4.0.0",
72
+ "remark-parse": "^11.0.0",
73
+ "remark-stringify": "^11.0.0",
74
+ "sass": "1.87.0",
75
+ "storybook": "9.1.5",
76
+ "svgo": "^3.3.2",
77
+ "typescript": "~5.7.2",
78
+ "unified": "^11.0.5",
79
+ "vite": "6.1.6",
80
+ "vitest": "^3.2.4",
81
+ "vitest-axe": "^0.1.0",
82
+ "@servicetitan/anvil2": "1.46.9"
83
+ },
84
+ "scripts": {
85
+ "dev": "vite",
86
+ "build": "vite build",
87
+ "lint": "eslint .",
88
+ "preview": "vite preview",
89
+ "storybook": "storybook dev -p 8009",
90
+ "build-storybook": "storybook build --stats-json",
91
+ "test-storybook": "vitest --project=storybook"
92
+ }
93
+ }