diff --git a/packages/cli/templates/react/igr-ts/accordion/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/accordion/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/accordion/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/accordion/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/accordion/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..355e8f05b --- /dev/null +++ b/packages/cli/templates/react/igr-ts/accordion/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,27 @@ +import style from './style.module.css'; +import { IgrAccordion, IgrExpansionPanel } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Accordion

+
+ + +
Ignite UI for React
+

Ignite UI for React is a complete library of UI components, giving you the ability to build modern web applications using encapsulation and the concept of reusable components in a dependency-free approach.

+
+ +
Ignite UI for Angular
+

Ignite UI for Angular is a complete set of Material-based UI Widgets, Components and Sketch UI kits by Infragistics.

+
+ +
Ignite UI for Web Components
+

Ignite UI for Web Components is a complete library of UI components, giving you the ability to build modern web applications.

+
+
+
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/accordion/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/accordion/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/accordion/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/accordion/default/index.ts b/packages/cli/templates/react/igr-ts/accordion/default/index.ts new file mode 100644 index 000000000..d87e3ac0c --- /dev/null +++ b/packages/cli/templates/react/igr-ts/accordion/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrAccordionTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Accordion"]; + this.controlGroup = "Layouts"; + this.listInComponentTemplates = true; + this.id = "accordion"; + this.projectType = "igr-ts"; + this.name = "Accordion"; + this.description = "basic IgrAccordion"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrAccordionTemplate(); diff --git a/packages/cli/templates/react/igr-ts/accordion/index.ts b/packages/cli/templates/react/igr-ts/accordion/index.ts new file mode 100644 index 000000000..1e260063f --- /dev/null +++ b/packages/cli/templates/react/igr-ts/accordion/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrAccordionComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Accordion"; + this.group = "Layouts"; + this.description = `enables displaying of content in a vertically collapsible fashion.`; + } +} +module.exports = new IgrAccordionComponent(); diff --git a/packages/cli/templates/react/igr-ts/avatar/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/avatar/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/avatar/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/avatar/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/avatar/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..577e1e9a5 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/avatar/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,16 @@ +import style from './style.module.css'; +import { IgrAvatar } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Avatar

+
+ + + +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/avatar/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/avatar/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/avatar/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/avatar/default/index.ts b/packages/cli/templates/react/igr-ts/avatar/default/index.ts new file mode 100644 index 000000000..caa4c29e6 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/avatar/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrAvatarTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Avatar"]; + this.controlGroup = "Layouts"; + this.listInComponentTemplates = true; + this.id = "avatar"; + this.projectType = "igr-ts"; + this.name = "Avatar"; + this.description = "displays an avatar with customizable shape, size, and initials."; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrAvatarTemplate(); diff --git a/packages/cli/templates/react/igr-ts/avatar/index.ts b/packages/cli/templates/react/igr-ts/avatar/index.ts new file mode 100644 index 000000000..6029bc1d7 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/avatar/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrAvatarComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Avatar"; + this.group = "Layouts"; + this.description = `displays an avatar with customizable shape, size, and initials.`; + } +} +module.exports = new IgrAvatarComponent(); diff --git a/packages/cli/templates/react/igr-ts/badge/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/badge/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/badge/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/badge/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/badge/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..32d8f9ccb --- /dev/null +++ b/packages/cli/templates/react/igr-ts/badge/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,16 @@ +import style from './style.module.css'; +import { IgrBadge } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Badge

+
+ Awaiting test + Critical issue + Verified +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/badge/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/badge/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/badge/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/badge/default/index.ts b/packages/cli/templates/react/igr-ts/badge/default/index.ts new file mode 100644 index 000000000..8270e5abd --- /dev/null +++ b/packages/cli/templates/react/igr-ts/badge/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrBadgeTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Badge"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "badge"; + this.projectType = "igr-ts"; + this.name = "Badge"; + this.description = "displays a badge with customizable variants and styles."; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrBadgeTemplate(); diff --git a/packages/cli/templates/react/igr-ts/badge/index.ts b/packages/cli/templates/react/igr-ts/badge/index.ts new file mode 100644 index 000000000..c3d23cf9c --- /dev/null +++ b/packages/cli/templates/react/igr-ts/badge/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrBadgeComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Badge"; + this.group = "Data Entry & Display"; + this.description = `displays a badge with customizable variants and styles.`; + } +} +module.exports = new IgrBadgeComponent(); diff --git a/packages/cli/templates/react/igr-ts/banner/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/banner/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/banner/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/banner/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/banner/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..c8b0f7c4e --- /dev/null +++ b/packages/cli/templates/react/igr-ts/banner/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,16 @@ +import style from './style.module.css'; +import { IgrBanner } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Banner

+
+ + You are currently not logged in! Please, log into your account first. + +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/banner/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/banner/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/banner/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/banner/default/index.ts b/packages/cli/templates/react/igr-ts/banner/default/index.ts new file mode 100644 index 000000000..9318e8330 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/banner/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrBannerTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["Banner"]; +this.controlGroup = "Notifications"; +this.listInComponentTemplates = true; +this.id = "banner"; +this.projectType = "igr-ts"; +this.name = "Banner"; +this.description = "basic IgrBanner"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrBannerTemplate(); diff --git a/packages/cli/templates/react/igr-ts/banner/index.ts b/packages/cli/templates/react/igr-ts/banner/index.ts new file mode 100644 index 000000000..1ccb7c13a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/banner/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrBannerComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "Banner"; +this.group = "Notifications"; +this.description = `displays banner component`; +} +} +module.exports = new IgrBannerComponent(); diff --git a/packages/cli/templates/react/igr-ts/button-group/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/button-group/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/button-group/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/button-group/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/button-group/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..123cd1ade --- /dev/null +++ b/packages/cli/templates/react/igr-ts/button-group/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,18 @@ +import style from './style.module.css'; +import { IgrButtonGroup, IgrToggleButton } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Button Group

+
+ + Left + Center + Right + +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/button-group/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/button-group/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/button-group/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/button-group/default/index.ts b/packages/cli/templates/react/igr-ts/button-group/default/index.ts new file mode 100644 index 000000000..c561ed7da --- /dev/null +++ b/packages/cli/templates/react/igr-ts/button-group/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrButtonGroupTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Button group"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "button-group"; + this.projectType = "igr-ts"; + this.name = "Button group"; + this.description = "basic IgrButtonGroup"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrButtonGroupTemplate(); diff --git a/packages/cli/templates/react/igr-ts/button-group/index.ts b/packages/cli/templates/react/igr-ts/button-group/index.ts new file mode 100644 index 000000000..8222bd170 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/button-group/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrButtonGroupComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Button group"; + this.group = "Data Entry & Display"; + this.description = `displays a group of buttons with toggle functionality.`; + } +} +module.exports = new IgrButtonGroupComponent(); diff --git a/packages/cli/templates/react/igr-ts/button/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/button/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/button/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/button/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/button/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..4503ef58c --- /dev/null +++ b/packages/cli/templates/react/igr-ts/button/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,14 @@ +import style from './style.module.css'; +import { IgrButton } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Button

+
+ Large button +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/button/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/button/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/button/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/button/default/index.ts b/packages/cli/templates/react/igr-ts/button/default/index.ts new file mode 100644 index 000000000..a6a6553ee --- /dev/null +++ b/packages/cli/templates/react/igr-ts/button/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrButtonTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Button"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "button"; + this.projectType = "igr-ts"; + this.name = "Button"; + this.description = "displays a button with customizable size and content."; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrButtonTemplate(); diff --git a/packages/cli/templates/react/igr-ts/button/index.ts b/packages/cli/templates/react/igr-ts/button/index.ts new file mode 100644 index 000000000..5c9926a66 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/button/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrButtonComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Button"; + this.group = "Data Entry & Display"; + this.description = `displays a button with customizable size and content.`; + } +} +module.exports = new IgrButtonComponent(); diff --git a/packages/cli/templates/react/igr-ts/calendar/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/calendar/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/calendar/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/calendar/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/calendar/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..b9138d355 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/calendar/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,14 @@ +import style from './style.module.css'; +import { IgrCalendar } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Calendar

+
+ +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/calendar/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/calendar/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/calendar/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/calendar/default/index.ts b/packages/cli/templates/react/igr-ts/calendar/default/index.ts new file mode 100644 index 000000000..bcf4170c7 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/calendar/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrCalendarTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["Calendar"]; +this.controlGroup = "Scheduling"; +this.listInComponentTemplates = true; +this.id = "calendar"; +this.projectType = "igr-ts"; +this.name = "Calendar"; +this.description = "basic IgrCalendar"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrCalendarTemplate(); diff --git a/packages/cli/templates/react/igr-ts/calendar/index.ts b/packages/cli/templates/react/igr-ts/calendar/index.ts new file mode 100644 index 000000000..cee8bef01 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/calendar/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrCalendarComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "Calendar"; +this.group = "Scheduling"; +this.description = `displays calendar component`; +} +} +module.exports = new IgrCalendarComponent(); diff --git a/packages/cli/templates/react/igr-ts/card/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/card/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/card/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/card/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/card/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..61d0f4dd4 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/card/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,26 @@ +import style from './style.module.css'; +import { IgrCard, IgrCardHeader, IgrCardContent, IgrCardActions, IgrButton } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Card

+
+ + +

New York City

+
City Guide
+
+ +

New York City comprises 5 boroughs sitting where the Hudson River meets the Atlantic Ocean. At its core is Manhattan, a densely populated borough that's among the world's major commercial, financial and cultural centers.

+
+ + Like + Learn More + +
+
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/card/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/card/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/card/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/card/default/index.ts b/packages/cli/templates/react/igr-ts/card/default/index.ts new file mode 100644 index 000000000..452f29ada --- /dev/null +++ b/packages/cli/templates/react/igr-ts/card/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrCardTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Card"]; + this.controlGroup = "Layouts"; + this.listInComponentTemplates = true; + this.id = "card"; + this.projectType = "igr-ts"; + this.name = "Card"; + this.description = "basic IgrCard"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrCardTemplate(); diff --git a/packages/cli/templates/react/igr-ts/card/index.ts b/packages/cli/templates/react/igr-ts/card/index.ts new file mode 100644 index 000000000..0a868d008 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/card/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrCardComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Card"; + this.group = "Layouts"; + this.description = `displays organized content and actions about a single subject.`; + } +} +module.exports = new IgrCardComponent(); diff --git a/packages/cli/templates/react/igr-ts/checkbox/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/checkbox/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/checkbox/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/checkbox/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/checkbox/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..efd15486a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/checkbox/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,14 @@ +import style from './style.module.css'; +import { IgrCheckbox } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Checkbox

+
+ Label +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/checkbox/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/checkbox/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/checkbox/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/checkbox/default/index.ts b/packages/cli/templates/react/igr-ts/checkbox/default/index.ts new file mode 100644 index 000000000..6e4c84569 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/checkbox/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrCheckboxTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Checkbox"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "checkbox"; + this.projectType = "igr-ts"; + this.name = "Checkbox"; + this.description = "basic IgrCheckbox"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrCheckboxTemplate(); diff --git a/packages/cli/templates/react/igr-ts/checkbox/index.ts b/packages/cli/templates/react/igr-ts/checkbox/index.ts new file mode 100644 index 000000000..bbab581b7 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/checkbox/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrCheckboxComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Checkbox"; + this.group = "Data Entry & Display"; + this.description = `displays a checkbox with customizable label and state.`; + } +} +module.exports = new IgrCheckboxComponent(); diff --git a/packages/cli/templates/react/igr-ts/chip/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/chip/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/chip/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/chip/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/chip/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..9aaf5069c --- /dev/null +++ b/packages/cli/templates/react/igr-ts/chip/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,14 @@ +import style from './style.module.css'; +import { IgrChip } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Chip

+
+ Chip Content +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/chip/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/chip/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/chip/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/chip/default/index.ts b/packages/cli/templates/react/igr-ts/chip/default/index.ts new file mode 100644 index 000000000..4692f5ec1 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/chip/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrChipTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Chip"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "chip"; + this.projectType = "igr-ts"; + this.name = "Chip"; + this.description = "basic IgrChip"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrChipTemplate(); diff --git a/packages/cli/templates/react/igr-ts/chip/index.ts b/packages/cli/templates/react/igr-ts/chip/index.ts new file mode 100644 index 000000000..b7e591e2d --- /dev/null +++ b/packages/cli/templates/react/igr-ts/chip/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrChipComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Chip"; + this.group = "Data Entry & Display"; + this.description = `displays a chip with selectable and removable options.`; + } +} +module.exports = new IgrChipComponent(); diff --git a/packages/cli/templates/react/igr-ts/circular-progress/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/circular-progress/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/circular-progress/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/circular-progress/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/circular-progress/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..d7981ef56 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/circular-progress/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,14 @@ +import style from './style.module.css'; +import { IgrCircularProgress } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Circular Progress

+
+ +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/circular-progress/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/circular-progress/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/circular-progress/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/circular-progress/default/index.ts b/packages/cli/templates/react/igr-ts/circular-progress/default/index.ts new file mode 100644 index 000000000..50d105fc0 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/circular-progress/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrCircularProgressTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["Circular Progress"]; +this.controlGroup = "Data Entry & Display"; +this.listInComponentTemplates = true; +this.id = "circular-progress"; +this.projectType = "igr-ts"; +this.name = "Circular Progress"; +this.description = "basic IgrCircularProgress"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrCircularProgressTemplate(); diff --git a/packages/cli/templates/react/igr-ts/circular-progress/index.ts b/packages/cli/templates/react/igr-ts/circular-progress/index.ts new file mode 100644 index 000000000..0e4a7c5d8 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/circular-progress/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrCircularProgressComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "Circular Progress"; +this.group = "Data Entry & Display"; +this.description = `displays circular progress component`; +} +} +module.exports = new IgrCircularProgressComponent(); diff --git a/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..45ccaf756 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,33 @@ +import style from './style.module.css'; +import { IgrInput, IgrCheckbox, IgrButton } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + const handleSubmit = (event: React.SubmitEvent) => { + event.preventDefault(); + const form = event.target as HTMLFormElement; + const formData = new FormData(form); + const entries = Array.from(formData.entries()); + const result = entries.map(([key, value]) => `${key}=${value}`).join('; '); + alert(result); + }; + + return ( +
+

Subscription Form

+
+
+
Subscribe
+ + + I accept the license agreement +
+
+ Reset + Submit +
+ +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/index.ts b/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/index.ts new file mode 100644 index 000000000..0a9c73063 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/custom-templates/subscription-form/index.ts @@ -0,0 +1,15 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrSubscriptionFormTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.listInComponentTemplates = false; +this.listInCustomTemplates = true; +this.id = "subscription-form"; +this.projectType = "igr-ts"; +this.name = "Subscription Form"; +this.description = "Subscription form with inputs, buttons and a checkbox inside"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrSubscriptionFormTemplate(); diff --git a/packages/cli/templates/react/igr-ts/date-picker/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/date-picker/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/date-picker/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/date-picker/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/date-picker/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..d55d2ed7f --- /dev/null +++ b/packages/cli/templates/react/igr-ts/date-picker/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,14 @@ +import style from './style.module.css'; +import { IgrDatePicker } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Date Picker

+
+ +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/date-picker/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/date-picker/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/date-picker/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/date-picker/default/index.ts b/packages/cli/templates/react/igr-ts/date-picker/default/index.ts new file mode 100644 index 000000000..cbe37f48a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/date-picker/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrDatePickerTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["Date Picker"]; +this.controlGroup = "Scheduling"; +this.listInComponentTemplates = true; +this.id = "date-picker"; +this.projectType = "igr-ts"; +this.name = "Date Picker"; +this.description = "basic IgrDatePicker"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrDatePickerTemplate(); diff --git a/packages/cli/templates/react/igr-ts/date-picker/index.ts b/packages/cli/templates/react/igr-ts/date-picker/index.ts new file mode 100644 index 000000000..d4616ec23 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/date-picker/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrDatePickerComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "Date Picker"; +this.group = "Scheduling"; +this.description = `displays date picker component`; +} +} +module.exports = new IgrDatePickerComponent(); diff --git a/packages/cli/templates/react/igr-ts/divider/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/divider/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/divider/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/divider/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/divider/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..4e1e2876a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/divider/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,18 @@ +import style from './style.module.css'; +import { IgrDivider } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Divider

+
+
+

Content above

+ +

Content below

+
+
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/divider/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/divider/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/divider/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/divider/default/index.ts b/packages/cli/templates/react/igr-ts/divider/default/index.ts new file mode 100644 index 000000000..0022a41e0 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/divider/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrDividerTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Divider"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "divider"; + this.projectType = "igr-ts"; + this.name = "Divider"; + this.description = "basic IgrDivider"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrDividerTemplate(); diff --git a/packages/cli/templates/react/igr-ts/divider/index.ts b/packages/cli/templates/react/igr-ts/divider/index.ts new file mode 100644 index 000000000..c7c155cac --- /dev/null +++ b/packages/cli/templates/react/igr-ts/divider/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrDividerComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Divider"; + this.group = "Data Entry & Display"; + this.description = `provides a thin, lightweight separator.`; + } +} +module.exports = new IgrDividerComponent(); diff --git a/packages/cli/templates/react/igr-ts/dropdown/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/dropdown/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/dropdown/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/dropdown/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/dropdown/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..082581368 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/dropdown/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,19 @@ +import style from './style.module.css'; +import { IgrDropdown, IgrDropdownItem, IgrButton } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Dropdown

+
+ + Options + Option 1 + Option 2 + Option 3 + +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/dropdown/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/dropdown/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/dropdown/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/dropdown/default/index.ts b/packages/cli/templates/react/igr-ts/dropdown/default/index.ts new file mode 100644 index 000000000..657f355cf --- /dev/null +++ b/packages/cli/templates/react/igr-ts/dropdown/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrDropdownTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Dropdown"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "dropdown"; + this.projectType = "igr-ts"; + this.name = "Dropdown"; + this.description = "basic IgrDropdown"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrDropdownTemplate(); diff --git a/packages/cli/templates/react/igr-ts/dropdown/index.ts b/packages/cli/templates/react/igr-ts/dropdown/index.ts new file mode 100644 index 000000000..379d12147 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/dropdown/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrDropdownComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Dropdown"; + this.group = "Data Entry & Display"; + this.description = `represents a dropdown component`; + } +} +module.exports = new IgrDropdownComponent(); diff --git a/packages/cli/templates/react/igr-ts/expansion-panel/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/expansion-panel/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/expansion-panel/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/expansion-panel/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/expansion-panel/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..6195b6bcb --- /dev/null +++ b/packages/cli/templates/react/igr-ts/expansion-panel/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,17 @@ +import style from './style.module.css'; +import { IgrExpansionPanel } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Expansion Panel

+
+ +
Expansion Panel Title
+

This is the content of the expansion panel. Click the header to expand or collapse this section.

+
+
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/expansion-panel/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/expansion-panel/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/expansion-panel/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/expansion-panel/default/index.ts b/packages/cli/templates/react/igr-ts/expansion-panel/default/index.ts new file mode 100644 index 000000000..126aedc30 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/expansion-panel/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrExpansionPanelTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Expansion Panel"]; + this.controlGroup = "Layouts"; + this.listInComponentTemplates = true; + this.id = "expansion-panel"; + this.projectType = "igr-ts"; + this.name = "Expansion Panel"; + this.description = "basic IgrExpansionPanel"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrExpansionPanelTemplate(); diff --git a/packages/cli/templates/react/igr-ts/expansion-panel/index.ts b/packages/cli/templates/react/igr-ts/expansion-panel/index.ts new file mode 100644 index 000000000..fdc2a1404 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/expansion-panel/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrExpansionPanelComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Expansion Panel"; + this.group = "Layouts"; + this.description = `provides a collapsible content section with a header.`; + } +} +module.exports = new IgrExpansionPanelComponent(); diff --git a/packages/cli/templates/react/igr-ts/form/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/form/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/form/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/form/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/form/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..8388a4773 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/form/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,24 @@ +import style from './style.module.css'; +import { IgrInput, IgrRadioGroup, IgrRadio } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Form

+
+
+ + +
+ + + Male + Female + +
+ +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/form/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/form/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/form/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/form/default/index.ts b/packages/cli/templates/react/igr-ts/form/default/index.ts new file mode 100644 index 000000000..3f6b31d56 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/form/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrFormTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["Form"]; +this.controlGroup = "Data Entry & Display"; +this.listInComponentTemplates = true; +this.id = "form"; +this.projectType = "igr-ts"; +this.name = "Form"; +this.description = "basic IgrForm"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrFormTemplate(); diff --git a/packages/cli/templates/react/igr-ts/form/index.ts b/packages/cli/templates/react/igr-ts/form/index.ts new file mode 100644 index 000000000..bbd2c7110 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/form/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrFormComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "Form"; +this.group = "Data Entry & Display"; +this.description = `displays form component`; +} +} +module.exports = new IgrFormComponent(); diff --git a/packages/cli/templates/react/igr-ts/groups.json b/packages/cli/templates/react/igr-ts/groups.json index f55a8a30b..8a73cda4c 100644 --- a/packages/cli/templates/react/igr-ts/groups.json +++ b/packages/cli/templates/react/igr-ts/groups.json @@ -1,5 +1,12 @@ { - "Gauges": "scale measure Controls including Linear and Radial Gauge and Bullet Graph.", + "Data Entry & Display": "user input and display controls including buttons, inputs, checkboxes and more.", + "Interactions": "interactive UI components including sliders and visual effects.", + "Menus": "navigation controls including navbar.", + "Grids & Lists": "components for displaying collections of data in list and tree views.", + "Scheduling": "date and time selection controls including calendar and date picker.", + "Layouts": "layout and structure controls including accordion, cards, tabs and panels.", "Charts": "high-performance data visualization for category and financial data.", - "Grids": "bind and display data sets with little coding or configuration." + "Gauges": "scale measure Controls including Linear and Radial Gauge and Bullet Graph.", + "Grids": "bind and display data sets with little coding or configuration.", + "Notifications": "informational components including banners and alerts." } diff --git a/packages/cli/templates/react/igr-ts/icon-button/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/icon-button/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/icon-button/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/icon-button/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/icon-button/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..d3049f52f --- /dev/null +++ b/packages/cli/templates/react/igr-ts/icon-button/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,14 @@ +import style from './style.module.css'; +import { IgrIconButton } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Icon Button

+
+ +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/icon-button/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/icon-button/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/icon-button/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/icon-button/default/index.ts b/packages/cli/templates/react/igr-ts/icon-button/default/index.ts new file mode 100644 index 000000000..b14994c78 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/icon-button/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrIconButtonTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Icon button"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "icon-button"; + this.projectType = "igr-ts"; + this.name = "Icon button"; + this.description = "basic IgrIconButton"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrIconButtonTemplate(); diff --git a/packages/cli/templates/react/igr-ts/icon-button/index.ts b/packages/cli/templates/react/igr-ts/icon-button/index.ts new file mode 100644 index 000000000..98aac3399 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/icon-button/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrIconButtonComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Icon button"; + this.group = "Data Entry & Display"; + this.description = `displays an icon button.`; + } +} +module.exports = new IgrIconButtonComponent(); diff --git a/packages/cli/templates/react/igr-ts/icon/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/icon/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/icon/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/icon/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/icon/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..4d7e04354 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/icon/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,21 @@ +import style from './style.module.css'; +import { IgrIcon } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Icon

+
+
+ + +
+
+ + +
+
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/icon/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/icon/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/icon/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/icon/default/index.ts b/packages/cli/templates/react/igr-ts/icon/default/index.ts new file mode 100644 index 000000000..3fe799a2f --- /dev/null +++ b/packages/cli/templates/react/igr-ts/icon/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrIconTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Icon"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "icon"; + this.projectType = "igr-ts"; + this.name = "Icon"; + this.description = "basic IgrIcon"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrIconTemplate(); diff --git a/packages/cli/templates/react/igr-ts/icon/index.ts b/packages/cli/templates/react/igr-ts/icon/index.ts new file mode 100644 index 000000000..79e27a892 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/icon/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrIconComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Icon"; + this.group = "Data Entry & Display"; + this.description = `displays an icon.`; + } +} +module.exports = new IgrIconComponent(); diff --git a/packages/cli/templates/react/igr-ts/input/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/input/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/input/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/input/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/input/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..592f40622 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/input/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,16 @@ +import style from './style.module.css'; +import { IgrInput } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Input

+
+ + This is some helper text + +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/input/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/input/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/input/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/input/default/index.ts b/packages/cli/templates/react/igr-ts/input/default/index.ts new file mode 100644 index 000000000..8aad8b8d2 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/input/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrInputTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Input"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "input"; + this.projectType = "igr-ts"; + this.name = "Input"; + this.description = "basic IgrInput"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrInputTemplate(); diff --git a/packages/cli/templates/react/igr-ts/input/index.ts b/packages/cli/templates/react/igr-ts/input/index.ts new file mode 100644 index 000000000..c72d0c2ac --- /dev/null +++ b/packages/cli/templates/react/igr-ts/input/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrInputComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Input"; + this.group = "Data Entry & Display"; + this.description = `displays an input field.`; + } +} +module.exports = new IgrInputComponent(); diff --git a/packages/cli/templates/react/igr-ts/linear-progress/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/linear-progress/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/linear-progress/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/linear-progress/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/linear-progress/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..1aa007661 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/linear-progress/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,16 @@ +import style from './style.module.css'; +import { IgrLinearProgress } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Linear Progress

+
+
+ +
+
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/linear-progress/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/linear-progress/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/linear-progress/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/linear-progress/default/index.ts b/packages/cli/templates/react/igr-ts/linear-progress/default/index.ts new file mode 100644 index 000000000..4b0982d33 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/linear-progress/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrLinearProgressTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["Linear Progress"]; +this.controlGroup = "Data Entry & Display"; +this.listInComponentTemplates = true; +this.id = "linear-progress"; +this.projectType = "igr-ts"; +this.name = "Linear Progress"; +this.description = "basic IgrLinearProgress"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrLinearProgressTemplate(); diff --git a/packages/cli/templates/react/igr-ts/linear-progress/index.ts b/packages/cli/templates/react/igr-ts/linear-progress/index.ts new file mode 100644 index 000000000..4250c82a8 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/linear-progress/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrLinearProgressComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "Linear Progress"; +this.group = "Data Entry & Display"; +this.description = `displays linear progress component`; +} +} +module.exports = new IgrLinearProgressComponent(); diff --git a/packages/cli/templates/react/igr-ts/list/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/list/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/list/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/list/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/list/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..69b37c934 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/list/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,31 @@ +import style from './style.module.css'; +import { IgrList, IgrListItem, IgrListHeader, IgrAvatar } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

List

+
+ + Job Positions + + +

Abraham Lee

+ Software Developer +
+ + +

John Smith

+ Team Lead +
+ + +

Jonathan Deberkow

+ UX Designer +
+
+
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/list/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/list/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/list/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/list/default/index.ts b/packages/cli/templates/react/igr-ts/list/default/index.ts new file mode 100644 index 000000000..f14ae344c --- /dev/null +++ b/packages/cli/templates/react/igr-ts/list/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrListTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["List"]; +this.controlGroup = "Grids & Lists"; +this.listInComponentTemplates = true; +this.id = "list"; +this.projectType = "igr-ts"; +this.name = "List"; +this.description = "basic IgrList"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrListTemplate(); diff --git a/packages/cli/templates/react/igr-ts/list/index.ts b/packages/cli/templates/react/igr-ts/list/index.ts new file mode 100644 index 000000000..53961a74f --- /dev/null +++ b/packages/cli/templates/react/igr-ts/list/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrListComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "List"; +this.group = "Grids & Lists"; +this.description = `displays list component`; +} +} +module.exports = new IgrListComponent(); diff --git a/packages/cli/templates/react/igr-ts/navbar/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/navbar/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/navbar/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/navbar/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/navbar/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..119d668c2 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/navbar/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,16 @@ +import style from './style.module.css'; +import { IgrNavbar } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Navbar

+
+ +

Home

+
+
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/navbar/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/navbar/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/navbar/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/navbar/default/index.ts b/packages/cli/templates/react/igr-ts/navbar/default/index.ts new file mode 100644 index 000000000..944354fd7 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/navbar/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrNavbarTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["Navbar"]; +this.controlGroup = "Menus"; +this.listInComponentTemplates = true; +this.id = "navbar"; +this.projectType = "igr-ts"; +this.name = "Navbar"; +this.description = "basic IgrNavbar"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrNavbarTemplate(); diff --git a/packages/cli/templates/react/igr-ts/navbar/index.ts b/packages/cli/templates/react/igr-ts/navbar/index.ts new file mode 100644 index 000000000..112b8c078 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/navbar/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrNavbarComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "Navbar"; +this.group = "Menus"; +this.description = `displays navbar component`; +} +} +module.exports = new IgrNavbarComponent(); diff --git a/packages/cli/templates/react/igr-ts/radio-group/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/radio-group/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/radio-group/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/radio-group/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/radio-group/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..23fe6182a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/radio-group/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,18 @@ +import style from './style.module.css'; +import { IgrRadioGroup, IgrRadio } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Radio Group

+
+ + Banana + Orange + Mango + +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/radio-group/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/radio-group/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/radio-group/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/radio-group/default/index.ts b/packages/cli/templates/react/igr-ts/radio-group/default/index.ts new file mode 100644 index 000000000..6c53e7e82 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/radio-group/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrRadioGroupTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Radio Group"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "radio-group"; + this.projectType = "igr-ts"; + this.name = "Radio Group"; + this.description = "basic IgrRadioGroup"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrRadioGroupTemplate(); diff --git a/packages/cli/templates/react/igr-ts/radio-group/index.ts b/packages/cli/templates/react/igr-ts/radio-group/index.ts new file mode 100644 index 000000000..dee4124d9 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/radio-group/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrRadioGroupComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Radio Group"; + this.group = "Data Entry & Display"; + this.description = `displays a radio group.`; + } +} +module.exports = new IgrRadioGroupComponent(); diff --git a/packages/cli/templates/react/igr-ts/rating/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/rating/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/rating/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/rating/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/rating/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..a07a1f6de --- /dev/null +++ b/packages/cli/templates/react/igr-ts/rating/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,14 @@ +import style from './style.module.css'; +import { IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Rating

+
+ +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/rating/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/rating/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/rating/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/rating/default/index.ts b/packages/cli/templates/react/igr-ts/rating/default/index.ts new file mode 100644 index 000000000..114d08909 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/rating/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrRatingTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Rating"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "rating"; + this.projectType = "igr-ts"; + this.name = "Rating"; + this.description = "basic IgrRating"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrRatingTemplate(); diff --git a/packages/cli/templates/react/igr-ts/rating/index.ts b/packages/cli/templates/react/igr-ts/rating/index.ts new file mode 100644 index 000000000..841b5a2d3 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/rating/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrRatingComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Rating"; + this.group = "Data Entry & Display"; + this.description = `represents a rating component`; + } +} +module.exports = new IgrRatingComponent(); diff --git a/packages/cli/templates/react/igr-ts/ripple/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/ripple/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/ripple/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/ripple/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/ripple/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..c18c3afc8 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/ripple/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,17 @@ +import style from './style.module.css'; +import { IgrButton, IgrRipple } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Ripple

+
+ + + Button with ripple + +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/ripple/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/ripple/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/ripple/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/ripple/default/index.ts b/packages/cli/templates/react/igr-ts/ripple/default/index.ts new file mode 100644 index 000000000..8afdb6fe4 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/ripple/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrRippleTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["Ripple"]; +this.controlGroup = "Interactions"; +this.listInComponentTemplates = true; +this.id = "ripple"; +this.projectType = "igr-ts"; +this.name = "Ripple"; +this.description = "basic IgrRipple"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrRippleTemplate(); diff --git a/packages/cli/templates/react/igr-ts/ripple/index.ts b/packages/cli/templates/react/igr-ts/ripple/index.ts new file mode 100644 index 000000000..217781d00 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/ripple/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrRippleComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "Ripple"; +this.group = "Interactions"; +this.description = `displays ripple component`; +} +} +module.exports = new IgrRippleComponent(); diff --git a/packages/cli/templates/react/igr-ts/slider/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/slider/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/slider/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/slider/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/slider/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..b0ef7bc75 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/slider/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,14 @@ +import style from './style.module.css'; +import { IgrSlider } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Slider

+
+ +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/slider/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/slider/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/slider/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/slider/default/index.ts b/packages/cli/templates/react/igr-ts/slider/default/index.ts new file mode 100644 index 000000000..6dd4fca5c --- /dev/null +++ b/packages/cli/templates/react/igr-ts/slider/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrSliderTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["Slider"]; +this.controlGroup = "Interactions"; +this.listInComponentTemplates = true; +this.id = "slider"; +this.projectType = "igr-ts"; +this.name = "Slider"; +this.description = "basic IgrSlider"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrSliderTemplate(); diff --git a/packages/cli/templates/react/igr-ts/slider/index.ts b/packages/cli/templates/react/igr-ts/slider/index.ts new file mode 100644 index 000000000..3843da395 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/slider/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrSliderComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "Slider"; +this.group = "Interactions"; +this.description = `displays slider component`; +} +} +module.exports = new IgrSliderComponent(); diff --git a/packages/cli/templates/react/igr-ts/switch/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/switch/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/switch/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/switch/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/switch/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..95f768bdf --- /dev/null +++ b/packages/cli/templates/react/igr-ts/switch/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,14 @@ +import style from './style.module.css'; +import { IgrSwitch } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Switch

+
+ Label +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/switch/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/switch/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/switch/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/switch/default/index.ts b/packages/cli/templates/react/igr-ts/switch/default/index.ts new file mode 100644 index 000000000..0c466e11e --- /dev/null +++ b/packages/cli/templates/react/igr-ts/switch/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrSwitchTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Switch"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "switch"; + this.projectType = "igr-ts"; + this.name = "Switch"; + this.description = "basic IgrSwitch"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrSwitchTemplate(); diff --git a/packages/cli/templates/react/igr-ts/switch/index.ts b/packages/cli/templates/react/igr-ts/switch/index.ts new file mode 100644 index 000000000..eb2f03a41 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/switch/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrSwitchComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Switch"; + this.group = "Data Entry & Display"; + this.description = `represents a switch component`; + } +} +module.exports = new IgrSwitchComponent(); diff --git a/packages/cli/templates/react/igr-ts/tabs/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/tabs/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/tabs/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/tabs/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/tabs/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..26841969d --- /dev/null +++ b/packages/cli/templates/react/igr-ts/tabs/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,27 @@ +import style from './style.module.css'; +import { IgrTabs, IgrTab } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Tabs

+
+ + +

Sgt. Peppers Lonely Hearts Club Band

+

The Dark Side of the Moon

+

Thriller

+
+ +

The Dark Side of the Moon

+

Led Zeppelin IV

+
+ +

No content available

+
+
+
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/tabs/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/tabs/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/tabs/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/tabs/default/index.ts b/packages/cli/templates/react/igr-ts/tabs/default/index.ts new file mode 100644 index 000000000..a06e811cd --- /dev/null +++ b/packages/cli/templates/react/igr-ts/tabs/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrTabsTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["Tabs"]; +this.controlGroup = "Layouts"; +this.listInComponentTemplates = true; +this.id = "tabs"; +this.projectType = "igr-ts"; +this.name = "Tabs"; +this.description = "basic IgrTabs"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrTabsTemplate(); diff --git a/packages/cli/templates/react/igr-ts/tabs/index.ts b/packages/cli/templates/react/igr-ts/tabs/index.ts new file mode 100644 index 000000000..a92040987 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/tabs/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrTabsComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "Tabs"; +this.group = "Layouts"; +this.description = `displays tabs component`; +} +} +module.exports = new IgrTabsComponent(); diff --git a/packages/cli/templates/react/igr-ts/text-area/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/text-area/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/text-area/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/text-area/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/text-area/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..3b7fb68de --- /dev/null +++ b/packages/cli/templates/react/igr-ts/text-area/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,14 @@ +import style from './style.module.css'; +import { IgrTextarea } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Text Area

+
+ +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/text-area/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/text-area/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/text-area/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/text-area/default/index.ts b/packages/cli/templates/react/igr-ts/text-area/default/index.ts new file mode 100644 index 000000000..a427628c5 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/text-area/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrTextAreaTemplate extends IgniteUIForReactTemplate { + constructor() { + super(__dirname); + this.components = ["Text area"]; + this.controlGroup = "Data Entry & Display"; + this.listInComponentTemplates = true; + this.id = "text-area"; + this.projectType = "igr-ts"; + this.name = "Text area"; + this.description = "basic IgrTextarea"; + this.packages = ["igniteui-react@~19.5.2"]; + } +} +module.exports = new IgrTextAreaTemplate(); diff --git a/packages/cli/templates/react/igr-ts/text-area/index.ts b/packages/cli/templates/react/igr-ts/text-area/index.ts new file mode 100644 index 000000000..47f26766b --- /dev/null +++ b/packages/cli/templates/react/igr-ts/text-area/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrTextAreaComponent extends BaseComponent { + constructor() { + super(__dirname); + this.name = "Text area"; + this.group = "Data Entry & Display"; + this.description = `represents a text area component`; + } +} +module.exports = new IgrTextAreaComponent(); diff --git a/packages/cli/templates/react/igr-ts/tree/default/files/src/app/__path__/__filePrefix__.test.tsx b/packages/cli/templates/react/igr-ts/tree/default/files/src/app/__path__/__filePrefix__.test.tsx new file mode 100644 index 000000000..854681a3a --- /dev/null +++ b/packages/cli/templates/react/igr-ts/tree/default/files/src/app/__path__/__filePrefix__.test.tsx @@ -0,0 +1,13 @@ +import { beforeAll, expect, test } from 'vitest'; +import { render } from '@testing-library/react'; +import $(ClassName) from './$(path)'; +import { setupTestMocks } from '../../setupTests'; + +beforeAll(() => { + setupTestMocks(); +}) + +test('renders $(ClassName) component', () => { + const wrapper = render(<$(ClassName) />); + expect(wrapper).toBeTruthy(); +}); diff --git a/packages/cli/templates/react/igr-ts/tree/default/files/src/app/__path__/__filePrefix__.tsx b/packages/cli/templates/react/igr-ts/tree/default/files/src/app/__path__/__filePrefix__.tsx new file mode 100644 index 000000000..0fb7dc736 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/tree/default/files/src/app/__path__/__filePrefix__.tsx @@ -0,0 +1,29 @@ +import style from './style.module.css'; +import { IgrTree, IgrTreeItem } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function $(ClassName)() { + return ( +
+

Tree

+
+ + + + + + + + + + + + + + + + +
+
+ ); +} diff --git a/packages/cli/templates/react/igr-ts/tree/default/files/src/app/__path__/style.module.css b/packages/cli/templates/react/igr-ts/tree/default/files/src/app/__path__/style.module.css new file mode 100644 index 000000000..1bcd0e328 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/tree/default/files/src/app/__path__/style.module.css @@ -0,0 +1,9 @@ +:local(.container) { + padding-top: 24px; + display: flex; + flex-flow: row; + justify-content: space-around; +} +:local(.title) { + color: rgb(0, 153, 255); +} diff --git a/packages/cli/templates/react/igr-ts/tree/default/index.ts b/packages/cli/templates/react/igr-ts/tree/default/index.ts new file mode 100644 index 000000000..23e567c27 --- /dev/null +++ b/packages/cli/templates/react/igr-ts/tree/default/index.ts @@ -0,0 +1,16 @@ +import { IgniteUIForReactTemplate } from "../../../../../lib/templates/IgniteUIForReactTemplate"; + +class IgrTreeTemplate extends IgniteUIForReactTemplate { +constructor() { +super(__dirname); +this.components = ["Tree"]; +this.controlGroup = "Grids & Lists"; +this.listInComponentTemplates = true; +this.id = "tree"; +this.projectType = "igr-ts"; +this.name = "Tree"; +this.description = "basic IgrTree"; +this.packages = ["igniteui-react@~19.5.2"]; +} +} +module.exports = new IgrTreeTemplate(); diff --git a/packages/cli/templates/react/igr-ts/tree/index.ts b/packages/cli/templates/react/igr-ts/tree/index.ts new file mode 100644 index 000000000..c7d74fedd --- /dev/null +++ b/packages/cli/templates/react/igr-ts/tree/index.ts @@ -0,0 +1,11 @@ +import { BaseComponent } from "@igniteui/cli-core"; + +class IgrTreeComponent extends BaseComponent { +constructor() { +super(__dirname); +this.name = "Tree"; +this.group = "Grids & Lists"; +this.description = `displays tree component`; +} +} +module.exports = new IgrTreeComponent();