diff --git a/packages/calcite-components-angular/package.json b/packages/calcite-components-angular/package.json index 4376c8c4d6f..e95c3e1bc01 100644 --- a/packages/calcite-components-angular/package.json +++ b/packages/calcite-components-angular/package.json @@ -3,7 +3,7 @@ "private": true, "scripts": { "ng": "ng", - "prebuild": "./support/stencilDoubleBuildTypesWorkaround.sh && ts-node ./support/patchEventDetailTypeImports.ts", + "prebuild": "./support/stencilDoubleBuildTypesWorkaround.sh", "build": "ng build", "clean": "rimraf dist node_modules .turbo .angular projects/component-library/dist" }, diff --git a/packages/calcite-components-angular/support/patchEventDetailTypeImports.ts b/packages/calcite-components-angular/support/patchEventDetailTypeImports.ts deleted file mode 100644 index b937d239405..00000000000 --- a/packages/calcite-components-angular/support/patchEventDetailTypeImports.ts +++ /dev/null @@ -1,44 +0,0 @@ -// patched needed because the auto-generated code from Stencil has incorrect import paths for some event detail types -const { readFile, writeFile } = require("fs/promises"); -const { resolve } = require("path"); - -const typeImportStrings = [ - { - oldValue: "import type { HandleChange as ICalciteHandleHandleChange } from '@esri/calcite-components'", - newValue: - "import type { HandleChange as ICalciteHandleHandleChange } from '@esri/calcite-components/dist/types/components/handle/interfaces'", - }, - { - oldValue: "import type { HandleNudge as ICalciteHandleHandleNudge } from '@esri/calcite-components'", - newValue: - "import type { HandleNudge as ICalciteHandleHandleNudge } from '@esri/calcite-components/dist/types/components/handle/interfaces'", - }, - { - oldValue: "import type { DragDetail as ICalciteListDragDetail } from '@esri/calcite-components'", - newValue: - "import type { DragDetail as ICalciteListDragDetail } from '@esri/calcite-components/dist/types/utils/sortableComponent'", - }, -]; - -(async () => { - try { - const filePath = resolve( - __dirname, - "..", - "projects", - "component-library", - "src", - "lib", - "stencil-generated", - "components.ts" - ); - - let contents = await readFile(filePath, { encoding: "utf8" }); - typeImportStrings.forEach(({ oldValue, newValue }) => (contents = contents.replace(oldValue, newValue))); - - await writeFile(filePath, contents); - } catch (err) { - console.error(err); - process.exit(1); - } -})(); diff --git a/packages/calcite-components/package.json b/packages/calcite-components/package.json index 0128b1c6c73..bf364fa432c 100644 --- a/packages/calcite-components/package.json +++ b/packages/calcite-components/package.json @@ -8,7 +8,7 @@ "es2015": "dist/esm/index.js", "es2017": "dist/esm/index.js", "jsnext:main": "dist/esm/index.js", - "types": "dist/types/components.d.ts", + "types": "dist/types/index.d.ts", "type": "module", "jsdelivr": "dist/calcite/calcite.js", "unpkg": "dist/calcite/calcite.js", diff --git a/packages/calcite-components/src/index.ts b/packages/calcite-components/src/index.ts index 0bc8a795235..bd9cbf776a8 100644 --- a/packages/calcite-components/src/index.ts +++ b/packages/calcite-components/src/index.ts @@ -3,3 +3,10 @@ // which enables developers to check if the asset path has been set or not export { getAssetPath } from "@stencil/core"; export * from "./components"; + +// Event detail types need to be exported from this entry point +// because that's where the Angular output target expects them to be. +// For more details, see: https://github.com/Esri/calcite-design-system/pull/8177 +export { HandleChange } from "./components/handle/interfaces"; +export { HandleNudge } from "./components/handle/interfaces"; +export { DragDetail } from "./utils/sortableComponent";