diff --git a/samples/inputs/rating/basic/src/index.css b/samples/inputs/rating/basic/src/index.css deleted file mode 100644 index 8f7f70c8e0..0000000000 --- a/samples/inputs/rating/basic/src/index.css +++ /dev/null @@ -1,5 +0,0 @@ -/* shared styles are loaded from: */ -/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ -.size-large { - --ig-size: var(--ig-size-large); -} \ No newline at end of file diff --git a/samples/inputs/rating/basic/src/index.tsx b/samples/inputs/rating/basic/src/index.tsx deleted file mode 100644 index 8dfe45ae3b..0000000000 --- a/samples/inputs/rating/basic/src/index.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import ReactDOM from 'react-dom/client'; -import './index.css'; -import { IgrRating } from 'igniteui-react'; -import 'igniteui-webcomponents/themes/light/bootstrap.css'; - -export default function RatingOverview() { - return ( -
- -
- ); -} - -// rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')!); -root.render(); diff --git a/samples/inputs/rating/custom/src/index.css b/samples/inputs/rating/custom/src/index.css deleted file mode 100644 index 8f7f70c8e0..0000000000 --- a/samples/inputs/rating/custom/src/index.css +++ /dev/null @@ -1,5 +0,0 @@ -/* shared styles are loaded from: */ -/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ -.size-large { - --ig-size: var(--ig-size-large); -} \ No newline at end of file diff --git a/samples/inputs/rating/custom/src/index.tsx b/samples/inputs/rating/custom/src/index.tsx deleted file mode 100644 index 3f8db09b47..0000000000 --- a/samples/inputs/rating/custom/src/index.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import ReactDOM from 'react-dom/client'; -import './index.css'; -import { IgrRating, IgrRatingSymbol, IgrIcon, registerIconFromText } from 'igniteui-react'; -import 'igniteui-webcomponents/themes/light/bootstrap.css'; - -const emptyHeart = ' '; -const heartIcon = ' '; - -registerIconFromText("heart", heartIcon, "material"); -registerIconFromText("emptyHeart", emptyHeart, "material"); - -export default function RatingCustomSymbols() { - return ( -
- - -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- ); -} - -// rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')!); -root.render(); diff --git a/samples/inputs/rating/empty/src/index.css b/samples/inputs/rating/empty/src/index.css deleted file mode 100644 index 1f53b8aa05..0000000000 --- a/samples/inputs/rating/empty/src/index.css +++ /dev/null @@ -1,2 +0,0 @@ -/* shared styles are loaded from: */ -/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ \ No newline at end of file diff --git a/samples/inputs/rating/empty/src/index.tsx b/samples/inputs/rating/empty/src/index.tsx deleted file mode 100644 index 29d0f3eaad..0000000000 --- a/samples/inputs/rating/empty/src/index.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import ReactDOM from 'react-dom/client'; -import './index.css'; -import { IgrRating, IgrRatingSymbol, IgrIcon, registerIconFromText } from 'igniteui-react'; -import 'igniteui-webcomponents/themes/light/bootstrap.css'; - -const bandageIcon = 'Bandage IconA picture depicting a bandage.'; -const bacteriaIcon = 'Bacteria IconA picture depicting a bacteria.'; - -registerIconFromText("bandage", bandageIcon, "material"); -registerIconFromText("bacteria", bacteriaIcon,"material"); - -export default function RatingEmptyAndSelected() { - return ( -
- - -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- ); -} - -// rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')!); -root.render(); diff --git a/samples/inputs/rating/interaction-states/README.md b/samples/inputs/rating/interaction-states/README.md new file mode 100644 index 0000000000..c7b5415421 --- /dev/null +++ b/samples/inputs/rating/interaction-states/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Interaction States feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. + + + + + + View Docs + + + View Code + + + Run Sample + + + + +## Branches + +> **_NOTE:_** You should use [master](https://github.com/IgniteUI/igniteui-react-examples/tree/master) branch of this repository if you want to run samples on your computer. Use the [vnext](https://github.com/IgniteUI/igniteui-react-examples/tree/vnext) branch only when you want to contribute new samples to this repository. + +## Instructions + +Follow these instructions to run this example: + + +``` +git clone https://github.com/IgniteUI/igniteui-react-examples.git +cd ./igniteui-react-examples +git checkout master +cd ./samples/inputs/rating/interaction-states +``` + +open above folder in VS Code or type: +``` +code . +``` + +In terminal window, run: +``` +npm install +npm start +``` + +Then open http://localhost:4200/ in your browser + + +## Learn More + +To learn more about **Ignite UI for React** components, check out the [React documentation](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html). diff --git a/samples/inputs/rating/interaction-states/index.html b/samples/inputs/rating/interaction-states/index.html new file mode 100644 index 0000000000..1cbb958ef9 --- /dev/null +++ b/samples/inputs/rating/interaction-states/index.html @@ -0,0 +1,11 @@ + + + + RatingInteractionStates + + + +
+ + + \ No newline at end of file diff --git a/samples/inputs/rating/interaction-states/package.json b/samples/inputs/rating/interaction-states/package.json new file mode 100644 index 0000000000..f7c11ac987 --- /dev/null +++ b/samples/inputs/rating/interaction-states/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-rating-interaction-states", + "description": "This project provides example of Rating Interaction States using Infragistics React components", + "author": "Infragistics", + "homepage": ".", + "version": "1.4.0", + "private": true, + "scripts": { + "start": "vite --port 4200", + "build": "tsc && node --max-old-space-size=4096 node_modules/vite/bin/vite build", + "preview": "vite preview", + "test": "vitest" + }, + "dependencies": { + "igniteui-dockmanager": "^2.2.1", + "igniteui-react": "19.9.0", + "igniteui-react-core": "19.6.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", + "tslib": "^2.4.0" + }, + "devDependencies": { + "@types/jest": "^30.0.0", + "@types/node": "^24.7.1", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "@vitest/browser": "^5.0.2", + "typescript": "^5.9.3", + "vite": "^8.3.1", + "vitest": "^5.0.2", + "vitest-canvas-mock": "^1.2.0", + "worker-loader": "^3.0.8" + }, + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] +} diff --git a/samples/inputs/rating/interaction-states/src/index.css b/samples/inputs/rating/interaction-states/src/index.css new file mode 100644 index 0000000000..2a8fb3ad05 --- /dev/null +++ b/samples/inputs/rating/interaction-states/src/index.css @@ -0,0 +1,33 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; +} + +.states { + display: flex; + align-items: center; + gap: 3.75rem; +} + +.state { + display: flex; + align-items: center; + gap: 1.875rem; +} + +.state-label { + font: 400 14px / 24px "Aktiv Grotesk", sans-serif; + letter-spacing: 0.1px; + color: var(--ig-gray-600); +} + +igc-rating { + --ig-rating-label-color: var(--ig-gray-700); + --ig-rating-disabled-label-color: var(--ig-gray-500); +} diff --git a/samples/inputs/rating/interaction-states/src/index.tsx b/samples/inputs/rating/interaction-states/src/index.tsx new file mode 100644 index 0000000000..37de16cdbc --- /dev/null +++ b/samples/inputs/rating/interaction-states/src/index.tsx @@ -0,0 +1,25 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingInteractionStates() { + return ( +
+
+
+ Enabled + +
+
+ Disabled + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/basic/tsconfig.json b/samples/inputs/rating/interaction-states/tsconfig.json similarity index 100% rename from samples/inputs/rating/basic/tsconfig.json rename to samples/inputs/rating/interaction-states/tsconfig.json diff --git a/samples/inputs/rating/basic/vite.config.js b/samples/inputs/rating/interaction-states/vite.config.js similarity index 100% rename from samples/inputs/rating/basic/vite.config.js rename to samples/inputs/rating/interaction-states/vite.config.js diff --git a/samples/inputs/rating/custom/README.md b/samples/inputs/rating/layout/README.md similarity index 92% rename from samples/inputs/rating/custom/README.md rename to samples/inputs/rating/layout/README.md index 82641d9dbc..06bf14481d 100644 --- a/samples/inputs/rating/custom/README.md +++ b/samples/inputs/rating/layout/README.md @@ -1,4 +1,4 @@ -This folder contains implementation of React application with example of Custom feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. +This folder contains implementation of React application with example of Layout feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -9,7 +9,7 @@ This folder contains implementation of React application with example of Custom View Code - + Run Sample @@ -28,7 +28,7 @@ Follow these instructions to run this example: git clone https://github.com/IgniteUI/igniteui-react-examples.git cd ./igniteui-react-examples git checkout master -cd ./samples/inputs/rating/custom +cd ./samples/inputs/rating/layout ``` open above folder in VS Code or type: diff --git a/samples/inputs/rating/basic/index.html b/samples/inputs/rating/layout/index.html similarity index 87% rename from samples/inputs/rating/basic/index.html rename to samples/inputs/rating/layout/index.html index ebd5a6e42e..b0071e526f 100644 --- a/samples/inputs/rating/basic/index.html +++ b/samples/inputs/rating/layout/index.html @@ -1,7 +1,7 @@ - Rating Overview + RatingLayout diff --git a/samples/inputs/rating/custom/package.json b/samples/inputs/rating/layout/package.json similarity index 87% rename from samples/inputs/rating/custom/package.json rename to samples/inputs/rating/layout/package.json index b812800f3b..0cb81562c2 100644 --- a/samples/inputs/rating/custom/package.json +++ b/samples/inputs/rating/layout/package.json @@ -1,6 +1,6 @@ { - "name": "react-button-overview", - "description": "This project provides example of Button Overview using Infragistics React components", + "name": "react-rating-layout", + "description": "This project provides example of Rating Layout using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/inputs/rating/layout/src/index.css b/samples/inputs/rating/layout/src/index.css new file mode 100644 index 0000000000..63ea945eb1 --- /dev/null +++ b/samples/inputs/rating/layout/src/index.css @@ -0,0 +1,32 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; +} + +.layouts { + display: flex; + align-items: center; + gap: 3.75rem; +} + +.layout { + display: flex; + align-items: center; + gap: 1.875rem; +} + +.layout-label { + font: 500 14px / 24px "Aktiv Grotesk", sans-serif; + letter-spacing: 0.1px; + color: var(--ig-gray-600); +} + +igc-rating { + --ig-rating-label-color: var(--ig-gray-700); +} diff --git a/samples/inputs/rating/layout/src/index.tsx b/samples/inputs/rating/layout/src/index.tsx new file mode 100644 index 0000000000..ca22b91068 --- /dev/null +++ b/samples/inputs/rating/layout/src/index.tsx @@ -0,0 +1,25 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingLayout() { + return ( +
+
+
+ Label / On + +
+
+ Label / Off + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/custom/tsconfig.json b/samples/inputs/rating/layout/tsconfig.json similarity index 100% rename from samples/inputs/rating/custom/tsconfig.json rename to samples/inputs/rating/layout/tsconfig.json diff --git a/samples/inputs/rating/custom/vite.config.js b/samples/inputs/rating/layout/vite.config.js similarity index 100% rename from samples/inputs/rating/custom/vite.config.js rename to samples/inputs/rating/layout/vite.config.js diff --git a/samples/inputs/rating/overview/README.md b/samples/inputs/rating/overview/README.md new file mode 100644 index 0000000000..504c2ce7ab --- /dev/null +++ b/samples/inputs/rating/overview/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Overview feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. + + + + + + View Docs + + + View Code + + + Run Sample + + + + +## Branches + +> **_NOTE:_** You should use [master](https://github.com/IgniteUI/igniteui-react-examples/tree/master) branch of this repository if you want to run samples on your computer. Use the [vnext](https://github.com/IgniteUI/igniteui-react-examples/tree/vnext) branch only when you want to contribute new samples to this repository. + +## Instructions + +Follow these instructions to run this example: + + +``` +git clone https://github.com/IgniteUI/igniteui-react-examples.git +cd ./igniteui-react-examples +git checkout master +cd ./samples/inputs/rating/overview +``` + +open above folder in VS Code or type: +``` +code . +``` + +In terminal window, run: +``` +npm install +npm start +``` + +Then open http://localhost:4200/ in your browser + + +## Learn More + +To learn more about **Ignite UI for React** components, check out the [React documentation](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html). diff --git a/samples/inputs/rating/empty/index.html b/samples/inputs/rating/overview/index.html similarity index 87% rename from samples/inputs/rating/empty/index.html rename to samples/inputs/rating/overview/index.html index 7332773b51..e1a9491016 100644 --- a/samples/inputs/rating/empty/index.html +++ b/samples/inputs/rating/overview/index.html @@ -1,7 +1,7 @@ - Empty & Selected + RatingOverview diff --git a/samples/inputs/rating/single-selection/package.json b/samples/inputs/rating/overview/package.json similarity index 91% rename from samples/inputs/rating/single-selection/package.json rename to samples/inputs/rating/overview/package.json index b812800f3b..8a1f172635 100644 --- a/samples/inputs/rating/single-selection/package.json +++ b/samples/inputs/rating/overview/package.json @@ -1,6 +1,6 @@ { - "name": "react-button-overview", - "description": "This project provides example of Button Overview using Infragistics React components", + "name": "react-rating-overview", + "description": "This project provides example of Rating Overview using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/inputs/rating/overview/src/index.css b/samples/inputs/rating/overview/src/index.css new file mode 100644 index 0000000000..a927098155 --- /dev/null +++ b/samples/inputs/rating/overview/src/index.css @@ -0,0 +1,20 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; +} + +.rating-card { + width: 15rem; + box-shadow: var(--ig-elevation-2); +} + +.rating-card igc-card-content { + display: flex; + padding-bottom: 0.5rem; +} diff --git a/samples/inputs/rating/overview/src/index.tsx b/samples/inputs/rating/overview/src/index.tsx new file mode 100644 index 0000000000..f8a65d1497 --- /dev/null +++ b/samples/inputs/rating/overview/src/index.tsx @@ -0,0 +1,24 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrCard, IgrCardContent, IgrCardHeader, IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingOverview() { + return ( +
+ + + Rate this product + Your opinion matters to us! + + + + + +
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/empty/tsconfig.json b/samples/inputs/rating/overview/tsconfig.json similarity index 100% rename from samples/inputs/rating/empty/tsconfig.json rename to samples/inputs/rating/overview/tsconfig.json diff --git a/samples/inputs/rating/empty/vite.config.js b/samples/inputs/rating/overview/vite.config.js similarity index 100% rename from samples/inputs/rating/empty/vite.config.js rename to samples/inputs/rating/overview/vite.config.js diff --git a/samples/inputs/rating/single-selection/src/index.css b/samples/inputs/rating/single-selection/src/index.css deleted file mode 100644 index 1f53b8aa05..0000000000 --- a/samples/inputs/rating/single-selection/src/index.css +++ /dev/null @@ -1,2 +0,0 @@ -/* shared styles are loaded from: */ -/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ \ No newline at end of file diff --git a/samples/inputs/rating/single-selection/src/index.tsx b/samples/inputs/rating/single-selection/src/index.tsx deleted file mode 100644 index 96e9ac7b07..0000000000 --- a/samples/inputs/rating/single-selection/src/index.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import ReactDOM from 'react-dom/client'; -import './index.css'; -import { IgrRating, IgrRatingSymbol } from 'igniteui-react'; -import 'igniteui-webcomponents/themes/light/bootstrap.css'; - -export default function RatingSingleSelection() { - return ( -
- - - 😣 - 😣 - - - 😔 - 😔 - - - 😐 - 😐 - - - 🙂 - 🙂 - - - 😆 - 😆 - - -
- ); -} - -// rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')!); -root.render(); diff --git a/samples/inputs/rating/basic/README.md b/samples/inputs/rating/size/README.md similarity index 88% rename from samples/inputs/rating/basic/README.md rename to samples/inputs/rating/size/README.md index d4216aa096..f1480dedbd 100644 --- a/samples/inputs/rating/basic/README.md +++ b/samples/inputs/rating/size/README.md @@ -1,4 +1,4 @@ -This folder contains implementation of React application with example of Basic feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. +This folder contains implementation of React application with example of Size feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -9,7 +9,7 @@ This folder contains implementation of React application with example of Basic f View Code - + Run Sample @@ -28,7 +28,7 @@ Follow these instructions to run this example: git clone https://github.com/IgniteUI/igniteui-react-examples.git cd ./igniteui-react-examples git checkout master -cd ./samples/inputs/rating/basic +cd ./samples/inputs/rating/size ``` open above folder in VS Code or type: diff --git a/samples/inputs/rating/single-selection/index.html b/samples/inputs/rating/size/index.html similarity index 87% rename from samples/inputs/rating/single-selection/index.html rename to samples/inputs/rating/size/index.html index a60019c75a..0ee48c86f0 100644 --- a/samples/inputs/rating/single-selection/index.html +++ b/samples/inputs/rating/size/index.html @@ -1,7 +1,7 @@ - Single Selection + RatingSize diff --git a/samples/inputs/rating/basic/package.json b/samples/inputs/rating/size/package.json similarity index 87% rename from samples/inputs/rating/basic/package.json rename to samples/inputs/rating/size/package.json index b812800f3b..27a9104dbb 100644 --- a/samples/inputs/rating/basic/package.json +++ b/samples/inputs/rating/size/package.json @@ -1,6 +1,6 @@ { - "name": "react-button-overview", - "description": "This project provides example of Button Overview using Infragistics React components", + "name": "react-rating-size", + "description": "This project provides example of Rating Size using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/inputs/rating/size/src/index.css b/samples/inputs/rating/size/src/index.css new file mode 100644 index 0000000000..e781b2e477 --- /dev/null +++ b/samples/inputs/rating/size/src/index.css @@ -0,0 +1,44 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; +} + +.sizes { + display: flex; + align-items: center; + gap: 3.75rem; +} + +.size { + display: flex; + align-items: center; + gap: 1.875rem; +} + +.size-label { + font: 500 14px / 24px "Aktiv Grotesk", sans-serif; + letter-spacing: 0.1px; + color: var(--ig-gray-600); +} + +igc-rating { + --ig-rating-label-color: var(--ig-gray-700); +} + +.size-small { + --ig-size: var(--ig-size-small); +} + +.size-medium { + --ig-size: var(--ig-size-medium); +} + +.size-large { + --ig-size: var(--ig-size-large); +} diff --git a/samples/inputs/rating/size/src/index.tsx b/samples/inputs/rating/size/src/index.tsx new file mode 100644 index 0000000000..4056606a99 --- /dev/null +++ b/samples/inputs/rating/size/src/index.tsx @@ -0,0 +1,29 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingSize() { + return ( +
+
+
+ Small + +
+
+ Medium + +
+
+ Large + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/single-selection/tsconfig.json b/samples/inputs/rating/size/tsconfig.json similarity index 100% rename from samples/inputs/rating/single-selection/tsconfig.json rename to samples/inputs/rating/size/tsconfig.json diff --git a/samples/inputs/rating/single-selection/vite.config.js b/samples/inputs/rating/size/vite.config.js similarity index 100% rename from samples/inputs/rating/single-selection/vite.config.js rename to samples/inputs/rating/size/vite.config.js diff --git a/samples/inputs/rating/empty/README.md b/samples/inputs/rating/states/README.md similarity index 88% rename from samples/inputs/rating/empty/README.md rename to samples/inputs/rating/states/README.md index 785130114c..7d659e9b02 100644 --- a/samples/inputs/rating/empty/README.md +++ b/samples/inputs/rating/states/README.md @@ -1,4 +1,4 @@ -This folder contains implementation of React application with example of Empty feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. +This folder contains implementation of React application with example of States feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -9,7 +9,7 @@ This folder contains implementation of React application with example of Empty f View Code - + Run Sample @@ -28,7 +28,7 @@ Follow these instructions to run this example: git clone https://github.com/IgniteUI/igniteui-react-examples.git cd ./igniteui-react-examples git checkout master -cd ./samples/inputs/rating/empty +cd ./samples/inputs/rating/states ``` open above folder in VS Code or type: diff --git a/samples/inputs/rating/custom/index.html b/samples/inputs/rating/states/index.html similarity index 86% rename from samples/inputs/rating/custom/index.html rename to samples/inputs/rating/states/index.html index 3352f7c248..424c8ae128 100644 --- a/samples/inputs/rating/custom/index.html +++ b/samples/inputs/rating/states/index.html @@ -1,7 +1,7 @@ - Using Custom Symbols + RatingStates diff --git a/samples/inputs/rating/empty/package.json b/samples/inputs/rating/states/package.json similarity index 87% rename from samples/inputs/rating/empty/package.json rename to samples/inputs/rating/states/package.json index b812800f3b..5e75de8953 100644 --- a/samples/inputs/rating/empty/package.json +++ b/samples/inputs/rating/states/package.json @@ -1,6 +1,6 @@ { - "name": "react-button-overview", - "description": "This project provides example of Button Overview using Infragistics React components", + "name": "react-rating-states", + "description": "This project provides example of Rating States using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/inputs/rating/states/src/index.css b/samples/inputs/rating/states/src/index.css new file mode 100644 index 0000000000..2c90ebd459 --- /dev/null +++ b/samples/inputs/rating/states/src/index.css @@ -0,0 +1,32 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; +} + +.states { + display: flex; + align-items: center; + gap: 3.75rem; +} + +.state { + display: flex; + align-items: center; + gap: 1.875rem; +} + +.state-label { + font: 500 14px / 24px "Aktiv Grotesk", sans-serif; + letter-spacing: 0.1px; + color: var(--ig-gray-600); +} + +igc-rating { + --ig-rating-label-color: var(--ig-gray-700); +} diff --git a/samples/inputs/rating/states/src/index.tsx b/samples/inputs/rating/states/src/index.tsx new file mode 100644 index 0000000000..33b96719af --- /dev/null +++ b/samples/inputs/rating/states/src/index.tsx @@ -0,0 +1,25 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingStates() { + return ( +
+
+
+ Empty State + +
+
+ Full State + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/states/tsconfig.json b/samples/inputs/rating/states/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/rating/states/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, + "isolatedModules": true, + "skipLibCheck": true, + "noEmit": true + }, + "include": [ + "src" + ] +} diff --git a/samples/inputs/rating/states/vite.config.js b/samples/inputs/rating/states/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/inputs/rating/states/vite.config.js @@ -0,0 +1,12 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + build: { + outDir: 'build' + }, + server: { + open: false + }, +}); \ No newline at end of file diff --git a/samples/inputs/rating/styling/index.html b/samples/inputs/rating/styling/index.html index 32270cc1a2..805c2ba96f 100644 --- a/samples/inputs/rating/styling/index.html +++ b/samples/inputs/rating/styling/index.html @@ -1,7 +1,7 @@ - Styling + RatingStyling diff --git a/samples/inputs/rating/styling/package.json b/samples/inputs/rating/styling/package.json index b812800f3b..c6611ce54d 100644 --- a/samples/inputs/rating/styling/package.json +++ b/samples/inputs/rating/styling/package.json @@ -1,6 +1,6 @@ { - "name": "react-button-overview", - "description": "This project provides example of Button Overview using Infragistics React components", + "name": "react-rating-styling", + "description": "This project provides example of Rating Styling using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/inputs/rating/styling/src/index.css b/samples/inputs/rating/styling/src/index.css index 9c67266cbe..78c59c2777 100644 --- a/samples/inputs/rating/styling/src/index.css +++ b/samples/inputs/rating/styling/src/index.css @@ -1,28 +1,38 @@ /* shared styles are loaded from: */ /* https://dl.infragistics.com/x/css/samples/shared.v8.css */ -igc-rating { - --symbol-size: 44px; - --symbol-full-color: hsla(var(--ig-warn-A400), var(--ig-warn-a)); - --symbol-empty-color: hsla(var(--ig-warn-A400), var(--ig-warn-a)); +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; } -igc-rating[disabled] { - --symbol-full-color: hsla(var(--ig-gray-400), var(--ig-gray-a)); - --symbol-empty-color: hsla(var(--ig-gray-400), var(--ig-gray-a)); +.examples { + display: flex; + align-items: center; + gap: 3.75rem; } -igc-rating::part(label) { - font-size: 18px; - font-weight: 600; - text-transform: var(--ig-overline-text-transform); - color: hsla(var(--ig-gray-600), var(--ig-gray-a)); +.example { + display: flex; + align-items: center; + gap: 1.875rem; } -igc-rating::part(symbols) { - gap: 8px; +.example-label { + font: 500 14px / 24px "Aktiv Grotesk", sans-serif; + letter-spacing: 0.1px; + color: #556c86; } -.size-large { - --ig-size: var(--ig-size-large); +.heart-rating { + --ig-rating-symbol-full-color: #d9357f; + --ig-rating-symbol-empty-color: #d9357f; +} + +.star-rating { + --ig-rating-symbol-full-color: #faa419; + --ig-rating-symbol-empty-color: #8a8a8a; } diff --git a/samples/inputs/rating/styling/src/index.tsx b/samples/inputs/rating/styling/src/index.tsx index a8c5d75980..3dda7674ea 100644 --- a/samples/inputs/rating/styling/src/index.tsx +++ b/samples/inputs/rating/styling/src/index.tsx @@ -1,12 +1,38 @@ +import { useEffect } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrRating } from 'igniteui-react'; +import { IgrIcon, IgrRating, IgrRatingSymbol, registerIconFromText } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; +const icons = [ + { name: 'favorite', text: '' }, + { name: 'favorite_border', text: '' }, +]; + export default function RatingStyling() { + useEffect(() => { + icons.forEach((icon) => registerIconFromText(icon.name, icon.text, 'material')); + }, []); + return ( -
- +
+
+
+ Custom icon and color + + {[1, 2, 3, 4, 5].map((symbol) => ( + + + + + ))} + +
+
+ 10 stars + +
+
); } diff --git a/samples/inputs/rating/single-selection/README.md b/samples/inputs/rating/tailwind-styling/README.md similarity index 91% rename from samples/inputs/rating/single-selection/README.md rename to samples/inputs/rating/tailwind-styling/README.md index 060516b800..11bf5e720f 100644 --- a/samples/inputs/rating/single-selection/README.md +++ b/samples/inputs/rating/tailwind-styling/README.md @@ -1,4 +1,4 @@ -This folder contains implementation of React application with example of Single Selection feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. +This folder contains implementation of React application with example of Tailwind Styling feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -9,7 +9,7 @@ This folder contains implementation of React application with example of Single View Code - + Run Sample @@ -28,7 +28,7 @@ Follow these instructions to run this example: git clone https://github.com/IgniteUI/igniteui-react-examples.git cd ./igniteui-react-examples git checkout master -cd ./samples/inputs/rating/single-selection +cd ./samples/inputs/rating/tailwind-styling ``` open above folder in VS Code or type: diff --git a/samples/inputs/rating/tailwind-styling/index.html b/samples/inputs/rating/tailwind-styling/index.html new file mode 100644 index 0000000000..c1db140e73 --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/index.html @@ -0,0 +1,11 @@ + + + + RatingTailwindStyling + + + +
+ + + diff --git a/samples/inputs/rating/tailwind-styling/package.json b/samples/inputs/rating/tailwind-styling/package.json new file mode 100644 index 0000000000..2e09c41a69 --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/package.json @@ -0,0 +1,44 @@ +{ + "name": "react-rating-tailwind-styling", + "description": "This project provides example of Rating Tailwind Styling using Infragistics React components", + "author": "Infragistics", + "homepage": ".", + "version": "1.4.0", + "private": true, + "scripts": { + "start": "vite --port 4200", + "build": "tsc && node --max-old-space-size=4096 node_modules/vite/bin/vite build", + "preview": "vite preview", + "test": "vitest" + }, + "dependencies": { + "igniteui-dockmanager": "^2.2.1", + "igniteui-react": "19.9.0", + "igniteui-react-core": "19.6.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", + "tslib": "^2.4.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.1.14", + "@types/jest": "^30.0.0", + "@types/node": "^24.7.1", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "@vitest/browser": "^5.0.2", + "tailwindcss": "^4.1.14", + "typescript": "^5.9.3", + "vite": "^8.3.1", + "vitest": "^5.0.2", + "vitest-canvas-mock": "^1.2.0", + "worker-loader": "^3.0.8" + }, + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] +} diff --git a/samples/inputs/rating/tailwind-styling/src/index.css b/samples/inputs/rating/tailwind-styling/src/index.css new file mode 100644 index 0000000000..0514ec0b79 --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/src/index.css @@ -0,0 +1,23 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +/* Keep this order. An @import after the Tailwind imports is dropped, and in + the samples browser one before the @layer statement drops the Tailwind + imports, so Aktiv Grotesk goes between them. */ +@layer theme, base, components, utilities; +@import url("https://use.typekit.net/bng2zgw.css"); +@import "tailwindcss/theme.css" layer(theme); +@import "tailwindcss/utilities.css" layer(utilities); +@source "./index.tsx"; + +@theme { + --color-product-ink: #00142b; + --color-product-muted: #556c86; + --color-product-border: #d2dbe8; + --color-product-primary: #0176ff; + --color-product-primary-hover: #005dcc; + --color-product-primary-active: #004699; + --color-rating-full: #faa419; + --color-rating-empty: #8a8a8a; + --color-rating-label: #616161; +} diff --git a/samples/inputs/rating/tailwind-styling/src/index.tsx b/samples/inputs/rating/tailwind-styling/src/index.tsx new file mode 100644 index 0000000000..f24b1fb544 --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/src/index.tsx @@ -0,0 +1,38 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrButton, IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingTailwindStyling() { + return ( +
+
+
+ Wireless headphones +
+ Wireless Headphones + Great sound quality and battery life! +
+ $89 +
+
+ + + Submit review + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/tailwind-styling/tsconfig.json b/samples/inputs/rating/tailwind-styling/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, + "isolatedModules": true, + "skipLibCheck": true, + "noEmit": true + }, + "include": [ + "src" + ] +} diff --git a/samples/inputs/rating/tailwind-styling/vite.config.js b/samples/inputs/rating/tailwind-styling/vite.config.js new file mode 100644 index 0000000000..4043727956 --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/vite.config.js @@ -0,0 +1,13 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; +import tailwindcss from '@tailwindcss/vite'; + +export default defineConfig({ + plugins: [react(), tailwindcss()], + build: { + outDir: 'build', + }, + server: { + open: false, + }, +});