diff --git a/.env b/.env deleted file mode 100644 index 24dd125176..0000000000 --- a/.env +++ /dev/null @@ -1,2 +0,0 @@ -GENERATE_SOURCEMAP=false -EXTEND_ESLINT=true \ No newline at end of file diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 7dbf2e988d..0000000000 --- a/.eslintignore +++ /dev/null @@ -1,4 +0,0 @@ -src/*.d.ts -src/CacheBuster.js -src/samples/grids/data-grid/binding-remote-data/odatajs-4.0.0.js -samples/grids/data-grid/binding-remote-data/src/odatajs-4.0.0.js \ No newline at end of file diff --git a/.gitattributes b/.gitattributes index a1e69595aa..57b710b448 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,39 +1,10 @@ -# Set the default behavior, in case people don't have core.autocrlf set. -# Handle line endings automatically for files detected as text -# and leave all files detected as binary untouched. -* text=auto - -# Never modify line endings of our bash scripts -*.sh -crlf - -# The above will handle all files NOT found below -# Declare files that will always have CRLF line endings on checkout. -*.cs -crlf -*.css -crlf -*.tsx -crlf -*.ts -crlf -*.js -crlf -*.json -crlf -*.html -crlf -*.razor -crlf -*.txt -crlf -*.xml -crlf - -*.cs text eol=crlf -*.css text eol=crlf -*.tsx text eol=crlf -*.ts text eol=crlf -*.js text eol=crlf -*.json text eol=crlf -*.html text eol=crlf -*.razor text eol=crlf -*.txt text eol=crlf -*.xml text eol=crlf - -# These files are binary and should be left untouched -# (binary is macro for -text -diff) -*.class binary -*.jar binary -*.gif binary -*.jpg binary -*.png binary \ No newline at end of file +# LF in the index and the working tree, on every OS. +* text=auto eol=lf + +# Binaries: never normalize or diff. +*.png binary +*.PNG binary +*.jpg binary +*.gif binary +*.ico binary +*.zip binary diff --git a/.gitconfig b/.gitconfig deleted file mode 100644 index c05ce725f6..0000000000 --- a/.gitconfig +++ /dev/null @@ -1,11 +0,0 @@ -[core] - autocrlf = true -[web] - browser = google-chrome - -[color "diff"] - meta = yellow bold - frag = magenta bold - old = red bold - new = green bold - whitespace = red reverse \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..8195717de4 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,22 @@ +version: 2 + +updates: + - package-ecosystem: "github-actions" + directory: "/" # scans .github/workflows/ automatically + schedule: + interval: "weekly" + day: "monday" + cooldown: + default-days: 14 # only propose versions released ≥14 days ago + groups: + github-actions: + applies-to: version-updates # security updates bypass grouping — each gets its own fast-track PR + patterns: + - "*" # batch all version updates into a single PR + + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "daily" + # Disables version updates; only Dependabot security updates are raised for npm dependencies. + open-pull-requests-limit: 0 diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml new file mode 100644 index 0000000000..de219fcc14 --- /dev/null +++ b/.github/workflows/build-and-deploy.yml @@ -0,0 +1,97 @@ +name: Build and Deploy + +on: + push: + branches: + - vnext + - master + workflow_dispatch: + inputs: + branch: + description: 'Branch to build and deploy (e.g. vnext)' + required: true + +permissions: + contents: read + +env: + BRANCH_REF: ${{ github.event.inputs.branch && format('refs/heads/{0}', github.event.inputs.branch) || github.ref }} + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v7 + with: + ref: ${{ env.BRANCH_REF }} + + - name: Setup Node.js + uses: actions/setup-node@v7 + with: + node-version: 24.x + cache: npm + + - name: Configure licensed @infragistics registry + run: | + rm -f .npmrc + echo "@infragistics:registry=https://packages.infragistics.com/npm/js-licensed/" >> .npmrc + echo "//packages.infragistics.com/npm/js-licensed/:username=${{ secrets.INFRAGISTICS_NPM_USER }}" >> .npmrc + echo "//packages.infragistics.com/npm/js-licensed/:_auth=${{ secrets.INFRAGISTICS_NPM_TOKEN }}" >> .npmrc + + - name: npm ci + run: npm ci + + # Swap the trial packages for their licensed builds, same versions: + # igniteui-react-grids@19.9.0 → @infragistics/igniteui-react-grids@19.9.0 + # Sources keep their trial import names; the resolve-igniteui-scoped + # plugin in astro.config.mjs maps them to whichever build is installed. + - name: Replace trial IG packages with licensed builds + run: | + mapfile -t trial < <(jq -r '.dependencies | to_entries[] + | select(.key | test("^igniteui-(react|dockmanager)")) + | "\(.key)@\(.value)"' package.json) + echo "licensed: ${trial[*]}" + npm uninstall "${trial[@]%@*}" + npm install "${trial[@]/#/@infragistics/}" + + - name: Build + run: npm run build + env: + BASE_PATH: /react-demos + # No source maps in the deployed site. + NODE_ENV: production + + - name: Package samples browser + run: | + cd dist + zip -qr "${{ github.workspace }}/react-demos.zip" ./ + + - name: Publish pipeline artifact + uses: actions/upload-artifact@v7 + with: + name: react-demos-artifact + path: react-demos.zip + + - name: Trigger Deploy Workflow in IgniteUI Actions + uses: actions/github-script@v9 + with: + github-token: ${{ secrets.CLASSIC_PAT_GITHUB }} + script: | + await github.rest.repos.createDispatchEvent({ + owner: 'IgniteUI', + repo: 'igniteui-actions', + event_type: 'igniteui-samples-cd', + client_payload: { + calling_branch: "${{ env.BRANCH_REF }}", + repository: "${{ github.repository }}", + run_id: "${{ github.run_id }}", + artifact_name: "react-demos-artifact", + base_href: "react-demos", + submodule_dir: "react-demos", + ref: "${{ github.ref }}", + sha: "${{ github.sha }}", + branch: '${{ github.ref_name }}', + } + }); diff --git a/.github/workflows/build-sb.yml b/.github/workflows/build-sb.yml deleted file mode 100644 index 9fba7ef1bd..0000000000 --- a/.github/workflows/build-sb.yml +++ /dev/null @@ -1,36 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: Build Samples Browser - -# Controls when the action will run. Triggers the workflow on push or pull request -# events but only for the master branch -on: - pull_request: - branches: [ master, vnext ] - -jobs: - # This workflow contains a single job called "build" - build: - # The type of runner that the job will run on - runs-on: windows-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v6 - - - name: Use Node.js 24 - uses: actions/setup-node@v6 - with: - cache-dependency-path: browser/package-lock.json - node-version: '24.x' - cache: 'npm' - - - name: Install dependencies - run: npm ci - working-directory: ./browser - - - name: Build the samples browser to ensure it compiles - run: cd browser && npm run build - env: - CI: false \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..81d5f77a9d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,85 @@ +name: CI + +on: + push: + branches: [vnext] + pull_request: + branches: [vnext, master] + +# Cancel superseded runs on the same PR/branch. +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + +env: + # Build and test the deployed shape: https://www.infragistics.com/react-demos + BASE_PATH: /react-demos + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v7 + + - name: Use Node.js + uses: actions/setup-node@v7 + with: + node-version: 24.x + cache: npm + + - name: npm ci + run: npm ci + + # Sample package.json files must match scripts/lib/versions.js; + # a hand-edited version would silently drift from every other sample. + - name: Package versions in sync + run: | + npm run update:ig + git diff --exit-code -- package.json 'samples/**/package.json' + + - name: Type check + run: npm run check + + # Samples are outside `astro check`. Their own tsconfigs cannot see the + # IG packages' types, so this checks them all with one shared config. + - name: Type check samples + run: npm run check:samples + + # A failed check above must not hide a broken build or smoke test, so + # the build runs regardless, and the smoke tests whenever it succeeds. + - name: Build + id: build + if: ${{ !cancelled() }} + run: npm run build + + # Browser binaries are cached per Playwright version; OS deps (apt) are + # not cacheable and are installed on every run. + - name: Get Playwright version + id: playwright + if: ${{ !cancelled() && steps.build.outcome == 'success' }} + run: echo "version=$(npx playwright --version | awk '{print $2}')" >> "$GITHUB_OUTPUT" + + - name: Cache Playwright browser + id: playwright-cache + if: ${{ !cancelled() && steps.build.outcome == 'success' }} + uses: actions/cache@v6 + with: + path: ~/.cache/ms-playwright + key: playwright-${{ runner.os }}-${{ steps.playwright.outputs.version }} + + # Headless tests only need the headless shell, not full Chromium. + - name: Install Playwright browser + if: ${{ !cancelled() && steps.build.outcome == 'success' && steps.playwright-cache.outputs.cache-hit != 'true' }} + run: npx playwright install --with-deps --only-shell chromium + + - name: Install Playwright OS deps + if: ${{ !cancelled() && steps.build.outcome == 'success' && steps.playwright-cache.outputs.cache-hit == 'true' }} + run: npx playwright install-deps chromium + + - name: Smoke tests + if: ${{ !cancelled() && steps.build.outcome == 'success' }} + run: npm run test:smoke diff --git a/.github/workflows/igniteui-react-examples-cd.yml b/.github/workflows/igniteui-react-examples-cd.yml deleted file mode 100644 index 963c4617ac..0000000000 --- a/.github/workflows/igniteui-react-examples-cd.yml +++ /dev/null @@ -1,128 +0,0 @@ -name: IgniteUI React Examples CD -permissions: - contents: write - -on: - push: - branches: - - vnext - - master - workflow_dispatch: - inputs: - branch: - description: 'Input a branch name (e.g., vnext)' - required: true - isVerbose: - description: 'Get verbose output from steps - where configurable' - type: boolean - default: false - -env: - BRANCH_REF: ${{ github.event.inputs.branch && format('refs/heads/{0}', github.event.inputs.branch) || github.ref }} - -jobs: - BuildSamples: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v6 - with: - ref: ${{ env.BRANCH_REF }} - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Node - uses: actions/setup-node@v6 - with: - node-version: '24.x' - cache: 'npm' - cache-dependency-path: browser/package-lock.json - - - name: Create .npmrc file - working-directory: browser - run: | - if [ -f ".npmrc" ]; then - rm .npmrc - fi - touch .npmrc - - - name: Configure npm registry - working-directory: browser - run: | - echo "@infragistics:registry=https://packages.infragistics.com/npm/js-licensed/" >> .npmrc - echo "//packages.infragistics.com/npm/js-licensed/:username=${{ secrets.INFRAGISTICS_NPM_USER }}" >> .npmrc - echo "//packages.infragistics.com/npm/js-licensed/:_auth=${{ secrets.INFRAGISTICS_NPM_TOKEN }}" >> .npmrc - - - name: Replace references to IG trial packages with licensed ones in package.json - working-directory: browser - shell: pwsh - run: | - $packageJson = Get-Content -Raw ./package.json | ConvertFrom-Json - $properties = $packageJson.dependencies.PSObject.Properties ` - | where-object { $_.Name.StartsWith("igniteui-react") -or $_.Name.StartsWith("igniteui-dockmanager") } - - foreach( $property in $properties ) - { - $oldName = $property.Name; - $newName = "@infragistics/" + $oldName - - # remember the current value of the old property - $value = $property.Value; - - # remove reference to the trial package reference - $packageJson.dependencies.psobject.Properties.Remove($oldName); - - # add reference to the licensed package reference - $packageJson.dependencies | Add-Member -NotePropertyName $newName -NotePropertyValue $value; - } - - ConvertTo-Json -InputObject $packageJson | Set-Content -Path ./package.json - - - name: npm install - working-directory: browser - run: npm install - - - name: Replace references to IG trial packages with licensed ones in TSX files - shell: pwsh - run: | - Get-ChildItem -Include "*.tsx","*.ts" -Recurse | ` - ForEach { (Get-Content $_.PSPath | ForEach { ($_ -replace '(from|import)(\s*\(\s*|\s+|)[''"](igniteui-(react|dockmanager)[^''"]*)[''"]', '$1$2"@infragistics/$3"') }) | ` - Set-Content $_.PSPath } - - - name: npm run build - working-directory: browser - run: npm run build - - - name: Package samples browser - run: | - cd browser/build - zip -r ${{ github.workspace }}/react-demos.zip ./ - - - name: Publish pipeline artifact - uses: actions/upload-artifact@v7 - with: - name: react-demos-artifact - path: react-demos.zip - - - name: Trigger Deploy Workflow in IgniteUI Actions - uses: actions/github-script@v8 - with: - github-token: ${{ secrets.CLASSIC_PAT_GITHUB }} - script: | - await github.rest.repos.createDispatchEvent({ - owner: 'IgniteUI', - repo: 'igniteui-actions', - event_type: 'igniteui-samples-cd', - client_payload: { - calling_branch: "${{ env.BRANCH_REF }}", - repository: "${{ github.repository }}", - run_id: "${{ github.run_id }}", - artifact_name: "react-demos-artifact", - base_href: "react-demos", - submodule_dir: "react-demos", - ref: "${{ github.ref }}", - sha: "${{ github.sha }}", - branch: '${{ github.ref_name }}', - } - }); - diff --git a/.gitignore b/.gitignore index 9cafe75362..8c561737dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,21 +1,24 @@ # See https://help.github.com/ignore-files/ for more about ignoring files. +# dependencies +/node_modules + +# Astro build output and generated assets: +/.astro +/dist +/public/ig-themes +/public/code-viewer + +# Playwright +/test-results +/playwright-report + # samples auto-generated files: /samples/**/build/ /samples/**/dist/ /samples/**/node_modules/ /samples/**/package-lock.json /tmp/ -/tests/ - -# browser auto-generated files: -/browser/node_modules/ -/browser/src/samples/ -/browser/build/ -/browser/dist/ -/browser/**/code-viewer/** -#/browser/package-lock.json -/browser/src/navigation/BrowserInfo.json # IDE and editors /.idea diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000000..32c259272e --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,82 @@ +# AGENTS.md + +Instructions for coding agents working in this repository. Setup and contributor workflows for people are in [README.md](README.md). + +## What this repo is + +About 990 standalone React samples for Ignite UI for React, plus an Astro site (the samples browser) that builds them all into one static site. The site is deployed to https://www.infragistics.com/react-demos, and the product docs embed its pages and read its code-viewer JSON, so URLs and output files are a public contract. + +Branch from and target `vnext`, which deploys to staging. `master` deploys to production. + +## Layout + +| Path | Contents | +|------|----------| +| `samples////` | One sample, a standalone Vite project. Its `package.json` is what makes it a sample. | +| `src/pages/[...slug].astro` | The page for each sample: puts its CSS in ``, then lazy-loads and mounts its default export | +| `src/pages/index.astro`, `src/pages/nav.json.ts`, `src/scripts/nav.ts` | Index and sidebar, built from folder names (there is no registry) | +| `src/pages/samples/[...slug].astro` | Redirects old `/samples/` URLs | +| `astro.config.mjs` | Vite plugins the sample contract below depends on (their comments explain why), and legacy redirects | +| `scripts/`, `scripts/lib/` | Repo scripts and their data: `versions.js`, `templates.js`, `unpublished.json`, `skip-type-check.json` | +| `public/web.config` | IIS config, shipped at the root of the deployed site | +| `tests/smoke/` | Playwright smoke tests against the production build | + +Build output is git-ignored and regenerated: `dist/`, `public/code-viewer/`, `public/ig-themes/`, `.astro/`. Don't edit or commit it. + +## Generated and hand-maintained samples + +About 560 samples, mostly charts, gauges, maps and grids, are exported from [igniteui-xplat-examples](https://github.com/IgniteUI/igniteui-xplat-examples). The next export overwrites edits made here. Check before editing a sample: + +```bash +curl -s -o /dev/null -w "%{http_code}\n" \ + https://raw.githubusercontent.com/IgniteUI/igniteui-xplat-examples/main/samples///.json +# 200: generated 404: hand-maintained +``` + +- **Generated**: change the source in igniteui-xplat-examples (the sample's JSON, or `code-gen-library` for data sources and handlers). Patch the sample here as well only when the fix can't wait for the next export, and say so in the PR. Don't restyle generated code (class components, `IgrXxxModule.register()`, `render(): JSX.Element`); it is the generator's output. +- **Hand-maintained**: function components with hooks, the strict `tsconfig.json` from `npm run add:sample`, and no `register()` calls for `igniteui-react` components, which no longer need them. + +## The sample contract + +- `src/index.tsx` must `export default` the sample component and end with the standalone mount, rendering one self-closing element: + ```tsx + const root = ReactDOM.createRoot(document.getElementById('root')!); + root.render(); + ``` + The site strips these lines and mounts the default export itself. The build fails if either is missing. +- Import stylesheets only from `src/index.tsx`, and only in two shapes: an IG theme (`igniteui-webcomponents/themes/{light|dark}/{material|bootstrap|fluent|indigo}.css`, or the same path under `igniteui-react-grids/grids/themes/`), or a file next to it (`./index.css`). The page moves exactly these into ``. Other shapes still load, but late, so the sample flashes unstyled. +- Import IG packages by their unscoped names (`igniteui-react-grids`), never `@infragistics/...`. The deploy installs the licensed builds, and a Vite plugin redirects the imports. +- A sample's folder path is its public URL, `/react-demos///`, and the docs link to it and read `code-viewer///.json`. Don't rename, move or delete a sample without coordinating with the docs. +- Samples in `scripts/lib/unpublished.json` stay in the repo but are left out of the site and the code viewer. + +## Changing things + +- Start a new sample with `npm run add:sample //`, not by copying a folder; the templates in `scripts/lib/templates.js` are current, and old folders carry outdated config. +- Never edit versions in a `package.json` by hand. Change `scripts/lib/versions.js`, then run `npm run update:ig && npm install` and commit every changed `package.json` and `package-lock.json`. +- Don't add `.eslintrc.js`, `sandbox.config.json` or `.devcontainer/` to samples, and don't add CodeSandbox links to READMEs. They were removed on purpose. +- Files use LF line endings (`.gitattributes`). Match the indentation of the file you edit: most samples use 4 spaces; the site, scripts and tests use 2. + +## Checks + +CI ([.github/workflows/ci.yml](.github/workflows/ci.yml)) runs these on every PR to `vnext` and `master`. Run them before you call a change done: + +```bash +npm run update:ig && git diff --exit-code -- package.json 'samples/**/package.json' # versions in sync +npm run check # astro check of src/ and tests/ +npm run check:samples # type-check every sample, ~30 s +BASE_PATH=/react-demos npm run build # the deployed shape, ~2 min +BASE_PATH=/react-demos npm run test:smoke +``` + +- For a change confined to samples, the quick loop is `npm run check:samples`, then `npm run dev` and opening `http://localhost:4200///` with no console errors. Run the full build and smoke tests before opening the PR, and always when you touch `src/`, `astro.config.mjs`, `public/` or `scripts/`. +- `check:samples` fails on any type error in a published sample. Fix the error; don't unpublish a sample to silence it. The one exception is a generated sample: fix it in igniteui-xplat-examples, and list it with its error in `scripts/lib/skip-type-check.json` until the export brings the fix, then remove it. +- The smoke tests need a build made with the same `BASE_PATH`, and Chromium: `npx playwright install --only-shell chromium`. +- In Git Bash on Windows, `BASE_PATH=/react-demos` is rewritten into a Windows path and the build fails. Prefix the command with `MSYS_NO_PATHCONV=1`, or set the variable in PowerShell. + +## Deploy contract + +[.github/workflows/build-and-deploy.yml](.github/workflows/build-and-deploy.yml) builds `dist/` with `BASE_PATH=/react-demos`, zips its contents into `react-demos.zip` (artifact `react-demos-artifact`), and triggers IgniteUI/igniteui-actions, which syncs the zip into the IIS site folder and deletes every file the zip doesn't contain. Keep these in every build: + +- `web.config` at the root of `dist/`, from `public/web.config`. It serves Astro's `/index.html` for extensionless URLs. +- A page per published sample at `///`, plus the redirects from `/samples/` and `//-`. +- `code-viewer///.json` for every published sample, in the schema documented in `scripts/generate-code-viewer.js`. The docs code viewer and its StackBlitz export read these files. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000000..226584ee4d --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,7 @@ + +@AGENTS.md diff --git a/CODEOWNERS b/CODEOWNERS deleted file mode 100644 index 1dc011b134..0000000000 --- a/CODEOWNERS +++ /dev/null @@ -1,7 +0,0 @@ -# code owners must approve PRs -# * @HUSSAR-mtrela - -# *.md @HUSSAR-mtrela -# *.js @HUSSAR-mtrela -# *.ts @HUSSAR-mtrela -# *.json @HUSSAR-mtrela diff --git a/README.md b/README.md index ac48754301..05040b32b5 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ # Examples of Ignite UI for React Components -This repository contains over 500 examples on how to use [Ignite UI for React](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) components: +This repository contains over 900 examples on how to use [Ignite UI for React](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) components: - Charts: [Area](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/area-chart), @@ -43,149 +43,130 @@ This repository contains over 500 examples on how to use [Ignite UI for React](h ## 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. +> **_NOTE:_** Use the [master](https://github.com/IgniteUI/igniteui-react-examples/tree/master) branch to run samples locally. Use the [vnext](https://github.com/IgniteUI/igniteui-react-examples/tree/vnext) branch only when contributing new samples. ## Preview -You can preview and browse all samples in this repository by opening our [React Samples Browser](https://www.infragistics.com/react-demos/samples/). Alternatively, you you can view these samples with detailed information in our [React Help Documentation](https://infragistics.com/reactsite/components/general-getting-started.html). - -In addition, you can run each sample project individually from the [./samples](./samples) folder or you can run from the [./browser](./browser) folder to browse all samples in one website (see instructions below). You can run each sample on Code Sandbox website by clicking on the **Edit Sandbox** button in a readme file of sample project, e.g. - -[./samples/charts/category-chart/overview/README.md](./samples/charts/category-chart/overview/README.md) +Browse all samples in the [React Samples Browser](https://www.infragistics.com/react-demos/samples/), or with documentation in the [React Help](https://infragistics.com/reactsite/components/general-getting-started.html). +Each sample folder is also a standalone project with its own README, e.g. [./samples/charts/category-chart/overview/README.md](./samples/charts/category-chart/overview/README.md). ## Setup -To set up this project locally, clone this repository: -``` +Clone the repository and install dependencies from the root: + +```bash git clone https://github.com/IgniteUI/igniteui-react-examples.git +cd igniteui-react-examples +git checkout master +npm install ``` -## Running Individual Sample - -- check out the **master** branch +## Running All Samples (Dev Server) -- in VS Code, open a folder with existing sample, e.g. -```CMD -./samples/charts/category-chart/axis-options/ +```bash +npm run dev ``` -- type `npm install --legacy-peer-deps` command in terminal window - -- type `npm run start` command in terminal window - -- Wait until the build is completed and then open [http://localhost:4200](http://localhost:4200) in your browser. - -At this point, you should see a website hosted example of [Ignite UI for React](https://infragistics.com/reactsite/components/general-getting-started.html) component - - -## Running All Samples - -- check out the **master** branch - -- open VS Code as Administrator +Open [http://localhost:4200](http://localhost:4200). The index lists every component; the sidebar lists every sample. Samples compile on demand, so there is no copy or full build step, and edits to `samples/` reload in place. -- open the browser folder in this repository, e.g. `C:\GitHub\igniteui-react-examples\browser` +## Running an Individual Sample -- select **View** - **Terminal** menu item +Every sample under `samples/{group}/{component}/{name}/` runs on its own: -- type `npm install --legacy-peer-deps` command in terminal window - -This will install required packages and [Ignite UI for React](https://infragistics.com/reactsite/components/general-getting-started.html) packages - -- type `npm run start` command in terminal window to start this application locally - -Note this application copies all individually sample projects from [./samples](./samples) to [./browser/src](./browser/src) folder when it is about to start running. Therefore, any changes to [./browser/src](./browser/src) will be overridden on consecutive run of the application. - -Wait until the build is completed and then open [http://localhost:4200](http://localhost:4200) in your browser. You should see a website with navigation menu for browning all samples in this repository. - -![SB Preview](./browser/public/images/preview.PNG) - - -## Adding New Sample - -- create a new branch from the `vnext` branch - -- open a folder with existing sample, e.g. -``` -./samples/charts/category-chart/axis-options/ -``` -- copy the sample and rename the new folder, e.g. -``` -./samples/charts/category-chart/axis-types/ +```bash +cd samples/charts/category-chart/overview +npm install +npm start ``` -- open the newly created folder in VS Code -- rename the .tsx file in src folder, using this naming convention: +Then open [http://localhost:4200](http://localhost:4200). -`ControlNameSampleName.tsx` +## Building for Production +```bash +npm run build +npm run preview ``` -./samples/charts/category-chart/axis-types/src/CategoryChartAxisTypes.tsx -``` - -- open the .tsx file - -- rename class to the name of .tsx file - -- type `npm install --legacy-peer-deps` command in terminal window - -- type `npm run start` command in terminal window - -- implement the new sample in the .tsx file - -- close the new sample project in VS Code - -- delete `node_modules` folder in the new sample project - -- follow instructions in the next section - -## Verify New Sample - -- open the root folder of this repository in VS Code - -- type `gulp updateSamples` command in terminal window -NOTE this will re-generate the Readme.md file in the new sample +`npm run build` first copies the Ignite UI theme sheets to `public/ig-themes/` and generates `public/code-viewer/**/*.json` (the source tabs of the docs code viewer), then builds every sample page into `dist/`. `npm run preview` serves `dist/` on [http://localhost:4200](http://localhost:4200). -- type `npm run start` command in terminal window +The deployed site lives under a sub-path. Set `BASE_PATH` for both commands to reproduce it: -- open [http://localhost:4200](http://localhost:4200) in your browser - -- verify that the new sample is listed in the navigation menu - -- verify that the new sample loads by clicking navigation link - -- verify that there are no errors in DEV console - -- take a screenshot of the new sample with navigation menu - -- commit your changes - -- create a pull request and target the `vnext` branch +```bash +BASE_PATH=/react-demos npm run build +BASE_PATH=/react-demos npm run preview +``` -- paste the screenshot in you pull request +## Testing -- submit your pull request +Smoke tests run in Playwright against the production build: +```bash +npx playwright install --only-shell chromium # once +npm run build +npm run test:smoke +``` +Use the same `BASE_PATH` for the build and the tests. CI builds and tests with `BASE_PATH=/react-demos`. + +## Adding a New Sample + +1. Create a branch from `vnext`. + +2. Scaffold the sample: + ```bash + npm run add:sample inputs/button/new-thing + ``` + The folder must be exactly `samples/{group}/{component}/{name}/`, with: + - `src/index.tsx`: `export default` the sample component, and end with the standalone mount (`root.render()`). The samples browser strips that mount and renders the default export itself; the build fails if either is missing. + - `index.html`: the standalone entry, `
` only. + - `package.json`: dependencies for running standalone. Its presence is what adds the sample to the browser. + + Import theme and sample CSS from `src/index.tsx` (e.g. `import './index.css';`) so the page puts it in `` at first paint. + +3. Start the dev server and verify: + ```bash + npm run dev + ``` + - the sample appears in the sidebar + - it loads without errors in the browser console + +4. Type-check it along with every other sample (CI runs the same check): + ```bash + npm run check:samples + ``` + +5. Commit, push, and open a pull request targeting `vnext`. Include a screenshot of the running sample. + +## Updating Ignite UI Package Versions + +Do **not** edit version strings in `package.json` files by hand; CI fails when a sample's versions drift from the list. + +1. Update the versions in [./scripts/lib/versions.js](./scripts/lib/versions.js): `SHARED` applies to the root and every sample, `TOOLING` to samples only. +2. Run from the repo root: + ```bash + npm run update:ig + npm install + ``` +3. Create and merge a pull request with the updated `package.json` files. +4. Create a second pull request with the same versions in `/editor-templates/react/main-template/package.json` of the [igniteui-xplat-examples](https://github.com/IgniteUI/igniteui-xplat-examples) repository. + +## Scripts Reference + +| Script | Description | +|--------|-------------| +| `npm run dev` | Start the Astro dev server on port 4200 | +| `npm run build` | Copy themes, generate code-viewer JSON, build the static site to `dist/` | +| `npm run preview` | Serve `dist/` on port 4200 | +| `npm run test:smoke` | Run the Playwright smoke tests against the production build | +| `npm run check` | Type-check `src/` and `tests/` with `astro check` | +| `npm run check:samples` | Type-check every published sample, except the generated ones listed in `scripts/lib/skip-type-check.json` | +| `npm run add:sample` | Scaffold `samples/{group}/{component}/{name}/` | +| `npm run update:ig` | Apply `scripts/lib/versions.js` to every `package.json` | +| `npm run generate:code-viewer` | Regenerate `public/code-viewer/**/*.json` | +| `npm run copy:themes` | Copy Ignite UI theme sheets to `public/ig-themes/` | ## 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). - - -## Updating Packages in Samples - -NOTE Do NOT find replace version of packages in package.json files. - -- open this repo in VS Code -- open [./browser/tasks/gulp-samples.js](./browser/tasks/gulp-samples.js) file -- navigate to the `updateIG` function -- update version of packages in `packageUpgrades` array -- open terminal window -- run `cd browser` command -- run the `gulp updateIG` command -- run `npm install --legacy-peer-deps` command -- create AND merge a pull request with changes in all package.json files in this repository -- create 2nd pull request with similar changes in `/editor-templates/react/main-template/package.json` of the [igniteui-xplat-examples](https://github.com/IgniteUI/igniteui-xplat-examples) repository. \ No newline at end of file diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000000..52f438e801 --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,455 @@ +// @ts-check +import { defineConfig } from 'astro/config'; +import react from '@astrojs/react'; +import path from 'node:path'; +import { fileURLToPath, pathToFileURL } from 'node:url'; +import { existsSync } from 'node:fs'; + +import { findSamples } from './scripts/lib/samples.js'; + +// A sample's entry module, samples//src/index.tsx (captures ). +const SAMPLE_ENTRY_RE = /[\\/]samples[\\/](.+)[\\/]src[\\/]index\.tsx$/; +// Any script in a sample's src/, e.g. samples//src/LegendOverlay.tsx. +const SAMPLE_SOURCE_RE = /[\\/]samples[\\/].+[\\/]src[\\/][^\\/]+\.[jt]sx?$/; + +/** + * Vite plugin: strip the module-level mount from every sample src/index.tsx. + * + * WHY this is needed + * ────────────────── + * Every sample ends with + * + * const root = ReactDOM.createRoot(document.getElementById('root')); + * root.render(); + * + * so it runs standalone. The `[...slug].astro` loader mounts the module's + * default export itself, after the dynamic import resolves, so the page + * controls when (and whether) a sample renders. Keeping the module-level + * mount would render every sample twice into the same container. Stripping + * it here (instead of editing 950+ samples, which igniteui-xplat-examples + * generates) keeps each sample runnable standalone. + * + * A sample that does not match the contract fails the build: a silent miss + * would be a double render or a blank page. + */ +/** @returns {import('vite').Plugin} */ +function stripSampleMount() { + // `const root = ReactDOM.createRoot(document.getElementById('root'));` (`!` allowed) + const createRootRe = /^[ \t]*const\s+root\s*=\s*ReactDOM\.createRoot\(\s*document\.getElementById\(\s*['"]root['"]\s*\)\s*!?\s*\)\s*;?[ \t]*$/m; + // `root.render();` + const renderRe = /^[ \t]*root\.render\(\s*<\w+\s*\/>\s*\)\s*;?[ \t]*$/m; + const defaultExportRe = /^export\s+default\b/m; + + return { + name: 'strip-sample-mount', + enforce: /** @type {'pre'} */ ('pre'), + transform(code, id) { + if (!SAMPLE_ENTRY_RE.test(id)) { + return; + } + if (!renderRe.test(code) || !defaultExportRe.test(code)) { + this.error(`${id}: a sample must \`export default\` its component and end with \`root.render()\``); + } + return { code: code.replace(createRootRe, '').replace(renderRe, ''), map: null }; + }, + }; +} + +/** + * Vite plugin: take the stylesheet imports out of every sample entry module. + * + * WHY this is needed + * ────────────────── + * A sample's entry module is loaded lazily, by slug, from a dynamic import that + * only runs after DOMContentLoaded — and it drags in megabytes of library code. + * While that is in flight the page has already painted, so any CSS the module + * owns arrives far too late: the sample flashes unstyled first. + * + * It was also a correctness problem. Rollup hoists shared code into some + * chunk, and evaluating a chunk runs the whole module body — so a *different* + * sample's theme import could land in the document first and win the library's + * one-shot `getTheme()` check, rendering material samples with the bootstrap + * theme. + * + * So `[...slug].astro` emits these stylesheets into at build time + * (see resolveSampleStyles): themes as s to public/ig-themes/, everything + * sample-local inlined. This plugin drops the imports it has taken over, so the + * two can't both own the same sheet — otherwise the module's copy would + * re-append itself last on every load and clobber a theme swap. + * + * Anything whose shape the page does NOT resolve is deliberately left alone and + * still injected at runtime, so an unrecognised import degrades to the old + * behaviour instead of silently losing its styles. The same runtime fallback + * covers stylesheets imported by a sample's other files (e.g. LegendOverlay.tsx + * imports LegendOverlay.css): the page only hoists the entry's own imports. + * Left as plain imports, those would become CSS assets that Astro links into + * EVERY sample page, because the loader's glob reaches every sample chunk. + */ +/** @returns {import('vite').Plugin} */ +function inlineSampleCss() { + // Matches any CSS / SCSS side-effect import inside a sample file (relative or + // package), with an optional trailing comment: `import './index.css'; // …` + const cssImportRe = /^import\s+['"]([^'"]+\.(?:css|scss))['"];?[ \t]*(?:\/\/.*)?$/gm; + + // The two shapes [...slug].astro knows how to put in . Keep in sync + // with resolveSampleStyles() in src/utils/samples.ts. + const themeSpecRe = + /^igniteui-(webcomponents|react-grids\/grids)\/themes\/(light|dark)\/(material|bootstrap|fluent|indigo)\.css$/; + const sampleLocalRe = /^\.\/[^/]+\.(?:css|scss)$/; + + const handledInHead = spec => themeSpecRe.test(spec) || sampleLocalRe.test(spec); + + let isBuild = false; + + return { + name: 'inline-sample-css', + enforce: /** @type {'pre'} */ ('pre'), + configResolved(config) { + isBuild = config.command === 'build'; + }, + transform(code, id) { + if (!SAMPLE_SOURCE_RE.test(id)) { + return; + } + const isEntry = SAMPLE_ENTRY_RE.test(id); + cssImportRe.lastIndex = 0; + if (!cssImportRe.test(code)) { + return; + } + cssImportRe.lastIndex = 0; + + let i = 0; + const newCode = code.replace(cssImportRe, (line, spec) => { + // Already in — drop it so nothing is styled twice. + if (isEntry && handledInHead(spec)) { + return ''; + } + + // In dev Vite injects CSS imports natively, which is correct per-module. + if (!isBuild) { + return line; + } + + // Production fallback for shapes the page could not resolve. ?inline + // keeps the CSS as a string inside this module, so Vite emits no shared + // CSS chunk that could leak onto unrelated pages. + const v = `__sampleCss${i++}`; + return [ + `import ${v} from '${spec}?inline';`, + `{const __s=document.createElement('style');__s.textContent=${v};document.head.appendChild(__s);}`, + ].join('\n'); + }); + + return { code: newCode, map: null }; + }, + }; +} + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + +/** + * Ignite UI packages that may be installed either as unscoped trial builds + * (e.g. `igniteui-react-grids`) or as `@infragistics/`-scoped licensed builds. + * Used by both the resolveId plugin and the optimizeDeps.include list. + */ +const IGNITEUI_PACKAGES = [ + 'igniteui-dockmanager', + 'igniteui-react', + 'igniteui-react-core', + 'igniteui-react-charts', + 'igniteui-react-dashboards', + 'igniteui-react-data-grids', + 'igniteui-react-datasources', + 'igniteui-react-dockmanager', + 'igniteui-react-excel', + 'igniteui-react-gauges', + 'igniteui-react-grids', + 'igniteui-react-inputs', + 'igniteui-react-layouts', + 'igniteui-react-maps', + 'igniteui-react-spreadsheet', + 'igniteui-react-spreadsheet-chart-adapter', +]; + +/** + * Vite plugin: resolve unscoped igniteui-* package names to their @infragistics/ + * scoped equivalents when the unscoped package is not installed. + * + * WHY a resolveId plugin instead of resolve.alias + * ──────────────────────────────────────────────── + * Astro merges its own Vite config last and can replace resolve.alias arrays. + * A resolveId hook is part of the Rollup plugin pipeline and is always called + * for every import, regardless of how Astro configures the resolver. + */ +/** @returns {import('vite').Plugin} */ +function resolveIgniteUiScoped() { + // Build a map at startup: unscoped name → scoped name, only for packages + // that are absent from node_modules unscoped. + /** @type {Map} */ + const redirects = new Map(); + + for (const pkg of IGNITEUI_PACKAGES) { + if (!existsSync(path.resolve(__dirname, 'node_modules', pkg))) { + redirects.set(pkg, `@infragistics/${pkg}`); + } + } + + return { + name: 'resolve-igniteui-scoped', + async resolveId(id, importer, options) { + // Exact match (e.g. 'igniteui-react-grids') + if (redirects.has(id)) { + return this.resolve(/** @type {string} */ (redirects.get(id)), importer, { ...options, skipSelf: true }); + } + // Subpath match (e.g. 'igniteui-react-grids/grids/combined') + for (const [unscoped, scoped] of redirects) { + if (id.startsWith(`${unscoped}/`)) { + const newId = `${scoped}${id.slice(unscoped.length)}`; + return this.resolve(newId, importer, { ...options, skipSelf: true }); + } + } + }, + }; +} + +/** + * Vite plugin: the browser build's chunk layout — one chunk per sample and + * one per node_modules package. + * + * WHY a plugin instead of build.rolldownOptions + * ────────────────────────────────────────────── + * The vendor group must not capture its modules' dependencies, which Rolldown + * allows only when preserveEntrySignatures is 'allow-extension' or false. + * Astro hard-codes 'exports-only' into the client build options; the + * configEnvironment hook runs after that, so its override sticks. Astro's + * client entries are page scripts that export nothing, and the option doesn't + * apply to dynamically imported samples, so only the validation changes. + */ +/** @returns {import('vite').Plugin} */ +function sampleChunking() { + /** @type {import('vite').Rolldown.CodeSplittingGroup[]} */ + const groups = [ + { + // Vite's dynamic-import preload helper is shared by every lazy chunk. + // Left unassigned, the bundler hosts it inside one vendor chunk and the + // others import it back — a chunk cycle warning. + name: 'preload-helper', + test: /vite\/preload-helper/, + priority: 3, + }, + { + // One chunk per node_modules package. It outranks the sample group (a + // module claimed by several groups goes to the higher priority), so + // library code never lands in a sample chunk, and it doesn't capture + // dependencies, so each chunk holds only its own package. + test: /[\\/]node_modules[\\/]/, + priority: 2, + includeDependenciesRecursively: false, + name(id) { + const file = id.replace(/\\/g, '/'); + + // Shared IgniteUI runtime → one vendor chunk per package. + // Without this, the bundler hosts shared library code inside the + // first sample chunk that imports it, so every other sample transits + // through that chunk and pulls in its side effects. + const vendor = file.match(/\/node_modules\/(?:@infragistics\/)?(igniteui-[^/]+)\//); + if (vendor) { + return `vendor/${vendor[1]}`; + } + + // Every other node_modules package too (react, react-dom, lit, …). + // A shared dep left unassigned gets hosted inside the first *sample* + // chunk that imports it, so unrelated pages evaluate that sample's + // module body — its module registrations and theme CSS included. + const dep = file.match(/\/node_modules\/((?:@[^/]+\/)?[^/]+)\//); + return dep ? `vendor/${dep[1].replace('/', '--')}` : null; + }, + }, + { + // One chunk per sample, so the bundler doesn't try to inline all 950+ + // samples into a single bundle (causes OOM). Unlike the vendor group it + // captures dependencies (Rolldown's default), which is what pulls each + // sample's local files (data sources, helpers) into its chunk. + test: SAMPLE_ENTRY_RE, + priority: 1, + name(id) { + const match = id.match(SAMPLE_ENTRY_RE); + return match && `samples/${match[1].replace(/[\\/]/g, '--')}`; + }, + }, + ]; + + return { + name: 'sample-chunking', + apply: 'build', + configEnvironment(name, config) { + if (name !== 'client') { + return; + } + // Set the options rather than return them: Vite runs this hook on every + // config pass and merges a returned config by concatenating arrays, so + // each pass would add another copy of the groups. + const rolldownOptions = ((config.build ??= {}).rolldownOptions ??= {}); + rolldownOptions.preserveEntrySignatures = 'allow-extension'; + rolldownOptions.output = { ...rolldownOptions.output, codeSplitting: { groups } }; + }, + }; +} + +/** + * Old sample URLs, kept alive as redirects to the canonical ///. + * + * The previous samples browser also routed //- + * (e.g. /maps/geo-map-binding-data-csv), and pages embedded in the docs or + * other samples still link to that shape. The /samples/... prefix is handled + * by src/pages/samples/[...slug].astro, because it must also keep the sidebar. + */ +/** + * Astro prefixes the base onto a redirect's source but not its destination, + * so destinations carry it explicitly. + * @param {string} base + */ +async function legacyRedirects(base) { + const samples = await findSamples('published'); + const entries = samples.map(({ slug }) => { + const [group, component, name] = slug.split('/'); + return [`/${group}/${component}-${name}`, `${base}/${slug}`]; + }); + + return { '/samples': base || '/', ...Object.fromEntries(entries) }; +} + +// Set BASE_PATH env variable to deploy under a sub-path, e.g. "/react-demos" +const base = process.env.BASE_PATH ?? ''; + +/** + * Returns the installed package name for a given unscoped igniteui-* id. + * If the unscoped package exists in node_modules it is returned as-is; + * otherwise the @infragistics/ scoped name is returned. + * @param {string} pkg + */ +function ig(pkg) { + return existsSync(path.resolve(__dirname, 'node_modules', pkg)) + ? pkg + : `@infragistics/${pkg}`; +} + +// https://astro.build/config +export default defineConfig({ + // Static output — builds to dist/ as plain HTML + JS assets (ideal for IIS / Nginx / CDN) + output: 'static', + + // When deploying to https://www.infragistics.com/react-demos set: + // BASE_PATH=/react-demos npm run build + base, + + // Match IIS behaviour: routes are served without trailing slashes + trailingSlash: 'never', + + redirects: await legacyRedirects(base), + + // Compiles sample JSX/TSX; also enables React Fast Refresh in dev. + integrations: [react()], + + // Keep every stylesheet as an emitted file. With the default 'auto', + // Astro inlines small CSS assets into page HTML and deletes the files, + // but the sample chunks' __vite__mapDeps still preload them at runtime + // → "Unable to preload CSS" on every sample page. + build: { + inlineStylesheets: 'never', + }, + + vite: { + plugins: [ + resolveIgniteUiScoped(), + stripSampleMount(), + inlineSampleCss(), + sampleChunking(), + ], + // Web workers are bundled separately, with only these plugins; without + // the resolver, a worker importing IG code breaks licensed builds + // (e.g. maps/geo-map/display-heat-imagery). + worker: { + plugins: () => [resolveIgniteUiScoped()], + }, + // samples/ and node_modules/ are already at the repo root (__dirname), + // so no extra fs.allow entries are needed. + server: { + fs: { + allow: [path.resolve(__dirname)], + }, + }, + + // Workaround for a Vite 8 bug (https://github.com/vitejs/vite/issues/23096): + // in a server environment — Astro prerenders pages in one — the CSS + // `@import` resolver externalizes bare package specifiers, so the tailwind + // samples' `@import "tailwindcss";` resolves to /tailwindcss and the + // build fails with ENOENT. Nothing imports tailwindcss from JS, so never + // externalizing it is harmless. Remove once the upstream fix ships. + resolve: { + noExternal: ['tailwindcss'], + }, + + // Dep optimisation: + // noDiscovery stops the dependency scanner from crawling any source files + // (including [..slug].astro whose client script globs sample TSX files that + // have CSS side-effect imports — causing "Expected ';'" crashes). + // We explicitly pre-bundle the runtime packages so the first sample click + // is fast without triggering the scanner. Subpath entries are listed too: + // a subpath left out is served unbundled next to its pre-bundled package, + // and the two copies register the same custom elements twice. + optimizeDeps: { + noDiscovery: true, + include: [ + 'react', + 'react-dom', + 'react-dom/client', + 'react/jsx-runtime', + 'react/jsx-dev-runtime', + 'igniteui-webcomponents', + 'igniteui-grid-lite', + ...IGNITEUI_PACKAGES.map(ig), + `${ig('igniteui-react')}/extras`, + `${ig('igniteui-react')}/grid-lite`, + `${ig('igniteui-react-grids')}/grids/combined`, + 'react-icons/io', + 'react-icons/io5', + 'react-icons/pi', + // CJS-only packages that need pre-bundling for named-export interop + 'file-saver', + ], + }, + + // CSS / SCSS: + // Resolve bare @use specifiers such as 'igniteui-theming/sass/...' from + // node_modules. `loadPaths` can't: Vite 8's own Sass importer runs first + // and throws on subpaths `exports` doesn't cover, and igniteui-theming's + // "./sass/**/*.*" key covers none (a pattern may hold only one `*`). + // Custom importers run before Vite's. Remove once that key is fixed. + css: { + devSourcemap: true, + preprocessorOptions: { + scss: { + importers: [ + { + findFileUrl(url) { + // Bare package specifiers only; relative and scheme URLs pass. + if (!/^[\w@]/.test(url) || url.includes(':')) { + return null; + } + return pathToFileURL(path.join(__dirname, 'node_modules', url)); + }, + }, + ], + }, + }, + }, + + build: { + chunkSizeWarningLimit: 16000, + sourcemap: process.env.NODE_ENV !== 'production', + cssCodeSplit: true, + // Chunk layout lives in the sampleChunking() plugin above. + }, + }, +}); diff --git a/azure-pipelines/build-pipeline.yml b/azure-pipelines/build-pipeline.yml deleted file mode 100644 index d89cbb0df9..0000000000 --- a/azure-pipelines/build-pipeline.yml +++ /dev/null @@ -1,137 +0,0 @@ -trigger: none -pr: none - -parameters: -- name: isVerbose - displayName: 'Get verbose output from steps - where configurable' - type: boolean - default: false -- name: shouldCleanPostExectuion - displayName: 'Clean all pipeline dirs after the pipeline finishes?' - type: boolean - default: true - -name: $(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) - -stages: -- stage: Build - pool: - name: BuildAgentOnPrem - demands: npm - jobs: - - job: BuildSamples - steps: - - checkout: 'self' - path: $(Build.Repository.Name) - - - task: NodeTool@0 - displayName: 'Install Node' - inputs: - versionSource: 'spec' - versionSpec: '22.x' - - - task: RegexReplace@3 - enabled: false - displayName: 'Replace deps with scoped ones' - inputs: - InputSearchPattern: 'browser\package.json' - FindRegex: 'igniteui-react-[a-z]+' - ReplaceRegex: '@infragistics/$1' - UseUTF8: true - UseRAW: true - - - task: Npm@1 - displayName: 'Register licensed npm registry in .npmrc' - inputs: - command: 'custom' - workingDir: '$(Build.SourcesDirectory)\browser' - customCommand: 'config -L project set @infragistics:registry=https://packages.infragistics.com/npm/js-licensed/' - customEndpoint: 'internal proget' - - - task: PowerShell@2 - displayName: 'Replace references to IG trial packages with licensed ones' - inputs: - failOnStderr: true - showWarnings: true - workingDirectory: '$(Build.SourcesDirectory)\browser' - targetType: 'inline' - script: | - $packageJson = Get-Content -Raw .\package.json | ConvertFrom-Json - $properties = $packageJson.dependencies.PSObject.Properties ` - | where-object { $_.Name.StartsWith("igniteui-react") -or $_.Name.StartsWith("igniteui-dockmanager") } - - foreach( $property in $properties ) - { - $oldName = $property.Name; - $newName = "@infragistics/" + $oldName - - # remember the current value of the old property - $value = $property.Value; - - # remove reference to the trial package reference - $packageJson.dependencies.psobject.Properties.Remove($oldName); - - # add reference to the licensed package reference - $packageJson.dependencies | Add-Member -NotePropertyName $newName -NotePropertyValue $value; - } - - ConvertTo-Json -InputObject $packageJson | Set-Content -Path .\package.json - - task: Npm@1 - displayName: 'npm install' - inputs: - command: custom - workingDir: '$(Build.SourcesDirectory)\browser' - verbose: ${{ parameters.isVerbose }} - customCommand: 'install' - customEndpoint: 'public proget' - - - task: PowerShell@2 - displayName: 'Replace references to IG trial packages with licensed ones in TSX files' - inputs: - failOnStderr: true - showWarnings: true - workingDirectory: '$(Build.SourcesDirectory)' - targetType: 'inline' - script: | - Get-ChildItem -Include "*.tsx","*.ts" -Recurse | ` - ForEach { (Get-Content $_.PSPath | ForEach { ($_ -replace '(from|import)\s?[''"](igniteui-(react|dockmanager).*)[''"]', '$1 "@infragistics/$2"') }) | ` - Set-Content $_.PSPath } - - - task: PowerShell@2 - displayName: 'npm install igniteui-dockmanager (licensed)' - enabled: false # Disable this extra step because we are already going for the licensed version in the package.json - 2 steps above - inputs: - targetType: 'inline' - # We are using a PowerShell script because the npm step doesn't allow for explicit use of variable expansion which is what we use here. - # The script below grabs the current version of the dockmanager and installs it separately (after we UNinstalled it in a previous step) - script: | - cd $(Build.SourcesDirectory)\browser - npm install igniteui-dockmanager@npm:@infragistics/igniteui-dockmanager@$($(jq '.dependencies.\"igniteui-dockmanager\"' .\package.json).Trim('"')) - - - task: Npm@1 - displayName: 'npm run build' - inputs: - command: custom - workingDir: '$(Build.SourcesDirectory)\browser' - verbose: ${{ parameters.isVerbose }} - #customCommand: ci - customCommand: 'run build' - - - task: ArchiveFiles@2 - displayName: 'Package samples browser' - inputs: - verbose: ${{ parameters.isVerbose }} - rootFolderOrFile: '$(Build.SourcesDirectory)/browser/build' - includeRootFolder: false - archiveType: 'zip' - archiveFile: '$(Build.ArtifactStagingDirectory)/ReactSamples.zip' - replaceExistingArchive: true - - - task: PublishPipelineArtifact@1 - displayName: 'Publish pipeline artifact' - inputs: - targetPath: '$(Build.ArtifactStagingDirectory)/ReactSamples.zip' - artifact: 'ReactSamplesBrowser' - - - ${{ if eq(parameters.shouldCleanPostExectuion, true) }}: - - task: PostBuildCleanup@4 \ No newline at end of file diff --git a/browser/.env b/browser/.env deleted file mode 100644 index 62683168f8..0000000000 --- a/browser/.env +++ /dev/null @@ -1,3 +0,0 @@ -GENERATE_SOURCEMAP=false -EXTEND_ESLINT=true -SKIP_PREFLIGHT_CHECK=true \ No newline at end of file diff --git a/browser/.eslintignore b/browser/.eslintignore deleted file mode 100644 index 97c363d94c..0000000000 --- a/browser/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -src/*.d.ts -src/navigation/SamplesBuster.tsx -src/samples/grids/data-grid/binding-remote-data/odatajs-4.0.0.js -samples/grids/data-grid/binding-remote-data/src/odatajs-4.0.0.js -src/samples/charts/data-chart/range-column-chart/TemperatureRangeData.ts \ No newline at end of file diff --git a/browser/.eslintrc.js b/browser/.eslintrc.js deleted file mode 100644 index 25dc45da04..0000000000 --- a/browser/.eslintrc.js +++ /dev/null @@ -1,82 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "detect" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "camelcase": "off", - "no-unused-vars": "off", - "no-extra-semi": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "no-mixed-spaces-and-tabs": 0, - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/camelcase": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-var": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-extra-semi": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/member-delimiter-style": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; diff --git a/browser/README.md b/browser/README.md deleted file mode 100644 index 52329ae4a2..0000000000 --- a/browser/README.md +++ /dev/null @@ -1,68 +0,0 @@ - -
- ignite-ui -
- -# Browser App for React Components - -This folder contains source code for a React app that combines examples implemented in the `samples` folder and it allows you to browser [Ignite UI for React](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) components in a single website such as: - -- Charts: -[Area](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/area-chart), -[Bar](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/bar-chart), -[Column](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/column-chart), -[Composite](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/composite-chart), -[Donut](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/donut-chart), -[Financial/Stock](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/stock-chart), -[Line](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/line-chart), -[Pie](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/pie-chart), -[Polar](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/polar-chart), -[Radial](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/radial-chart), -[Scatter](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/scatter-chart), -[Shape](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/shape-chart), -[Sparkline](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/sparkline-chart), -[Stacked](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/stacked-chart), -[Step](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/types/step-chart), -- Maps: -[Geographic Map](https://www.infragistics.com/products/ignite-ui-react/react/components/geo-map.html), -[Treemap](https://www.infragistics.com/products/ignite-ui-react/react/components/treemap-overview.html), -- Gauges: -[Bullet Graph](https://www.infragistics.com/products/ignite-ui-react/react/components/bullet-graph), -[Linear Gauge](https://www.infragistics.com/products/ignite-ui-react/react/components/linear-gauge.html), -[Radial Gauges](https://www.infragistics.com/products/ignite-ui-react/react/components/radial-gauge.html) -- Grids: -[Table / Grid](https://www.infragistics.com/products/ignite-ui-react/react/components/data-grid.html), -[Excel Library](https://www.infragistics.com/products/ignite-ui-react/react/components/excel_library_using_workbooks.html) -- Other: -[Dock Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/dock-manager), -[Date Picker](https://www.infragistics.com/products/ignite-ui-react/react/components/editors/date-picker), -[Multi-Column Combobox](https://www.infragistics.com/products/ignite-ui-react/react/components/editors/multi-column-combobox) - -## 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 and browse all samples: - -- in VS Code, open the browser folder -`C:\GitHub\igniteui-react-examples\browser` - -- select **View** - **Terminal** menu item - -- type `npm install` command in terminal window - -This will install required packages and [Ignite UI for React](https://infragistics.com/reactsite/components/general-getting-started.html) packages - -- type `npm run start` command in terminal window to start this application locally - -Note this application copies all individually sample projects from [./samples](./samples) to [./browser/src](./browser/src) folder when it is about to start running. Therefore, any changes to [./browser/src](./browser/src) will be overridden on consecutive run of the application. - -Wait until the build is completed and then open [http://localhost:4200](http://localhost:4200) in your browser. You should see a website with navigation menu for browning all samples in this repository. - -![SB Preview](./public/images/preview.PNG) - -## 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/browser/cleanup.bat b/browser/cleanup.bat deleted file mode 100644 index 0883a4c2a5..0000000000 --- a/browser/cleanup.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off -REM ECHO cleanup %cd% ... -FOR %%I IN (.) DO set TARGET=%%~nxI -ECHO cleanup %TARGET% ... - -ECHO - removing %TARGET%\**\node_modules folders in all samples: -REM FOR /F "tokens=*" %%G IN ('DIR /B /AD /S node_modules') DO ECHO "%%G" - FOR /F "tokens=*" %%G IN ('DIR /B /AD /S node_modules') DO RMDIR /S /Q "%%G" - -ECHO - removing %TARGET%\**\build folders in all samples: - FOR /F "tokens=*" %%G IN ('DIR /B /AD /S build') DO RMDIR /S /Q "%%G" - -ECHO cleanup %TARGET% completed. -pause diff --git a/browser/config-overrides.js b/browser/config-overrides.js deleted file mode 100644 index 8a2a0fd79f..0000000000 --- a/browser/config-overrides.js +++ /dev/null @@ -1,268 +0,0 @@ -const path = require('path'); -let pathsConfig = require("./tsconfig.paths.json"); -const {alias, configPaths, expandResolveAlias, expandRulesInclude, expandPluginsScope} = require('react-app-rewire-alias') -const resolve = require('resolve'); -const shouldUseSourceMap = false; // process.env.GENERATE_SOURCEMAP !== 'false'; -const ForkTsCheckerWebpackPlugin = - process.env.TSC_COMPILE_ON_ERROR === 'true' - ? require('react-dev-utils/ForkTsCheckerWarningWebpackPlugin') - : require('react-dev-utils/ForkTsCheckerWebpackPlugin'); - -//this works around the fact that alias doesn't support multiple paths -function aliasMultiple(aliasMap) { - const alias0 = Object.keys(aliasMap).reduce( (a,i) => { - a[i] = aliasMap[i][0] - return a - }, {}); - const alias1 = Object.keys(aliasMap).reduce( (a,i) => { - a[i] = aliasMap[i][1] - return a - }, {}); - return function(config) { - expandResolveAlias(config.resolve, aliasMap); - expandRulesInclude(config.module.rules, Object.values(alias0)); - expandRulesInclude(config.module.rules, Object.values(alias1)); - expandPluginsScope(config.resolve.plugins, Object.values(alias0), Object.values(alias0)); - expandPluginsScope(config.resolve.plugins, Object.values(alias1), Object.values(alias1)); - return config; - } - } - -/* eslint-disable no-undef */ -/* eslint-disable @typescript-eslint/no-var-requires */ -module.exports = function override(config, env) { - console.log("config-overrides.js started"); - console.log("env: " + env); - const isEnvDevelopment = env === 'development'; - const isEnvProduction = env === 'production'; - - // Variable used for enabling profiling in Production - // passed into alias object. Uses a flag if passed into the build command - const isEnvProductionProfile = - isEnvProduction && process.argv.includes('--profile'); - - const paths = require('./node_modules/react-scripts/config/paths'); - // console.log("config-overrides.js paths"); - console.log(paths); - - console.log(pathsConfig); - let tspaths = pathsConfig.compilerOptions.paths; - tspaths = Object.keys(tspaths).reduce((a, p) => { - let target = tspaths[p]; - a[p.replace(/\/\*$/,'')] = Array.isArray(target) ? target.map((t) => t.replace(/\/\*$/,'')) : target.replace(/\/\*$/,''); - return a; - }, {}); - console.log(tspaths); - tspaths = Object.keys(tspaths).reduce((a, p) => { - let target = tspaths[p]; - a[p.replace(/\/\*$/,'')] = Array.isArray(target) ? target.map((t) => path.resolve(__dirname, t)) : path.resolve(__dirname, target); - - return a; - }, {}); - console.log(tspaths); - - // config.resolve = { - // ...config.resolve, - // alias: { - // ...config.alias, - // ...tspaths - // }, - // }; - - //console.log(config.resolve); - - let rules = config.module.rules; - //let paths = config._paths; - let oneOf = null; // rules[1].oneOf; - - for (const rule of rules) { - if (rule.oneOf !== undefined) { - oneOf = rule.oneOf; - break; - } - } - if (oneOf === null) { - console.log("config-overrides.js rules:"); - console.log(rules); - throw "config-overrides.js cannot find config rule with 'oneOf'" - } - - oneOf.splice(0, 0, { - test: /\.worker\.ts$/, - include: paths.appSrc, - use: [ 'worker-loader', { - loader: require.resolve('ts-loader'), - options: { - transpileOnly: true, - } - } - ]}); - - config.output.globalObject = 'this'; - - console.log("config-overrides.js optimization:"); - console.log(config.optimization); - - if (config.optimization.splitChunks === undefined || - config.optimization.splitChunks.cacheGroups === undefined) { - console.log("config-overrides.js found no config.optimization.splitChunks in webpack \n") - } else { - console.log("config-overrides.js setting config.optimization.splitChunks.cacheGroups"); - config.optimization.splitChunks.cacheGroups = { - igniteuiCharts: { - test: /[\\/]node_modules[\\/](igniteui-react-charts)[\\/]/, - name: 'igniteui-react-charts', - chunks: 'all', - }, - igniteuiCore: { - test: /[\\/]node_modules[\\/](igniteui-react-core)[\\/]/, - name: 'igniteui-react-core', - chunks: 'all', - }, - igniteuiReact: { - test: /[\\/]node_modules[\\/](igniteui-react)[\\/]/, - name: 'igniteui-react', - chunks: 'all', - }, - igniteuiGauges: { - test: /[\\/]node_modules[\\/](igniteui-react-gauges)[\\/]/, - name: 'igniteui-react-gauges', - chunks: 'all', - }, - igniteuiGrids: { - test: /[\\/]node_modules[\\/](igniteui-react-grids)[\\/]/, - name: 'igniteui-react-grids', - chunks: 'all', - }, - igniteuiDataGrids: { - test: /[\\/]node_modules[\\/](igniteui-react-data-grids)[\\/]/, - name: 'igniteui-react-data-grids', - chunks: 'all', - }, - igniteuiInputs: { - test: /[\\/]node_modules[\\/](igniteui-react-inputs)[\\/]/, - name: 'igniteui-react-inputs', - chunks: 'all', - }, - igniteuiLayouts: { - test: /[\\/]node_modules[\\/](igniteui-react-layouts)[\\/]/, - name: 'igniteui-react-layouts', - chunks: 'all', - }, - igniteuiMaps: { - test: /[\\/]node_modules[\\/](igniteui-react-maps)[\\/]/, - name: 'igniteui-react-maps', - chunks: 'all', - }, - igniteuiExcel: { - test: /[\\/]node_modules[\\/](igniteui-react-excel)[\\/]/, - name: 'igniteui-react-excel', - chunks: 'all', - }, - igniteuiSpreadsheet: { - test: /[\\/]node_modules[\\/](igniteui-react-spreadsheet)[\\/]/, - name: 'igniteui-react-spreadsheet', - chunks: 'all', - }, - igniteuiSpreadsheetChartAdapter: { - test: /[\\/]node_modules[\\/](igniteui-react-spreadsheet-chart-adapter)[\\/]/, - name: 'igniteui-react-spreadsheet-chart-adapter', - chunks: 'all', - }, - igniteuiDashboards: { - test: /[\\/]node_modules[\\/](igniteui-react-dashboards)[\\/]/, - name: 'igniteui-react-dashboards', - chunks: 'all', - }, - igniteuiDataSources: { - test: /[\\/]node_modules[\\/](igniteui-react-datasources)[\\/]/, - name: 'igniteui-react-datasources', - chunks: 'all', - }, - igniteuiDockmanager: { - test: /[\\/]node_modules[\\/](igniteui-react-dockmanager)[\\/]/, - name: 'igniteui-react-dockmanager', - chunks: 'all', - } - }; - } - - console.log("\n\n\n\n"); - //let newConfig = alias(configPathsMultiple('./tsconfig.paths.json'))(config); - //console.log(newConfig); - - if (!config.resolve) { - config.resolve = {}; - } - config.resolve.mainFields = ["esm2015", "module", "main"]; - - let checkerInd = -1; - for (var i = 0; i < config.plugins.length; i++) { - if (config.plugins[i] instanceof ForkTsCheckerWebpackPlugin) { - checkerInd = i; - break; - } - } - if (checkerInd >= 0) { - let checker = new ForkTsCheckerWebpackPlugin({ - async: isEnvDevelopment, - typescript: { - memoryLimit: 10240, - typescriptPath: resolve.sync('typescript', { - basedir: paths.appNodeModules, - }), - configOverwrite: { - compilerOptions: { - sourceMap: isEnvProduction - ? shouldUseSourceMap - : isEnvDevelopment, - skipLibCheck: true, - inlineSourceMap: false, - declarationMap: false, - noEmit: true, - incremental: true, - tsBuildInfoFile: paths.appTsBuildInfoFile, - }, - }, - context: paths.appPath, - diagnosticOptions: { - syntactic: true, - }, - mode: 'write-references', - // profile: true, - }, - issue: { - // This one is specifically to match during CI tests, - // as micromatch doesn't match - // '../cra-template-typescript/template/src/App.tsx' - // otherwise. - include: [ - { file: '../**/src/**/*.{ts,tsx}' }, - { file: '**/src/**/*.{ts,tsx}' }, - ], - exclude: [ - { file: '**/src/**/__tests__/**' }, - { file: '**/src/**/?(*.){spec|test}.*' }, - { file: '**/src/setupProxy.*' }, - { file: '**/src/setupTests.*' }, - ], - }, - logger: { - infrastructure: 'silent', - }, - }); - config.plugins[checkerInd] = checker; - } - - // Add Babel plugins manually to the config - let moduleRules = config.module.rules[0].oneOf; - for (var j = 0; j < moduleRules.length; j++) { - if (moduleRules[j].loader?.includes("babel-loader")) { - moduleRules[j].options.plugins?.push("@babel/plugin-transform-class-static-block"); - } - } - - let newConfig = aliasMultiple(tspaths)(config); - console.log(newConfig); - return newConfig; -} \ No newline at end of file diff --git a/browser/gulpfile.js b/browser/gulpfile.js deleted file mode 100644 index a9b357ecd1..0000000000 --- a/browser/gulpfile.js +++ /dev/null @@ -1,78 +0,0 @@ -/* eslint-disable no-undef */ -/* eslint-disable @typescript-eslint/no-var-requires */ - -let gulp = require('gulp'); - -function log(msg) { - console.log('gulpfile.js ' + msg); -} - -var sb = require('./tasks/gulp-samples.js') - -// exports.updateSamples = updateSamples = gulp.series( -// sb.lintSamples, -// sb.getSamples, -// sb.updateReadme, -// // sb.updateIndex, -// sb.updateSharedFiles, -// ); - -exports.updateReadme = updateReadme = gulp.series( - sb.getSamples, - sb.updateReadme, -); - -exports.getSamples = getSamples = gulp.series( - sb.getSamples, -); - -exports.simplifySamples = simplifySamples = gulp.series( - sb.getSamples, - sb.simplifySamples, -); - -exports.updateSharedFiles = updateSharedFiles = gulp.series( - sb.getSamples, - sb.updateSharedFiles, -); - -exports.updateBrowser = updateBrowser = gulp.series( - sb.logPackages, - sb.updateVersion, - sb.getSamples, - sb.copySamples, - sb.updateCodeViewer, - sb.updateReadme, - // sb.copyPackageJson, -); - -exports.updateVersion = updateVersion = sb.updateVersion; - -// exports.default = updateBrowser; - -exports.logPackages = sb.logPackages; -exports.logPublicFiles = sb.logPublicFiles; -exports.logSourceFiles = sb.logSourceFiles; -exports.logUniqueFiles = sb.logUniqueFiles; -exports.logRootFiles = sb.logRootFiles; -exports.lintSamples = sb.lintSamples; -exports.verifyBuild = sb.verifyBuild; - -exports.logRoutes = logRoutes = gulp.series( - sb.getSamples, - sb.logRoutes, -); - -exports.logSandboxUrls = logSandboxUrls = gulp.series( - sb.getSamples, - sb.logSandboxUrls, -); - -exports.updateCodeViewer = updateCodeViewer = gulp.series( - sb.getSamples, - sb.updateCodeViewer -); - -exports.updateIG = updateIG = sb.updateIG - -exports.cleanupSamples = cleanupSamples = sb.cleanupSamples diff --git a/browser/images.d.ts b/browser/images.d.ts deleted file mode 100644 index 3f287eaa6e..0000000000 --- a/browser/images.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -declare module '*.svg' -declare module '*.png' -declare module '*.jpg' -declare module '*.jpeg' -declare module '*.gif' -declare module '*.bmp' -declare module '*.tiff' diff --git a/browser/index.html b/browser/index.html deleted file mode 100644 index 682d763d8d..0000000000 --- a/browser/index.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - Samples Browser | IgniteUI for React | Infragistics - - - - - - - - -
- - - - diff --git a/browser/package-lock.json b/browser/package-lock.json deleted file mode 100644 index 96c36c7ed3..0000000000 --- a/browser/package-lock.json +++ /dev/null @@ -1,19932 +0,0 @@ -{ - "name": "react-samples-browser", - "version": "23.2.915", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "react-samples-browser", - "version": "23.2.915", - "dependencies": { - "@types/file-saver": "^2.0.0", - "@types/react-loadable": "5.5.5", - "@types/react-router": "^5.1.19", - "@types/react-transition-group": "2.9.2", - "classnames": "2.3.1", - "dompurify": "^3.3.0", - "file-saver": "1.3.8", - "igniteui-dockmanager": "^1.17.0", - "igniteui-grid-lite": "~0.11.0", - "igniteui-i18n-resources": "^1.0.5", - "igniteui-react": "19.9.0", - "igniteui-react-charts": "19.6.0", - "igniteui-react-core": "19.6.0", - "igniteui-react-dashboards": "19.6.0", - "igniteui-react-data-grids": "19.6.0", - "igniteui-react-datasources": "19.6.0", - "igniteui-react-dockmanager": "19.7.0", - "igniteui-react-excel": "19.6.0", - "igniteui-react-gauges": "19.6.0", - "igniteui-react-grids": "19.7.0", - "igniteui-react-inputs": "19.6.0", - "igniteui-react-layouts": "19.6.0", - "igniteui-react-maps": "19.6.0", - "igniteui-react-spreadsheet": "19.6.0", - "igniteui-react-spreadsheet-chart-adapter": "19.6.0", - "igniteui-theming": "^25.0.1", - "igniteui-webcomponents": "^7.4.1", - "lit-html": "^3.2.0", - "marked": "^18.0.0", - "marked-shiki": "^1.2.1", - "prop-types": "15.7.2", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "react-icons": "^5.3.0", - "react-loadable": "5.5.0", - "react-router": "4.3.1", - "react-router-dom": "^5.2.0", - "react-transition-group": "4.4.2", - "shiki": "^4.3.0", - "tslib": "^2.4.0" - }, - "devDependencies": { - "@babel/plugin-proposal-private-property-in-object": "~7.21.11", - "@babel/plugin-transform-class-static-block": "^7.26.0", - "@babel/plugin-transform-private-property-in-object": "^7.25.9", - "@tailwindcss/vite": "^4.3.3", - "@types/gulp": "^4.0.6", - "@types/jest": "^29.2.0", - "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^5.51.0", - "@typescript-eslint/parser": "^5.51.0", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "browser-sync": "^3.0.4", - "del": "^5.1.0", - "eslint": "^8.33.0", - "eslint-config-prettier": "^6.11.0", - "eslint-config-react": "^1.1.7", - "eslint-plugin-prettier": "^3.1.3", - "eslint-plugin-react": "^7.20.0", - "event-stream": "^4.0.1", - "fs": "0.0.1-security", - "fs-extra": "^9.0.1", - "fs.extra": "^1.3.2", - "gulp": "^4.0.2", - "gulp-contains": "^1.2.0", - "gulp-exec": "^4.0.0", - "gulp-flatten": "^0.4.0", - "gulp-ignore": "^3.0.0", - "gulp-rename": "^2.0.0", - "gulp-replace": "^1.0.0", - "gulp-shell": "^0.8.0", - "gulp-uglify": "^3.0.2", - "gulpclass": "^0.2.0", - "path": "^0.12.7", - "prettier": "^2.0.5", - "react-dev-utils": "12.0.1", - "remark": "^14.0.2", - "remark-frontmatter": "^2.0.0", - "run-sequence": "^2.2.1", - "sass": "^1.97.3", - "tailwindcss": "^4.3.3", - "ts-loader": "^9.5.4", - "ts-node": "^10.9.2", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", - "web-vitals": "^0.2.4", - "webpack": "^5.101.3", - "worker-loader": "^3.0.8" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", - "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.3" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", - "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-member-expression-to-functions": "^7.28.5", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.28.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.28.6", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", - "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", - "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", - "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.28.5", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", - "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", - "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", - "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", - "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.3", - "@babel/helper-create-class-features-plugin": "^7.28.6", - "@babel/helper-plugin-utils": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bufbuild/protobuf": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.11.0.tgz", - "integrity": "sha512-sBXGT13cpmPR5BMgHE6UEEfEaShh5Ror6rfN3yEK5si7QVrtZg8LEPQb0VVhiLRUslD2yLnXtnRzG035J/mZXQ==", - "license": "(Apache-2.0 AND BSD-3-Clause)" - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@floating-ui/core": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.8.0.tgz", - "integrity": "sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.12" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.8.0.tgz", - "integrity": "sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.8.0", - "@floating-ui/utils": "^0.2.12" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.12.tgz", - "integrity": "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==", - "license": "MIT" - }, - "node_modules/@hono/node-server": { - "version": "1.19.10", - "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.10.tgz", - "integrity": "sha512-hZ7nOssGqRgyV3FVVQdfi+U4q02uB23bpnYpdvNXkYTRRyWx84b7yf1ans+dnJ/7h41sGL3CeQTfO+ZGxuO+Iw==", - "license": "MIT", - "engines": { - "node": ">=18.14.1" - }, - "peerDependencies": { - "hono": "^4" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-get-type": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", - "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.5.1.tgz", - "integrity": "sha512-Aou5UdlSpr5whQe8AA/bZG0jMj96CoJIWbGfZ91qieWu5AWUMKw8VR/pAkQkJYvBNhmCcWnZlyyk5oze8JIqYA==", - "license": "BSD-3-Clause" - }, - "node_modules/@lit/context": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.1.6.tgz", - "integrity": "sha512-M26qDE6UkQbZA2mQ3RjJ3Gzd8TxP+/0obMgE5HfkfLhEEyYE3Bui4A5XHiGPjy0MUGAyxB3QgVuw2ciS0kHn6A==", - "license": "BSD-3-Clause", - "dependencies": { - "@lit/reactive-element": "^1.6.2 || ^2.1.0" - } - }, - "node_modules/@lit/react": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@lit/react/-/react-1.0.8.tgz", - "integrity": "sha512-p2+YcF+JE67SRX3mMlJ1TKCSTsgyOVdAwd/nxp3NuV1+Cb6MWALbN6nT7Ld4tpmYofcE5kcaSY1YBB9erY+6fw==", - "license": "BSD-3-Clause", - "peerDependencies": { - "@types/react": "17 || 18 || 19" - } - }, - "node_modules/@lit/reactive-element": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.2.tgz", - "integrity": "sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==", - "license": "BSD-3-Clause", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.5.0" - } - }, - "node_modules/@modelcontextprotocol/sdk": { - "version": "1.27.1", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.27.1.tgz", - "integrity": "sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA==", - "license": "MIT", - "dependencies": { - "@hono/node-server": "^1.19.9", - "ajv": "^8.17.1", - "ajv-formats": "^3.0.1", - "content-type": "^1.0.5", - "cors": "^2.8.5", - "cross-spawn": "^7.0.5", - "eventsource": "^3.0.2", - "eventsource-parser": "^3.0.0", - "express": "^5.2.1", - "express-rate-limit": "^8.2.1", - "hono": "^4.11.4", - "jose": "^6.1.3", - "json-schema-typed": "^8.0.2", - "pkce-challenge": "^5.0.0", - "raw-body": "^3.0.0", - "zod": "^3.25 || ^4.0", - "zod-to-json-schema": "^3.25.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@cfworker/json-schema": "^4.1.1", - "zod": "^3.25 || ^4.0" - }, - "peerDependenciesMeta": { - "@cfworker/json-schema": { - "optional": true - }, - "zod": { - "optional": false - } - } - }, - "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" - }, - "node_modules/@modelcontextprotocol/sdk/node_modules/raw-body": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", - "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.7.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", - "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^2.0.3", - "is-glob": "^4.0.3", - "node-addon-api": "^7.0.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.6", - "@parcel/watcher-darwin-arm64": "2.5.6", - "@parcel/watcher-darwin-x64": "2.5.6", - "@parcel/watcher-freebsd-x64": "2.5.6", - "@parcel/watcher-linux-arm-glibc": "2.5.6", - "@parcel/watcher-linux-arm-musl": "2.5.6", - "@parcel/watcher-linux-arm64-glibc": "2.5.6", - "@parcel/watcher-linux-arm64-musl": "2.5.6", - "@parcel/watcher-linux-x64-glibc": "2.5.6", - "@parcel/watcher-linux-x64-musl": "2.5.6", - "@parcel/watcher-win32-arm64": "2.5.6", - "@parcel/watcher-win32-ia32": "2.5.6", - "@parcel/watcher-win32-x64": "2.5.6" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", - "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", - "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", - "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", - "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", - "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", - "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", - "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", - "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", - "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", - "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", - "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", - "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", - "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.29", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", - "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz", - "integrity": "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@shikijs/core": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.4.3.tgz", - "integrity": "sha512-QCR4q2ZO/ILJEuwiBMel4wdcTDb1JGwfjKTxPDF6x8ixOaluPrVqIn06C99AcRPhmYlBR56d/Fb+GN58GzExpg==", - "license": "MIT", - "dependencies": { - "@shikijs/primitive": "4.4.3", - "@shikijs/types": "4.4.3", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.5", - "hast-util-to-html": "^9.0.5" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@shikijs/engine-javascript": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.4.3.tgz", - "integrity": "sha512-FbOjFJp9VLdo1Wevs10BBtVxiTWwNLqZh5Gkhjgda/ioL15YOgeSl9n+6XMa3qRlPQzfhFNe641SrynFHYG0nQ==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "4.4.3", - "@shikijs/vscode-textmate": "^10.0.2", - "oniguruma-to-es": "^4.3.6" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@shikijs/engine-oniguruma": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.4.3.tgz", - "integrity": "sha512-EcOQkxdxGQrc1Row/cC2c96/v1dbZqGnEVu1qTuT/MJmp6+cXCvQussowVmCv5Tqr3KuY3c7IbM6HTW3LJ1k9w==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "4.4.3", - "@shikijs/vscode-textmate": "^10.0.2" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@shikijs/langs": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.4.3.tgz", - "integrity": "sha512-ePic0yfAJGOF83D5wBHK/00EjK65oahBYxFk5epgq33WRv7X9UuxLEV8PtR0szC0z8dl7INIpIodB99JRFlR+A==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "4.4.3" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@shikijs/primitive": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.4.3.tgz", - "integrity": "sha512-m0wBeLDQDeIxRdUmrCPdQqfuUamDwRL5isCfYbguKD6NiaKpVbsv+3J81DyIKgNW5h4WAIIr8T4EkgQrBBxvaQ==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "4.4.3", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.5" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@shikijs/themes": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.4.3.tgz", - "integrity": "sha512-w8UHjeUnIR965KMWJHUPXOc2mNJUnK3vpVLYLvw5IYU2mnTTJ89E24OrJDBNiJDQ0qzb0tc4l7mrIXx5cFeIyw==", - "license": "MIT", - "dependencies": { - "@shikijs/types": "4.4.3" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@shikijs/types": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.4.3.tgz", - "integrity": "sha512-UEJxmRR++MAGR6hugn0vgVS2W/6lWAts84FFSrnlH9sP0LNol7E5+NQ792pH8liWUhyMyjhTgSUH3k7iD7tc5g==", - "license": "MIT", - "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.5" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@shikijs/vscode-textmate": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", - "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", - "license": "MIT" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.10", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", - "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tailwindcss/node": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.3.tgz", - "integrity": "sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "enhanced-resolve": "^5.24.1", - "jiti": "^2.7.0", - "lightningcss": "1.32.0", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.3.3" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.3.tgz", - "integrity": "sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 20" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.3.3", - "@tailwindcss/oxide-darwin-arm64": "4.3.3", - "@tailwindcss/oxide-darwin-x64": "4.3.3", - "@tailwindcss/oxide-freebsd-x64": "4.3.3", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.3", - "@tailwindcss/oxide-linux-arm64-gnu": "4.3.3", - "@tailwindcss/oxide-linux-arm64-musl": "4.3.3", - "@tailwindcss/oxide-linux-x64-gnu": "4.3.3", - "@tailwindcss/oxide-linux-x64-musl": "4.3.3", - "@tailwindcss/oxide-wasm32-wasi": "4.3.3", - "@tailwindcss/oxide-win32-arm64-msvc": "4.3.3", - "@tailwindcss/oxide-win32-x64-msvc": "4.3.3" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.3.tgz", - "integrity": "sha512-Y85A2gmPSkl5Ve5qR86GL4HT509cFqQh1aes9p3sSkyTPwt0Pppf3GkwGe4JPACcRYjgJIEhQgM6dBClnr0NYw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.3.tgz", - "integrity": "sha512-BiaWatpBcERQFDlOjRDpIVXuFK5PJez5SA4JMg6VYZdBYU+qKfV/vqjcIs+IYmtitf1xYQZTwXvU/8y4lfZUGw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.3.tgz", - "integrity": "sha512-fAeUqfV5ndhxRwai8cXGzdLvul9utWOmeTkv69unv4ZXixjn61Z+p9lCWdwOwA3TYboG3BwdVuN/RDjhBRl0mw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.3.tgz", - "integrity": "sha512-iyf5bV6+wnAlflVeEy7R25dupxTNECZN5QMI0qNT6eT+EgaGdZcKhGkr5SdoaWiLJ3spLqIY9VCeSGrwmtg4kw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.3.tgz", - "integrity": "sha512-aAYUprJAJQWWbRrPvtjdroZ56Md+JM8pMiopS6xGEwDfLhqj+2ver2p4nU4Mb3CRqcMmNBjo8KkUgcxhkzVQGQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.3.tgz", - "integrity": "sha512-nDxldcEENOxZRzC2uu9jrutZdAAQtb+8WWDCSnWL1zvBk1+FN+x6MtDViPB5AJMfttVCUhehGWus3XBPgatM/w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.3.tgz", - "integrity": "sha512-Md44bD6veX/PC5iyF8cDVnw4HBIANZepRZZ7a8DQOvkfo5WUBwcp6iAuCUz23u+4SUkhJlD3eL7hNdW8ezd/kA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.3.tgz", - "integrity": "sha512-tx7us1muwOKAKWao2v/GaafFeQboE6aj88vC6ziN2NCGcRm8gWUhwjzg+YdVB1e4boAtdtma4L43onunI6NS4w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.3.tgz", - "integrity": "sha512-SJxX60smvHgasZoBy11dX6YRjXJFovwWBoedhbQPOBzgFWBHGB+TVPWB9BxzR7TTxU8FQZAI2AyiNCMzFm8Img==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.3.tgz", - "integrity": "sha512-jx1+rPhY/5Ympkktd656HBWEBLxP7dH06losBLjjf5vgCODXvi9KhtftWcMIwTFIDqBr7cRnQkdLnAG+IOlGvQ==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.11.1", - "@emnapi/runtime": "^1.11.1", - "@emnapi/wasi-threads": "^1.2.2", - "@napi-rs/wasm-runtime": "^1.1.4", - "@tybys/wasm-util": "^0.10.2", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core": { - "version": "1.11.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.2", - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime": { - "version": "1.11.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads": { - "version": "1.2.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "peerDependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util": { - "version": "0.10.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib": { - "version": "2.8.1", - "dev": true, - "inBundle": true, - "license": "0BSD", - "optional": true - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.3.tgz", - "integrity": "sha512-3rc292Ca2ceK6Ulcc/bAVnTs/3nDtoPhyEKlgPv+yQJQi/JS/AMJlqzxvlDacL1nekbrcf6bTqp/jV4qgnPxNQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.3.tgz", - "integrity": "sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/vite": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.3.tgz", - "integrity": "sha512-yYU8cogLeSh/ms2jh8Fj7jaba/EWa7Ja6GoUqYZaraEuCI5YS6ms6ObZgjjedm+jm6XZjdNRWBpPP6Z86oOxcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tailwindcss/node": "4.3.3", - "@tailwindcss/oxide": "4.3.3", - "tailwindcss": "4.3.3" - }, - "peerDependencies": { - "vite": "^5.2.0 || ^6 || ^7 || ^8" - } - }, - "node_modules/@testing-library/dom": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", - "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "picocolors": "1.1.1", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@testing-library/user-event": { - "version": "14.6.1", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", - "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", - "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } - }, - "node_modules/@types/chai": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", - "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/deep-eql": "*", - "assertion-error": "^2.0.1" - } - }, - "node_modules/@types/cors": { - "version": "2.8.19", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", - "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/expect": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", - "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/file-saver": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.7.tgz", - "integrity": "sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A==", - "license": "MIT" - }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/glob-stream": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-8.0.3.tgz", - "integrity": "sha512-vctgrT9AH/GK3TRaIbRUU0TZn12GBU4kzelZdPyJp1Sc8L/6Wrq21UrtN4+x4saqTg6COUIUtFV6JSYcVln/EQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/picomatch": "*", - "@types/streamx": "*" - } - }, - "node_modules/@types/gulp": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.18.tgz", - "integrity": "sha512-IqkYa4sXkwH2uwqO2aXYOoAisJpLX13BPaS6lmEAoG4BbgOay3qqGQFsT9LMSSQVMQlEKU7wTUW0sPV46V0olw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/undertaker": ">=1.2.6", - "@types/vinyl-fs": "*", - "chokidar": "^3.3.1" - } - }, - "node_modules/@types/hast": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", - "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "29.5.14", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", - "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mdast": { - "version": "3.0.15", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", - "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/@types/merge2": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/@types/merge2/-/merge2-1.4.4.tgz", - "integrity": "sha512-WZLSif3sHKMlq6vW22R9ub5f+/CEFFlSCY8actv9WBU/8RMJes5zHog9+8oEVLTkaIPaM8fp8XpLaHZggPWN9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "24.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.11.0.tgz", - "integrity": "sha512-fPxQqz4VTgPI/IQ+lj9r0h+fDR66bzoeMGHp8ASee+32OSGIkeASsoZuJixsQoVef1QJbeubcPBxKk22QVoWdw==", - "license": "MIT", - "dependencies": { - "undici-types": "~7.16.0" - } - }, - "node_modules/@types/parse-json": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", - "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-qHHxQ+P9PysNEGbALT8f8YOSHW0KJu6l2xU8DYY0fu/EmGxXdVnuTLvFUvBgPJMSqXq29SYHveejeAha+4AYgA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.15", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", - "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.3.28", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", - "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.3.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", - "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^18.0.0" - } - }, - "node_modules/@types/react-loadable": { - "version": "5.5.5", - "resolved": "https://registry.npmjs.org/@types/react-loadable/-/react-loadable-5.5.5.tgz", - "integrity": "sha512-TDDZAtxqQFE90+qbv63BOJFKKbxsZW0cHbT70OOT7MLkik1815NwN0Gn4SyoJSkvh+XxUr0axsFGlP5Ak/SdpA==", - "license": "MIT", - "dependencies": { - "@types/react": "*", - "@types/webpack": "^4" - } - }, - "node_modules/@types/react-router": { - "version": "5.1.20", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" - } - }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "node_modules/@types/react-transition-group": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.9.2.tgz", - "integrity": "sha512-5Fv2DQNO+GpdPZcxp2x/OQG/H19A01WlmpjVD9cKvVFmoVLOZ9LvBgSWG6pSXIU4og5fgbvGPaCV5+VGkWAEHA==", - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/source-list-map": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.6.tgz", - "integrity": "sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==", - "license": "MIT" - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/streamx": { - "version": "2.9.5", - "resolved": "https://registry.npmjs.org/@types/streamx/-/streamx-2.9.5.tgz", - "integrity": "sha512-IHYsa6jYrck8VEdSwpY141FTTf6D7boPeMq9jy4qazNrFMA4VbRz/sw5LSsfR7jwdDcx0QKWkUexZvsWBC2eIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/tapable": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.12.tgz", - "integrity": "sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==", - "license": "MIT" - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "license": "MIT" - }, - "node_modules/@types/uglify-js": { - "version": "3.17.5", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.5.tgz", - "integrity": "sha512-TU+fZFBTBcXj/GpDpDaBmgWk/gn96kMZ+uocaFUlV2f8a6WdMzzI44QBCmGcCiYR0Y6ZlNRiyUyKKt5nl/lbzQ==", - "license": "MIT", - "dependencies": { - "source-map": "^0.6.1" - } - }, - "node_modules/@types/undertaker": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@types/undertaker/-/undertaker-1.2.12.tgz", - "integrity": "sha512-52BiBni1srlIx/o7anEB1Y230yr3+21P0utA4VXLyeyeR2gHANKi5kJ/e0FakD4RYEXX0D9dOC7PDrVqL1j98Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/undertaker-registry": "*", - "async-done": "~1.3.2" - } - }, - "node_modules/@types/undertaker-registry": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/undertaker-registry/-/undertaker-registry-1.0.4.tgz", - "integrity": "sha512-tW77pHh2TU4uebWXWeEM5laiw8BuJ7pyJYDh6xenOs75nhny2kVgwYbegJ4BoLMYsIrXaBpKYaPdYO3/udG+hg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", - "license": "MIT" - }, - "node_modules/@types/vinyl": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", - "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/expect": "^1.20.4", - "@types/node": "*" - } - }, - "node_modules/@types/vinyl-fs": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/vinyl-fs/-/vinyl-fs-3.0.7.tgz", - "integrity": "sha512-ojGFhBnh5pj5Crf2yBOk3rjJXUX2U4W9z6tZ7hn6pUbQa/J8KH8NrXem0POYVQWI3ifnx4T65DPktuWfxc3iiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/glob-stream": "*", - "@types/node": "*", - "@types/vinyl": "*" - } - }, - "node_modules/@types/webpack": { - "version": "4.41.40", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.40.tgz", - "integrity": "sha512-u6kMFSBM9HcoTpUXnL6mt2HSzftqb3JgYV6oxIgL2dl6sX6aCa5k6SOkzv5DuZjBTPUE/dJltKtwwuqrkZHpfw==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/@types/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - } - }, - "node_modules/@types/webpack-sources/node_modules/source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 12" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.35", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", - "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "license": "ISC" - }, - "node_modules/@vitejs/plugin-react": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.4.tgz", - "integrity": "sha512-VIcFLdRi/VYRU8OL/puL7QXMYafHmqOnwTZY50U1JPlCNj30PxCMx65c494b1K9be9hX83KVt0+gTEwTWLqToA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.29.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-rc.3", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.18.0" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" - } - }, - "node_modules/@vitest/browser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-3.2.4.tgz", - "integrity": "sha512-tJxiPrWmzH8a+w9nLKlQMzAKX/7VjFs50MWgcAj7p9XQ7AQ9/35fByFYptgPELyLw+0aixTnC4pUWV+APcZ/kw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@testing-library/dom": "^10.4.0", - "@testing-library/user-event": "^14.6.1", - "@vitest/mocker": "3.2.4", - "@vitest/utils": "3.2.4", - "magic-string": "^0.30.17", - "sirv": "^3.0.1", - "tinyrainbow": "^2.0.0", - "ws": "^8.18.2" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "playwright": "*", - "vitest": "3.2.4", - "webdriverio": "^7.0.0 || ^8.0.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "playwright": { - "optional": true - }, - "safaridriver": { - "optional": true - }, - "webdriverio": { - "optional": true - } - } - }, - "node_modules/@vitest/expect": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", - "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/spy": "3.2.4", - "@vitest/utils": "3.2.4", - "chai": "^5.2.0", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/mocker": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", - "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "3.2.4", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.17" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, - "node_modules/@vitest/pretty-format": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", - "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", - "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/utils": "3.2.4", - "pathe": "^2.0.3", - "strip-literal": "^3.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/snapshot": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", - "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.2.4", - "magic-string": "^0.30.17", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", - "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyspy": "^4.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", - "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.2.4", - "loupe": "^3.1.4", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "license": "MIT", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-phases": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "acorn": "^8.14.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.5", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", - "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-wrap": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-cyan": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", - "integrity": "sha512-eCjan3AVo/SxZ0/MyIYRtkpxIu/H3xZN7URr1vXVrISxeyz8fUFz0FJziamK4sS8I+t35y4rHg1b2PklyBe/7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-wrap": "0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-wrap": "0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-red": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", - "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-wrap": "0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/append-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", - "integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-equal": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", - "dev": true, - "license": "MIT" - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-filter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", - "integrity": "sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", - "integrity": "sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-initial": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", - "integrity": "sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-slice": "^1.0.0", - "is-number": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-initial/node_modules/is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-last": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", - "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-last/node_modules/is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-sort": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", - "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-compare": "^1.0.0", - "get-value": "^2.0.6", - "kind-of": "^5.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/async-done": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", - "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.2", - "process-nextick-args": "^2.0.0", - "stream-exhaust": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/async-each": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", - "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT" - }, - "node_modules/async-each-series": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/async-settle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", - "integrity": "sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-done": "^1.2.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/bach": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", - "integrity": "sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-filter": "^1.1.1", - "arr-flatten": "^1.0.1", - "arr-map": "^2.0.0", - "array-each": "^1.0.0", - "array-initial": "^1.0.0", - "array-last": "^1.1.1", - "async-done": "^1.2.2", - "async-settle": "^1.0.0", - "now-and-later": "^2.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/baseline-browser-mapping": { - "version": "2.11.12", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.12.tgz", - "integrity": "sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true, - "license": "MIT" - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/binaryextensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", - "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - }, - "funding": { - "url": "https://bevry.me/fund" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/body-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", - "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.3", - "http-errors": "^2.0.0", - "iconv-lite": "^0.7.0", - "on-finished": "^2.4.1", - "qs": "^6.14.1", - "raw-body": "^3.0.1", - "type-is": "^2.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/body-parser/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/raw-body": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz", - "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.7.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-sync": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-3.0.4.tgz", - "integrity": "sha512-mcYOIy4BW6sWSEnTSBjQwWsnbx2btZX78ajTTjdNfyC/EqQVcIe0nQR6894RNAMtvlfAnLaH9L2ka97zpvgenA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "browser-sync-client": "^3.0.4", - "browser-sync-ui": "^3.0.4", - "bs-recipes": "1.3.4", - "chalk": "4.1.2", - "chokidar": "^3.5.1", - "connect": "3.6.6", - "connect-history-api-fallback": "^1", - "dev-ip": "^1.0.1", - "easy-extender": "^2.3.4", - "eazy-logger": "^4.1.0", - "etag": "^1.8.1", - "fresh": "^0.5.2", - "fs-extra": "3.0.1", - "http-proxy": "^1.18.1", - "immutable": "^3", - "micromatch": "^4.0.8", - "opn": "5.3.0", - "portscanner": "2.2.0", - "raw-body": "^2.3.2", - "resp-modifier": "6.0.2", - "rx": "4.1.0", - "send": "^0.19.0", - "serve-index": "^1.9.1", - "serve-static": "^1.16.2", - "server-destroy": "1.0.1", - "socket.io": "^4.4.1", - "ua-parser-js": "^1.0.33", - "yargs": "^17.3.1" - }, - "bin": { - "browser-sync": "dist/bin.js" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/browser-sync-client": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-3.0.4.tgz", - "integrity": "sha512-+ew5ubXzGRKVjquBL3u6najS40TG7GxCdyBll0qSRc/n+JRV9gb/yDdRL1IAgRHqjnJTdqeBKKIQabjvjRSYRQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "etag": "1.8.1", - "fresh": "0.5.2", - "mitt": "^1.1.3" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/browser-sync-ui": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-3.0.4.tgz", - "integrity": "sha512-5Po3YARCZ/8yQHFzvrSjn8+hBUF7ZWac39SHsy8Tls+7tE62iq6pYWxpVU6aOOMAGD21RwFQhQeqmJPf70kHEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "async-each-series": "0.1.1", - "chalk": "4.1.2", - "connect-history-api-fallback": "^1", - "immutable": "^3", - "server-destroy": "1.0.1", - "socket.io-client": "^4.4.1", - "stream-throttle": "^0.1.3" - } - }, - "node_modules/browser-sync/node_modules/fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/browser-sync/node_modules/jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha512-oBko6ZHlubVB5mRFkur5vgYR1UyqX+S6Y/oCfLhqNdcc2fYFlDpIoNc7AfKS1KOGcnNAkvsr0grLck9ANM815w==", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/browser-sync/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/browserslist": { - "version": "4.28.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.7.tgz", - "integrity": "sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.10.44", - "caniuse-lite": "^1.0.30001806", - "electron-to-chromium": "^1.5.393", - "node-releases": "^2.0.51", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bs-recipes": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", - "integrity": "sha512-BXvDkqhDNxXEjeGM8LFkSbR+jzmP/CYpCiVKYn+soB1dDldeU15EBNDkwVXndKuX35wnNUaPd0qSoQEAkmQtMw==", - "dev": true, - "license": "ISC" - }, - "node_modules/buffer-builder": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz", - "integrity": "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==", - "license": "MIT/X11" - }, - "node_modules/buffer-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", - "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001806", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001806.tgz", - "integrity": "sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chai": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", - "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/check-error": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz", - "integrity": "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/classnames": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", - "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==", - "license": "MIT" - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/collection-map": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", - "integrity": "sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-map": "^2.0.2", - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "license": "MIT", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/colorjs.io": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz", - "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==", - "license": "MIT" - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/component-emitter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha512-OO7axMmPpu/2XuX1+2Yrg0ddju31B6xLZMWkJ5rYBu4YRmRVlOjvlY6kw2FJKiAzyxGwnrDUAG4s1Pf0sbBMCQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", - "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "license": "MIT", - "engines": { - "node": ">=6.6.0" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-props": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", - "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", - "dev": true, - "license": "MIT", - "dependencies": { - "each-props": "^1.3.2", - "is-plain-object": "^5.0.0" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/cors": { - "version": "2.8.6", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", - "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", - "license": "MIT", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cosmiconfig/node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssfontparser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cssfontparser/-/cssfontparser-1.2.1.tgz", - "integrity": "sha512-6tun4LoZnj7VN6YeegOVb67KBX/7JJsqvj+pv3ZA7F878/eN33AbGa5b/S/wXxS/tcp8nc40xRUrsPlxIyNUPg==", - "dev": true, - "license": "MIT" - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "license": "MIT" - }, - "node_modules/d": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", - "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", - "dev": true, - "license": "ISC", - "dependencies": { - "es5-ext": "^0.10.64", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", - "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", - "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^5.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-resolution": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", - "integrity": "sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", - "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "globby": "^10.0.1", - "graceful-fs": "^4.2.2", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.1", - "p-map": "^3.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/del/node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "devOptional": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/dev-ip": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", - "integrity": "sha512-LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==", - "dev": true, - "bin": { - "dev-ip": "lib/dev-ip.js" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/diff": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", - "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true, - "license": "MIT" - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dompurify": { - "version": "3.4.16", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.4.16.tgz", - "integrity": "sha512-sqo+pNp3qRhCIpbgRi1y8Tgk27Bo2Ry7w0dC1NBeNTdZChWjz9Xb/KOoZbRP/R6pQZ80Qw8YhXw13hWWBbMRnQ==", - "license": "(MPL-2.0 OR Apache-2.0)", - "optionalDependencies": { - "@types/trusted-types": "^2.0.7" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "node_modules/each-props": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", - "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.1", - "object.defaults": "^1.1.0" - } - }, - "node_modules/each-props/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/easy-extender": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", - "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", - "dev": true, - "dependencies": { - "lodash": "^4.17.10" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/eazy-logger": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-4.1.0.tgz", - "integrity": "sha512-+mn7lRm+Zf1UT/YaH8WXtpU6PIV2iOjzP6jgKoiaq/VNrjYKp+OHZGe2znaLgDeFkw8cL9ffuaUm+nNnzcYyGw==", - "dev": true, - "dependencies": { - "chalk": "4.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.400", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.400.tgz", - "integrity": "sha512-96EWDNjM59SYflgeV5Ylsf4EMiq1a25YjCnJH7cxn/AF2H3pILRweaUnoLax0yKHWdpOzY6JKEu45e8irqZIHA==", - "dev": true, - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/engine.io": { - "version": "6.6.5", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.5.tgz", - "integrity": "sha512-2RZdgEbXmp5+dVbRm0P7HQUImZpICccJy7rN7Tv+SFa55pH+lxnuw6/K1ZxxBfHoYpSkHLAO92oa8O4SwFXA2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.7.2", - "cors": "~2.8.5", - "debug": "~4.4.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.18.3" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/engine.io-client": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.4.tgz", - "integrity": "sha512-+kjUJnZGwzewFDw951CDWcwj35vMNf2fcj7xQWOctq1F2i1jkDdVvdFG9kM/BEChymCH36KgjnW0NsL58JYRxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.4.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.18.3", - "xmlhttprequest-ssl": "~2.1.1" - } - }, - "node_modules/engine.io-client/node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/enhanced-resolve": { - "version": "5.24.5", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.24.5.tgz", - "integrity": "sha512-L1l8TNvomm6UVW5B253AGxQagSQr+vGwhMlrrfRS2qmhx46AMpMVJKQYLvWYbysTMY8VoicOvzHzoHMbyzB+4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.3.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enhanced-resolve/node_modules/tapable": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", - "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/error-ex": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", - "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.24.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", - "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", - "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.1", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.1.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.3.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.5", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es5-ext": { - "version": "0.10.64", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", - "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", - "dev": true, - "hasInstallScript": true, - "license": "ISC", - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "esniff": "^2.0.1", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "dev": true, - "license": "MIT", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", - "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "d": "^1.0.2", - "ext": "^1.7.0" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dev": true, - "license": "ISC", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/esbuild": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", - "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.1", - "@humanwhocodes/config-array": "^0.13.0", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", - "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-stdin": "^6.0.0" - }, - "bin": { - "eslint-config-prettier-check": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=3.14.1" - } - }, - "node_modules/eslint-config-react": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/eslint-config-react/-/eslint-config-react-1.1.7.tgz", - "integrity": "sha512-P4Z6u68wf0BvIvZNu+U8uQsk3DcZ1CcCI1XpUkJlG6vOa+iVcSQLgE01f2DB2kXlKRcT8/3dsH+wveLgvEgbkQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=5.0.0", - "prettier": ">=1.13.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/eslint-plugin-react/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/esniff": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", - "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", - "dev": true, - "license": "ISC", - "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.62", - "event-emitter": "^0.3.5", - "type": "^2.7.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "node_modules/event-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz", - "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.1", - "from": "^0.1.7", - "map-stream": "0.0.7", - "pause-stream": "^0.0.11", - "split": "^1.0.1", - "stream-combiner": "^0.2.2", - "through": "^2.3.8" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true, - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/eventsource": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", - "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", - "license": "MIT", - "dependencies": { - "eventsource-parser": "^3.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/eventsource-parser": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", - "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", - "license": "MIT", - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/expect-type": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", - "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/express": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz", - "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==", - "license": "MIT", - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.1", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "depd": "^2.0.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express-rate-limit": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.2.1.tgz", - "integrity": "sha512-PCZEIEIxqwhzw4KF0n7QF4QqruVTcF73O5kFKUnGOyjbCCgizBBiFaYpd/fnBLUMPw/BWw9OsiN7GgrNYr7j6g==", - "license": "MIT", - "dependencies": { - "ip-address": "10.0.1" - }, - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/express-rate-limit" - }, - "peerDependencies": { - "express": ">= 4.11" - } - }, - "node_modules/express/node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/finalhandler": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz", - "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express/node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/send": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz", - "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.3", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.1", - "mime-types": "^3.0.2", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express/node_modules/serve-static": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz", - "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==", - "license": "MIT", - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "dev": true, - "license": "ISC", - "dependencies": { - "type": "^2.7.2" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true, - "license": "MIT" - }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fancy-log": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", - "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "parse-node-version": "^1.0.0", - "time-stamp": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/fastq": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", - "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fault": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", - "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", - "dev": true, - "license": "MIT", - "dependencies": { - "format": "^0.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-saver": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-1.3.8.tgz", - "integrity": "sha512-spKHSBQIxxS81N/O21WmuXA2F6wppUCsutpzenOeZzOCCJ5gEfcbqJP983IrpLXzYmXnMUa6J03SubcNPdKrlg==", - "license": "MIT" - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha512-ejnvM9ZXYzp6PUPUyQBMBf0Co5VX2gr5H2VQe2Ui2jWXNlxv+PYZo8wpAymJNJdLsG1R4p+M4aynF8KuoUEwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^4.0.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/findup-sync/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/findup-sync/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/fined/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.4.tgz", - "integrity": "sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==", - "dev": true, - "license": "ISC" - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", - "dev": true, - "license": "MIT", - "dependencies": { - "for-in": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/foreachasync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz", - "integrity": "sha512-J+ler7Ta54FwwNcx6wQRDhTIbNeyDcARMkOcguEqnEdtm0jKvN3Li3PDAb2Du3ubJYEWfYL83XMROXdsXAXycw==", - "dev": true, - "license": "Apache2" - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "dev": true, - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "license": "MIT", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/from": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", - "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", - "dev": true, - "license": "MIT" - }, - "node_modules/fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==", - "dev": true, - "license": "ISC" - }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs-mkdirp-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", - "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.11", - "through2": "^2.0.3" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/fs-mkdirp-stream/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/fs-monkey": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", - "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", - "dev": true, - "license": "Unlicense" - }, - "node_modules/fs.extra": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fs.extra/-/fs.extra-1.3.2.tgz", - "integrity": "sha512-Ig401VXtyrWrz23k9KxAx9OrnL8AHSLNhQ8YJH2wSYuH0ZUfxwBeY6zXkd/oOyVRFTlpEu/0n5gHeuZt7aqbkw==", - "dev": true, - "dependencies": { - "fs-extra": "~0.6.1", - "mkdirp": "~0.3.5", - "walk": "^2.3.9" - }, - "engines": { - "node": "*" - } - }, - "node_modules/fs.extra/node_modules/fs-extra": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz", - "integrity": "sha512-5rU898vl/Z948L+kkJedbmo/iltzmiF5bn/eEk0j/SgrPpI+Ydau9xlJPicV7Av2CHYBGz5LAlwTnBU80j1zPQ==", - "dev": true, - "dependencies": { - "jsonfile": "~1.0.1", - "mkdirp": "0.3.x", - "ncp": "~0.4.2", - "rimraf": "~2.2.0" - } - }, - "node_modules/fs.extra/node_modules/jsonfile": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz", - "integrity": "sha512-KbsDJNRfRPF5v49tMNf9sqyyGqGLBcz1v5kZT01kG5ns5mQSltwxCKVmUzVKtEinkUnTDtSrp6ngWpV7Xw0ZlA==", - "dev": true - }, - "node_modules/fs.extra/node_modules/rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "MIT", - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generator-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", - "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-stream": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend": "^3.0.0", - "glob": "^7.1.1", - "glob-parent": "^3.1.0", - "is-negated-glob": "^1.0.0", - "ordered-read-streams": "^1.0.0", - "pumpify": "^1.3.5", - "readable-stream": "^2.1.5", - "remove-trailing-separator": "^1.0.1", - "to-absolute-glob": "^2.0.0", - "unique-stream": "^2.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/glob-stream/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-stream/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/glob-watcher": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", - "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "^2.0.0", - "async-done": "^1.2.0", - "chokidar": "^2.0.0", - "is-negated-glob": "^1.0.0", - "just-debounce": "^1.0.0", - "normalize-path": "^3.0.0", - "object.defaults": "^1.1.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/glob-watcher/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "license": "ISC", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/glob-watcher/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/glob-watcher/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/glob-watcher/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/glob-watcher/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/glob-watcher/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/micromatch/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/glob-watcher/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/glob-watcher/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true, - "license": "MIT" - }, - "node_modules/glogg": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", - "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "sparkles": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/gulp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", - "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob-watcher": "^5.0.3", - "gulp-cli": "^2.2.0", - "undertaker": "^1.2.1", - "vinyl-fs": "^3.0.0" - }, - "bin": { - "gulp": "bin/gulp.js" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/gulp-cli": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", - "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^1.0.1", - "archy": "^1.0.0", - "array-sort": "^1.0.0", - "color-support": "^1.1.3", - "concat-stream": "^1.6.0", - "copy-props": "^2.0.1", - "fancy-log": "^1.3.2", - "gulplog": "^1.0.0", - "interpret": "^1.4.0", - "isobject": "^3.0.1", - "liftoff": "^3.1.0", - "matchdep": "^2.0.0", - "mute-stdout": "^1.0.0", - "pretty-hrtime": "^1.0.0", - "replace-homedir": "^1.0.0", - "semver-greatest-satisfied-range": "^1.1.0", - "v8flags": "^3.2.0", - "yargs": "^7.1.0" - }, - "bin": { - "gulp": "bin/gulp.js" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/gulp-cli/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "node_modules/gulp-cli/node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true, - "license": "ISC" - }, - "node_modules/gulp-cli/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dev": true, - "license": "MIT", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-cli/node_modules/y18n": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/gulp-cli/node_modules/yargs": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", - "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.1" - } - }, - "node_modules/gulp-cli/node_modules/yargs-parser": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", - "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", - "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^3.0.0", - "object.assign": "^4.1.0" - } - }, - "node_modules/gulp-contains": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gulp-contains/-/gulp-contains-1.2.0.tgz", - "integrity": "sha512-aoYM2Y14aUGJuelFwu/mFOm3rjfuWT7BaBZRNdhDA+CjlAz77Ja7e2h3FHTNstS+6jiicjOT3PBuaxTxG19oFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "plugin-error": "1.0.1", - "through2": "^0.6.3", - "vinyl": "2.2.0" - } - }, - "node_modules/gulp-exec": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/gulp-exec/-/gulp-exec-4.0.0.tgz", - "integrity": "sha512-A9JvTyB3P4huusd/43bTr6SDg3MqBxL9AQbLnsKSO6/91wVkHfxgeJZlgDMkqK8sMel4so8wcko4SZOeB1UCgA==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash.template": "^4.4.0", - "plugin-error": "^1.0.1", - "through2": "^3.0.1" - } - }, - "node_modules/gulp-exec/node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "node_modules/gulp-flatten": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/gulp-flatten/-/gulp-flatten-0.4.0.tgz", - "integrity": "sha512-eg4spVTAiv1xXmugyaCxWne1oPtNG0UHEtABx5W8ScLiqAYceyYm6GYA36x0Qh8KOIXmAZV97L2aYGnKREG3Sg==", - "dev": true, - "license": "MIT", - "dependencies": { - "plugin-error": "^0.1.2", - "through2": "^2.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/gulp-flatten/node_modules/arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha512-OQwDZUqYaQwyyhDJHThmzId8daf4/RFNLaeh3AevmSeZ5Y7ug4Ga/yKc6l6kTZOBW781rCj103ZuTh8GAsB3+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-flatten/node_modules/arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha512-t5db90jq+qdgk8aFnxEkjqta0B/GHrM1pxzuuZz2zWsOXc5nKu3t+76s/PQBA8FTcM/ipspIH9jWG4OxCBc2eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-flatten/node_modules/array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha512-rlVfZW/1Ph2SNySXwR9QYkChp8EkOEiTMO5Vwx60usw04i4nWemkm9RXmQqgkQFaLHsqLuADvjp6IfgL9l2M8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-flatten/node_modules/extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha512-L7AGmkO6jhDkEBBGWlLtftA80Xq8DipnrRPr0pyi7GQLXkaq9JYA4xF4z6qnadIC6euiTDKco0cGSU9muw+WTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-flatten/node_modules/kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha512-aUH6ElPnMGon2/YkxRIigV32MOpTVcoXQ1Oo8aYn40s+sJ3j+0gFZsT8HKDcxNy7Fi9zuquWtGaGAahOdv5p/g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-flatten/node_modules/plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha512-WzZHcm4+GO34sjFMxQMqZbsz3xiNEgonCskQ9v+IroMmYgk/tas8dG+Hr2D6IbRPybZ12oWpzE/w3cGJ6FJzOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-cyan": "^0.1.1", - "ansi-red": "^0.1.1", - "arr-diff": "^1.0.1", - "arr-union": "^2.0.1", - "extend-shallow": "^1.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-flatten/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/gulp-ignore": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gulp-ignore/-/gulp-ignore-3.0.0.tgz", - "integrity": "sha512-hRQDJipaU5A84J7QacNGG+bnFU3QLESdjuJCRTAZ5VuKsz4LmvOrECFJeeCtqxP3RV0Pn6mawU0Q3CFZGpirSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "gulp-match": "^1.1.0", - "through2": "^3.0.1" - } - }, - "node_modules/gulp-ignore/node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "node_modules/gulp-match": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/gulp-match/-/gulp-match-1.1.0.tgz", - "integrity": "sha512-DlyVxa1Gj24DitY2OjEsS+X6tDpretuxD6wTfhXE/Rw2hweqc1f6D/XtsJmoiCwLWfXgR87W9ozEityPCVzGtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.3" - } - }, - "node_modules/gulp-rename": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.1.0.tgz", - "integrity": "sha512-dGuzuH8jQGqCMqC544IEPhs5+O2l+IkdoSZsgd4kY97M1CxQeI3qrmweQBIrxLBbjbe/8uEWK8HHcNBc3OCy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/gulp-replace": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.4.tgz", - "integrity": "sha512-SVSF7ikuWKhpAW4l4wapAqPPSToJoiNKsbDoUnRrSgwZHH7lH8pbPeQj1aOVYQrbZKhfSVBxVW+Py7vtulRktw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/vinyl": "^2.0.4", - "istextorbinary": "^3.0.0", - "replacestream": "^4.0.3", - "yargs-parser": ">=5.0.0-security.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gulp-shell": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/gulp-shell/-/gulp-shell-0.8.0.tgz", - "integrity": "sha512-wHNCgmqbWkk1c6Gc2dOL5SprcoeujQdeepICwfQRo91DIylTE7a794VEE+leq3cE2YDoiS5ulvRfKVIEMazcTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^3.0.0", - "fancy-log": "^1.3.3", - "lodash.template": "^4.5.0", - "plugin-error": "^1.0.1", - "through2": "^3.0.1", - "tslib": "^1.10.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/gulp-shell/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gulp-shell/node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "node_modules/gulp-shell/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "license": "0BSD" - }, - "node_modules/gulp-uglify": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz", - "integrity": "sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-each": "^1.0.1", - "extend-shallow": "^3.0.2", - "gulplog": "^1.0.0", - "has-gulplog": "^0.1.0", - "isobject": "^3.0.1", - "make-error-cause": "^1.1.1", - "safe-buffer": "^5.1.2", - "through2": "^2.0.0", - "uglify-js": "^3.0.5", - "vinyl-sourcemaps-apply": "^0.2.0" - } - }, - "node_modules/gulp-uglify/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/gulpclass": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/gulpclass/-/gulpclass-0.2.0.tgz", - "integrity": "sha512-S2p0SgnVLjBbIEw5tHbBV6Wm6abD+leA5xZG6ukf9M+j1I/8zIeKPby9GLWnI90671YRk+lXbvEUROKaZXo8NA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/gulp": "^4.0.5", - "@types/merge2": "^1.1.4", - "@types/node": "*", - "gulp": "^4.0.0", - "merge2": "^1.2.2" - } - }, - "node_modules/gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "glogg": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha512-+F4GzLjwHNNDEAJW2DC1xXfEoPkRDmUdJ7CBYw4MpqtDwOnqdImJl7GWlpqx+Wko6//J8uKTnIe4wZSv7yCqmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "sparkles": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hast-util-to-html": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", - "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-whitespace": "^3.0.0", - "html-void-elements": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "property-information": "^7.0.0", - "space-separated-tokens": "^2.0.0", - "stringify-entities": "^4.0.0", - "zwitch": "^2.0.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-html/node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", - "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", - "license": "BSD-3-Clause" - }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "parse-passwd": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/hono": { - "version": "4.12.5", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.5.tgz", - "integrity": "sha512-3qq+FUBtlTHhtYxbxheZgY8NIFnkkC/MR8u5TTsr7YZ3wixryQ3cCwn3iZbg8p8B88iDBBAYSfZDS75t8MN7Vg==", - "license": "MIT", - "engines": { - "node": ">=16.9.0" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "license": "ISC" - }, - "node_modules/html-void-elements": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", - "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/igniteui-dockmanager": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/igniteui-dockmanager/-/igniteui-dockmanager-1.18.1.tgz", - "integrity": "sha512-j0WGS5+yKcJTxB7Jrve2uEc1XH8/r3A5Fegwk5kmom2SfOpMIXrAlMMxuo5EK4m3w4EVyvaGoEhN2thkTnFNVw==", - "license": "SEE LICENSE IN LICENSE", - "dependencies": { - "igniteui-trial-watermark": "^1.0.3" - } - }, - "node_modules/igniteui-grid-lite": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/igniteui-grid-lite/-/igniteui-grid-lite-0.11.0.tgz", - "integrity": "sha512-vFPWIMihTZ+qbSKRjTMeGRgmnnziNhY5zjs8VdyipojmdkuoHrYW2VFBFHCg0Ci1bWfeBQpLrGOF0mmn57CVHA==", - "license": "MIT", - "dependencies": { - "@lit/context": "~1.1.5", - "igniteui-webcomponents": "~7.4.1", - "lit": "^3.3.0" - }, - "engines": { - "node": ">=22" - } - }, - "node_modules/igniteui-grid-lite/node_modules/igniteui-webcomponents": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/igniteui-webcomponents/-/igniteui-webcomponents-7.2.4.tgz", - "integrity": "sha512-h5hrroBn0kSYCYpj5OH4sKXkFZvdOeqpYnNTKMB5PsqsWexhQICkH5xKjDDj3VPbd135OvzWX5XQN0Nclj2qAQ==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.7.0", - "@lit-labs/virtualizer": "^2.1.0", - "@lit/context": "^1.1.0", - "igniteui-i18n-core": "^1.0.5", - "lit": "^3.3.0" - }, - "engines": { - "node": ">=22" - }, - "peerDependencies": { - "dompurify": "^3.3.0", - "igniteui-i18n-resources": "^1.0.5", - "marked": "^17.0.0", - "marked-shiki": "^1.2.0", - "shiki": "^3.20.0" - }, - "peerDependenciesMeta": { - "dompurify": { - "optional": true - }, - "igniteui-i18n-resources": { - "optional": true - }, - "marked": { - "optional": true - }, - "marked-shiki": { - "optional": true - }, - "shiki": { - "optional": true - } - } - }, - "node_modules/igniteui-i18n-core": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/igniteui-i18n-core/-/igniteui-i18n-core-1.0.5.tgz", - "integrity": "sha512-CO5Rqo5uqgyAfIHbFVuBEmo+fYXgLQ7zxRShqAu+ng8kDS5uwWjKeSGWVZjKMBgxmc6ZWMMbdcWIpGZUSOkPsw==", - "license": "MIT", - "peerDependencies": { - "igniteui-i18n-resources": "1.0.5" - }, - "peerDependenciesMeta": { - "igniteui-i18n-resources": { - "optional": true - } - } - }, - "node_modules/igniteui-i18n-resources": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/igniteui-i18n-resources/-/igniteui-i18n-resources-1.0.5.tgz", - "integrity": "sha512-WeCqKauGSuGADPjxbIsKV9329BIoIKOHGCxv5IBsv4/5aNNtCruqrdHKbzw1NfUq5ETtL+brTC4in6IgPCU2YA==", - "license": "MIT", - "dependencies": { - "igniteui-i18n-core": "1.0.5" - } - }, - "node_modules/igniteui-react": { - "version": "19.9.0", - "resolved": "https://registry.npmjs.org/igniteui-react/-/igniteui-react-19.9.0.tgz", - "integrity": "sha512-nb0iyPqid1CSOjrsIyWiDozuR0PTDPc2feGfJ0off5QfkSYTVyjlNyKvEd4cv6S6ajxdQ8KpIHmdti3LruZAEA==", - "license": "MIT", - "dependencies": { - "@lit/react": "^1.0.7", - "igniteui-webcomponents": "~7.4.1", - "lit": "^3.3.0" - }, - "peerDependencies": { - "igniteui-grid-lite": "~0.11.0" - }, - "peerDependenciesMeta": { - "igniteui-grid-lite": { - "optional": true - } - } - }, - "node_modules/igniteui-react-charts": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-charts/-/igniteui-react-charts-19.6.0.tgz", - "integrity": "sha512-AvVTs+VBxn+I2RqDQhbQgii21Yk5SJpkHvyDMSqz0UfDjcOFR5gkRY6SOhFQLnQhNzOQq3S7Bfrb/MlOYDE7cg==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-react-core": "19.6.0" - } - }, - "node_modules/igniteui-react-core": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-core/-/igniteui-react-core-19.6.0.tgz", - "integrity": "sha512-RBJj6v1S6qcvKYZW+rZfDR7BEM9Nj8KcE2w7ztNIzSSaFBBLQcj3koVCEOAGjpovM1RwL7szA8TTjmHugySF0w==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "tslib": "^2.3.1" - } - }, - "node_modules/igniteui-react-dashboards": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-dashboards/-/igniteui-react-dashboards-19.6.0.tgz", - "integrity": "sha512-PxIrqYY7pmjN6IeTGLpqm2mHoiwE2NPnUeQAWgHaA6Ni13FLs7HBLPPq+fVxrvlixyhcTJA7RQncJAvtbchaNw==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-react-charts": "19.6.0", - "igniteui-react-core": "19.6.0", - "igniteui-react-data-grids": "19.6.0", - "igniteui-react-gauges": "19.6.0", - "igniteui-react-inputs": "19.6.0", - "igniteui-react-layouts": "19.6.0", - "igniteui-react-maps": "19.6.0" - } - }, - "node_modules/igniteui-react-data-grids": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-data-grids/-/igniteui-react-data-grids-19.6.0.tgz", - "integrity": "sha512-eUfh9RaSvDpy3dvR6BWE8OBLre0UWWnNDxpFqDiCF76LPNmEDR+gEfFRVRxVfjQXq0szSvcdRbgDRf05yfN+JQ==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-react-core": "19.6.0", - "igniteui-react-inputs": "19.6.0", - "igniteui-react-layouts": "19.6.0" - } - }, - "node_modules/igniteui-react-datasources": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-datasources/-/igniteui-react-datasources-19.6.0.tgz", - "integrity": "sha512-aV4jxgJpDwjnfCzCaD6eh2BKT8x9BcLEgOwmtxbbnsfzxqVkeYm1qTBv4JpU8NQ6rbGQqVWfb6mKQG3GaMOcCg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-react-core": "19.6.0" - } - }, - "node_modules/igniteui-react-dockmanager": { - "version": "19.7.0", - "resolved": "https://registry.npmjs.org/igniteui-react-dockmanager/-/igniteui-react-dockmanager-19.7.0.tgz", - "integrity": "sha512-9C+jAbfe3yUDcM5K7EnO3wVgAsyNKHiGnezAJCd+Qdldd3wDq64SZQS4V7wc5iFKS+CmXFOXO5GM4obh86zN6g==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "@lit/react": "^1.0.7", - "igniteui-dockmanager": "~2.1.2", - "lit": "^3.3.0" - } - }, - "node_modules/igniteui-react-dockmanager/node_modules/igniteui-dockmanager": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/igniteui-dockmanager/-/igniteui-dockmanager-2.1.2.tgz", - "integrity": "sha512-LgQOvjYr/jSG0xqOTcLZu1BgxI+TNkr5IVQbxgZjxH2tzDTo/GwYNz/X/Acevr5Kkp07mUqUCihUIXVMolJuXw==", - "license": "SEE LICENSE IN LICENSE", - "dependencies": { - "igniteui-i18n-core": "^1.0.1", - "igniteui-trial-watermark": "^3.1.0", - "lit": "^3.3.0" - }, - "engines": { - "node": ">=20" - }, - "peerDependencies": { - "igniteui-i18n-resources": "^1.0.1" - }, - "peerDependenciesMeta": { - "igniteui-i18n-resources": { - "optional": true - } - } - }, - "node_modules/igniteui-react-dockmanager/node_modules/igniteui-trial-watermark": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/igniteui-trial-watermark/-/igniteui-trial-watermark-3.1.0.tgz", - "integrity": "sha512-Nrc8pnLQ8jsppC+P7RyJwiTpU0bIUj0k4BGzo7QtA018/PLSrcsegdHPXuZTiP9DHp6wg7lgBd5n/rNSOavhbg==", - "license": "Apache-2.0", - "dependencies": { - "lit": "^3.3.0" - } - }, - "node_modules/igniteui-react-excel": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-excel/-/igniteui-react-excel-19.6.0.tgz", - "integrity": "sha512-cjq79hlsSNQjgGvW2Mj98e1lIFg2+YKPHpO2DZddjX/3j1cUi+mifthBG2PyxX9QIrpgmE8cv70QrEyQXRsK3Q==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "jszip": "^3.1.5", - "pako": "^1.0.6", - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-react-core": "19.6.0" - } - }, - "node_modules/igniteui-react-gauges": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-gauges/-/igniteui-react-gauges-19.6.0.tgz", - "integrity": "sha512-DJJYd7CrJELS2uwt/KU7E9+7kX4aPqVKF4uKwmROADFpINEC0RAXixfFRLRQgS+G+VEqt/MlQM74g9Xa2FADAA==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-react-core": "19.6.0" - } - }, - "node_modules/igniteui-react-grids": { - "version": "19.7.0", - "resolved": "https://registry.npmjs.org/igniteui-react-grids/-/igniteui-react-grids-19.7.0.tgz", - "integrity": "sha512-2sCyHL7WBJCDVOb9wrziyG6IAERmDM/x27ofDMnGpydWHgrGw0WPvtoopl9+Rjtwiw4TrnoZ/IADhLjn39ZHiQ==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "@lit/react": "^1.0.7", - "igniteui-webcomponents-grids": "~7.1.0", - "lit": "^3.3.0" - } - }, - "node_modules/igniteui-react-inputs": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-inputs/-/igniteui-react-inputs-19.6.0.tgz", - "integrity": "sha512-GX3cMOF2XJiO7n7ASoi93MEP+09sh84Xrmc+UZ/89HabQgqpT+CH5rBrvAfQF7CA+xr2UDBDEG59Ops4VSDAmw==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-react-core": "19.6.0" - } - }, - "node_modules/igniteui-react-layouts": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-layouts/-/igniteui-react-layouts-19.6.0.tgz", - "integrity": "sha512-5wU2LenZ5ul+xCkFFlGySpjB1zasjk3Kjf16Dnasj9eT6c4tBBN012t8c50vdEStFcK+cidwMRo1eBFw9MHi9g==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-react-core": "19.6.0", - "igniteui-react-inputs": "19.6.0" - } - }, - "node_modules/igniteui-react-maps": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-maps/-/igniteui-react-maps-19.6.0.tgz", - "integrity": "sha512-S09K+GIAVvnsBJ039jZU8RVvgPn57R73efyZB7qmLUjxgDbNZltNynJfMw8EPCVcOunaRaRFKm/TiwInwG2aUA==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-react-charts": "19.6.0", - "igniteui-react-core": "19.6.0" - } - }, - "node_modules/igniteui-react-spreadsheet": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-spreadsheet/-/igniteui-react-spreadsheet-19.6.0.tgz", - "integrity": "sha512-MKSwFOaov9z3uvPxjXLnqkyJpQWPE/k0ngVwLUtPnliiLjgjHg7NeOwyVuDHqIxhnHB8ViUnRwrUZHN+A/SFAg==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-react-core": "19.6.0", - "igniteui-react-excel": "19.6.0" - } - }, - "node_modules/igniteui-react-spreadsheet-chart-adapter": { - "version": "19.6.0", - "resolved": "https://registry.npmjs.org/igniteui-react-spreadsheet-chart-adapter/-/igniteui-react-spreadsheet-chart-adapter-19.6.0.tgz", - "integrity": "sha512-Lf8GEMr8CaCTHTk0upfttheGkbbEJwNwIH38unEfH749Hal07dMqnaoaGABfC+HGTqg/1WN1fQBjosyBg7CXJg==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-react-charts": "19.6.0", - "igniteui-react-core": "19.6.0", - "igniteui-react-excel": "19.6.0", - "igniteui-react-spreadsheet": "19.6.0" - } - }, - "node_modules/igniteui-theming": { - "version": "25.0.1", - "resolved": "https://registry.npmjs.org/igniteui-theming/-/igniteui-theming-25.0.1.tgz", - "integrity": "sha512-yz9hJ5IQp4MnENACU4BtfHyfAHQ1R92bmZXHrRQyXcjGyWg7SeUPQ2p3aYwqSl9KnOigkoxWPGv0n8efiWeZTA==", - "license": "MIT", - "dependencies": { - "@modelcontextprotocol/sdk": "^1.25.0", - "sass-embedded": "~1.92.1", - "zod": "^3.25.76" - }, - "bin": { - "igniteui-theming-mcp": "dist/mcp/index.js" - } - }, - "node_modules/igniteui-trial-watermark": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/igniteui-trial-watermark/-/igniteui-trial-watermark-1.0.3.tgz", - "integrity": "sha512-q6thtu+7R6MOB+i9GorFPCcWeOImW43BzCAtKnDAYWwaoueb8Lg1EhBkIhAyfEIH+yZ/9c5lnZdU61/GRPoP+g==", - "license": "Apache-2.0" - }, - "node_modules/igniteui-webcomponents": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/igniteui-webcomponents/-/igniteui-webcomponents-7.4.1.tgz", - "integrity": "sha512-4VxbkDO4QpEmhy7ga609RRDpnuX1N4SU7CveavzXQ/xVYdxZb7olcPcqRlcKvKn9abAYR9wsDIhB0MUT7AwUow==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.8.0", - "@lit/context": "^1.1.0", - "igniteui-i18n-core": "^1.0.5", - "lit": "^3.3.0" - }, - "engines": { - "node": ">=22" - }, - "peerDependencies": { - "dompurify": "^3.4.0", - "igniteui-i18n-resources": "^1.0.5", - "marked": "^18.0.0", - "marked-shiki": "^1.2.0", - "shiki": "^4.3.0" - }, - "peerDependenciesMeta": { - "dompurify": { - "optional": true - }, - "igniteui-i18n-resources": { - "optional": true - }, - "marked": { - "optional": true - }, - "marked-shiki": { - "optional": true - }, - "shiki": { - "optional": true - } - } - }, - "node_modules/igniteui-webcomponents-grids": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/igniteui-webcomponents-grids/-/igniteui-webcomponents-grids-7.1.0.tgz", - "integrity": "sha512-xroXIjqMTGjhkZbtb7+yHWh+YRoVFAc281J0KuRgycfaz89a9DAVRlVOVnimcLaVOLpV1TrWIoxHxM69zaulPA==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "igniteui-i18n-core": "^1.0.3", - "lit": "^3.3.0", - "tslib": "^2.3.1" - }, - "peerDependencies": { - "igniteui-i18n-resources": "^1.0.3" - }, - "peerDependenciesMeta": { - "igniteui-i18n-resources": { - "optional": true - } - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", - "license": "MIT" - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ip-address": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", - "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", - "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-descriptor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", - "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-descriptor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", - "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extendable/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", - "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negated-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-like": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", - "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", - "dev": true, - "license": "ISC", - "dependencies": { - "lodash.isfinite": "^3.3.2" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "license": "MIT" - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-unc-path": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "unc-path-regex": "^0.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-valid-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", - "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istextorbinary": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz", - "integrity": "sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "binaryextensions": "^2.2.0", - "textextensions": "^3.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://bevry.me/fund" - } - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/jest-canvas-mock": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jest-canvas-mock/-/jest-canvas-mock-2.5.2.tgz", - "integrity": "sha512-vgnpPupjOL6+L5oJXzxTxFrlGEIbHdZqFU+LFNdtLxZ3lRDCl17FlTMM7IatoRQkrcyOTMlDinjUguqmQ6bR2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssfontparser": "^1.2.1", - "moo-color": "^1.0.2" - } - }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", - "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/jose": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", - "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/panva" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-typed": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz", - "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==", - "license": "BSD-2-Clause" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "license": "(MIT OR GPL-3.0-or-later)", - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "node_modules/just-debounce": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", - "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/last-run": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", - "integrity": "sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "default-resolution": "^2.0.0", - "es6-weak-map": "^2.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "invert-kv": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lead": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", - "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==", - "dev": true, - "license": "MIT", - "dependencies": { - "flush-write-stream": "^1.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "license": "MIT", - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/liftoff": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", - "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend": "^3.0.0", - "findup-sync": "^3.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/liftoff/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/liftoff/node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/lightningcss": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", - "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", - "dev": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.32.0", - "lightningcss-darwin-arm64": "1.32.0", - "lightningcss-darwin-x64": "1.32.0", - "lightningcss-freebsd-x64": "1.32.0", - "lightningcss-linux-arm-gnueabihf": "1.32.0", - "lightningcss-linux-arm64-gnu": "1.32.0", - "lightningcss-linux-arm64-musl": "1.32.0", - "lightningcss-linux-x64-gnu": "1.32.0", - "lightningcss-linux-x64-musl": "1.32.0", - "lightningcss-win32-arm64-msvc": "1.32.0", - "lightningcss-win32-x64-msvc": "1.32.0" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", - "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", - "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", - "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", - "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", - "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", - "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", - "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", - "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", - "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", - "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", - "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/limiter": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.5.tgz", - "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==", - "dev": true - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lit": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.2.tgz", - "integrity": "sha512-NF9zbsP79l4ao2SNrH3NkfmFgN/hBYSQo90saIVI1o5GpjAdCPVstVzO1MrLOakHoEhYkrtRjPK6Ob521aoYWQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@lit/reactive-element": "^2.1.0", - "lit-element": "^4.2.0", - "lit-html": "^3.3.0" - } - }, - "node_modules/lit-element": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.2.tgz", - "integrity": "sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==", - "license": "BSD-3-Clause", - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.5.0", - "@lit/reactive-element": "^2.1.0", - "lit-html": "^3.3.0" - } - }, - "node_modules/lit-html": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.2.tgz", - "integrity": "sha512-Qy9hU88zcmaxBXcc10ZpdK7cOLXvXpRoBxERdtqV9QOrfpMZZ6pSYP91LhpPtap3sFMUiL7Tw2RImbe0Al2/kw==", - "license": "BSD-3-Clause", - "dependencies": { - "@types/trusted-types": "^2.0.2" - } - }, - "node_modules/load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-runner": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", - "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/loader-utils": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", - "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isfinite": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.template": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", - "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", - "deprecated": "This package is deprecated. Use https://socket.dev/npm/package/eta instead.", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.templatesettings": "^4.0.0" - } - }, - "node_modules/lodash.templatesettings": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", - "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash._reinterpolate": "^3.0.0" - } - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/loupe": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", - "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, - "license": "MIT", - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "license": "ISC" - }, - "node_modules/make-error-cause": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz", - "integrity": "sha512-4TO2Y3HkBnis4c0dxhAgD/jprySYLACf7nwN6V0HAHDx59g12WlRpUmFy1bRHamjGUEEBrEvCq6SUpsEE2lhUg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "make-error": "^1.2.0" - } - }, - "node_modules/make-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/make-iterator/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", - "integrity": "sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/marked": { - "version": "18.0.14", - "resolved": "https://registry.npmjs.org/marked/-/marked-18.0.14.tgz", - "integrity": "sha512-mBHK6FBHuBAlhgRe88w9F0O1AbwwXJUcQibUbC/QcdTbVGAD7aWza+xt3N6oT/jCZx3/OMeS+8rnuiHZcQ9s7A==", - "license": "MIT", - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 20" - } - }, - "node_modules/marked-shiki": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/marked-shiki/-/marked-shiki-1.2.1.tgz", - "integrity": "sha512-yHxYQhPY5oYaIRnROn98foKhuClark7M373/VpLxiy5TrDu9Jd/LsMwo8w+U91Up4oDb9IXFrP0N1MFRz8W/DQ==", - "license": "MIT", - "peerDependencies": { - "marked": ">=7.0.0", - "shiki": ">=1.0.0" - } - }, - "node_modules/matchdep": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", - "integrity": "sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==", - "dev": true, - "license": "MIT", - "dependencies": { - "findup-sync": "^2.0.0", - "micromatch": "^3.0.4", - "resolve": "^1.4.0", - "stack-trace": "0.0.10" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/matchdep/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/matchdep/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/matchdep/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/matchdep/node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/matchdep/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", - "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", - "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast/node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/mdast-util-to-hast/node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/mdast-util-to-hast/node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/mdast-util-to-hast/node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-to-hast/node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/mdast-util-to-hast/node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-to-hast/node_modules/micromark-util-types": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.3.tgz", - "integrity": "sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-to-hast/node_modules/unist-util-is": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", - "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast/node_modules/unist-util-visit": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", - "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast/node_modules/unist-util-visit-parents": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", - "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", - "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", - "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "dev": true, - "license": "Unlicense", - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromark": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", - "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", - "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-destination": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", - "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", - "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", - "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", - "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", - "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", - "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", - "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", - "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", - "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", - "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-html-tag-name": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", - "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", - "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", - "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", - "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", - "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", - "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mitt": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", - "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==", - "dev": true, - "license": "MIT" - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "integrity": "sha512-8OCq0De/h9ZxseqzCH8Kw/Filf5pF/vMI6+BH7Lu0jXz2pqYCjTAQRolSxRIi+Ax+oCCjlxoJMP0YQ4XlrQNHg==", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dev": true, - "license": "MIT" - }, - "node_modules/moo-color": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/moo-color/-/moo-color-1.0.3.tgz", - "integrity": "sha512-i/+ZKXMDf6aqYtBhuOcej71YSlbjT3wCO/4H1j8rPvxDJEifdwgg5MaFyu6iYAT8GBZJg2z0dkgK4YMzvURALQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "^1.1.4" - } - }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/mute-stdout": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", - "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/nan": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.25.0.tgz", - "integrity": "sha512-0M90Ag7Xn5KMLLZ7zliPWP3rT90P6PN+IzVFS0VqmnPktBk3700xUVv8Ikm9EUaUE5SDWdp/BIxdENzVznpm1g==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true, - "license": "MIT" - }, - "node_modules/ncp": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz", - "integrity": "sha512-PfGU8jYWdRl4FqJfCy0IzbkGyFHntfWygZg46nFk/dJD/XRrk2cj0SsKSX9n5u5gE0E0YfEpKWrEkfjnlZSTXA==", - "dev": true, - "license": "MIT", - "bin": { - "ncp": "bin/ncp" - } - }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true, - "license": "MIT" - }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "license": "MIT", - "optional": true - }, - "node_modules/node-exports-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/node-exports-info/-/node-exports-info-1.6.0.tgz", - "integrity": "sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array.prototype.flatmap": "^1.3.3", - "es-errors": "^1.3.0", - "object.entries": "^1.1.9", - "semver": "^6.3.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/node-releases": { - "version": "2.0.52", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.52.tgz", - "integrity": "sha512-MRlTqhAfoMx/4mhEbPo3Hi02g9LJZaJkka69V6h67Cb1gjrAG0jsTE4CZX1eptNx+VCAwJmfpnDIF4P0Nh1A7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-package-data/node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/now-and-later": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", - "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.3.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.reduce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", - "integrity": "sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/oniguruma-parser": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", - "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", - "license": "MIT" - }, - "node_modules/oniguruma-to-es": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", - "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", - "license": "MIT", - "dependencies": { - "oniguruma-parser": "^0.12.2", - "regex": "^6.1.0", - "regex-recursion": "^6.0.2" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open/node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ordered-read-streams": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", - "integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.1" - } - }, - "node_modules/os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "lcid": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "license": "(MIT AND Zlib)" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-filepath": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-absolute": "^1.0.0", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-root-regex": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, - "node_modules/pathval": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, - "node_modules/pause-stream": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", - "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", - "dev": true, - "license": [ - "MIT", - "Apache2" - ], - "dependencies": { - "through": "~2.3" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkce-challenge": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz", - "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==", - "license": "MIT", - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/plugin-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", - "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^1.0.1", - "arr-diff": "^4.0.0", - "arr-union": "^3.1.0", - "extend-shallow": "^3.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/portscanner": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz", - "integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "async": "^2.6.0", - "is-number-like": "^1.0.3" - }, - "engines": { - "node": ">=0.4", - "npm": ">=1.0.0" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", - "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", - "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/property-information": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", - "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", - "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", - "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.16.0", - "address": "^1.1.2", - "browserslist": "^4.18.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "detect-port-alt": "^1.1.6", - "escape-string-regexp": "^4.0.0", - "filesize": "^8.0.6", - "find-up": "^5.0.0", - "fork-ts-checker-webpack-plugin": "^6.5.0", - "global-modules": "^2.0.0", - "globby": "^11.0.4", - "gzip-size": "^6.0.0", - "immer": "^9.0.7", - "is-root": "^2.1.0", - "loader-utils": "^3.2.0", - "open": "^8.4.0", - "pkg-up": "^3.1.0", - "prompts": "^2.4.2", - "react-error-overlay": "^6.0.11", - "recursive-readdir": "^2.2.2", - "shell-quote": "^1.7.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dom": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.4" - } - }, - "node_modules/react-error-overlay": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.1.0.tgz", - "integrity": "sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/react-icons": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.6.0.tgz", - "integrity": "sha512-RH93p5ki6LfOiIt0UtDyNg/cee+HLVR6cHHtW3wALfo+eOHTp8RnU2kRkI6E+H19zMIs03DyxUG/GfZMOGvmiA==", - "license": "MIT", - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true, - "license": "MIT" - }, - "node_modules/react-loadable": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.5.0.tgz", - "integrity": "sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg==", - "license": "MIT", - "dependencies": { - "prop-types": "^15.5.0" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-refresh": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", - "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", - "integrity": "sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==", - "license": "MIT", - "dependencies": { - "history": "^4.7.2", - "hoist-non-react-statics": "^2.5.0", - "invariant": "^2.2.4", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.1", - "warning": "^4.0.1" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", - "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.3.4", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router-dom/node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "license": "BSD-3-Clause", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/react-router-dom/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/react-router-dom/node_modules/react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.13", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.2.tgz", - "integrity": "sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==", - "license": "BSD-3-Clause", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/readable-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/rechoir/node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", - "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", - "license": "MIT", - "dependencies": { - "regex-utilities": "^2.3.0" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regex-recursion": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", - "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", - "license": "MIT", - "dependencies": { - "regex-utilities": "^2.3.0" - } - }, - "node_modules/regex-utilities": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", - "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", - "license": "MIT" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/remark": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/remark/-/remark-14.0.3.tgz", - "integrity": "sha512-bfmJW1dmR2LvaMJuAnE88pZP9DktIFYXazkTfOIKZzi3Knk9lT0roItIA24ydOucI3bV/g/tXBA6hzqq3FV9Ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "remark-parse": "^10.0.0", - "remark-stringify": "^10.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-frontmatter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-2.0.0.tgz", - "integrity": "sha512-uNOQt4tO14qBFWXenF0MLC4cqo3dv8qiHPGyjCl1rwOT0LomSHpcElbjjVh5CwzElInB38HD8aSRVugKQjeyHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "fault": "^1.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", - "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.3.tgz", - "integrity": "sha512-koyOzCMYoUHudypbj4XpnAKFbkddRMYZHwghnxd7ue5210WzGw6kOBwauJTRUMq16jsovXx8dYNvSSWP89kZ3A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remove-bom-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", - "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5", - "is-utf8": "^0.2.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/remove-bom-buffer/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/remove-bom-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", - "integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "remove-bom-buffer": "^3.0.0", - "safe-buffer": "^5.1.0", - "through2": "^2.0.3" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remove-bom-stream/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true, - "license": "ISC" - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/replace-ext": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/replace-homedir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", - "integrity": "sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "homedir-polyfill": "^1.0.1", - "is-absolute": "^1.0.0", - "remove-trailing-separator": "^1.1.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/replacestream": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz", - "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "escape-string-regexp": "^1.0.3", - "object-assign": "^4.0.1", - "readable-stream": "^2.0.2" - } - }, - "node_modules/replacestream/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", - "dev": true, - "license": "ISC" - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/resolve": { - "version": "2.0.0-next.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", - "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", - "node-exports-info": "^1.6.0", - "object-keys": "^1.1.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-dir/node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "license": "MIT", - "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-dir/node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-dir/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-options": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", - "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "value-or-function": "^3.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", - "license": "MIT" - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true, - "license": "MIT" - }, - "node_modules/resp-modifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", - "integrity": "sha512-U1+0kWC/+4ncRFYqQWTx/3qkfE6a4B/h3XXgmXypfa0SPZ3t7cbbaFk297PjQS/yov24R18h6OZe6iZwj3NSLw==", - "dev": true, - "dependencies": { - "debug": "^2.2.0", - "minimatch": "^3.0.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/resp-modifier/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/resp-modifier/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", - "fsevents": "~2.3.2" - } - }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/router/node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/run-sequence": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/run-sequence/-/run-sequence-2.2.1.tgz", - "integrity": "sha512-qkzZnQWMZjcKbh3CNly2srtrkaO/2H/SI5f2eliMCapdRD3UhMrwjfOAZJAnZ2H8Ju4aBzFZkBGXUqFs9V0yxw==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^1.1.3", - "fancy-log": "^1.3.2", - "plugin-error": "^0.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/run-sequence/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/run-sequence/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/run-sequence/node_modules/arr-diff": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", - "integrity": "sha512-OQwDZUqYaQwyyhDJHThmzId8daf4/RFNLaeh3AevmSeZ5Y7ug4Ga/yKc6l6kTZOBW781rCj103ZuTh8GAsB3+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.0.1", - "array-slice": "^0.2.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/run-sequence/node_modules/arr-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", - "integrity": "sha512-t5db90jq+qdgk8aFnxEkjqta0B/GHrM1pxzuuZz2zWsOXc5nKu3t+76s/PQBA8FTcM/ipspIH9jWG4OxCBc2eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/run-sequence/node_modules/array-slice": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", - "integrity": "sha512-rlVfZW/1Ph2SNySXwR9QYkChp8EkOEiTMO5Vwx60usw04i4nWemkm9RXmQqgkQFaLHsqLuADvjp6IfgL9l2M8Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/run-sequence/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/run-sequence/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/run-sequence/node_modules/extend-shallow": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", - "integrity": "sha512-L7AGmkO6jhDkEBBGWlLtftA80Xq8DipnrRPr0pyi7GQLXkaq9JYA4xF4z6qnadIC6euiTDKco0cGSU9muw+WTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/run-sequence/node_modules/kind-of": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", - "integrity": "sha512-aUH6ElPnMGon2/YkxRIigV32MOpTVcoXQ1Oo8aYn40s+sJ3j+0gFZsT8HKDcxNy7Fi9zuquWtGaGAahOdv5p/g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/run-sequence/node_modules/plugin-error": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", - "integrity": "sha512-WzZHcm4+GO34sjFMxQMqZbsz3xiNEgonCskQ9v+IroMmYgk/tas8dG+Hr2D6IbRPybZ12oWpzE/w3cGJ6FJzOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-cyan": "^0.1.1", - "ansi-red": "^0.1.1", - "arr-diff": "^1.0.1", - "arr-union": "^2.0.1", - "extend-shallow": "^1.1.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/run-sequence/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/run-sequence/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "mri": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/sass": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", - "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/sass-embedded": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.92.1.tgz", - "integrity": "sha512-28YwLnF5atAhogt3E4hXzz/NB9dwKffyw08a7DEasLh94P7+aELkG3ENSHYCWB9QFN14hYNLfwr9ozUsPDhcDQ==", - "license": "MIT", - "dependencies": { - "@bufbuild/protobuf": "^2.5.0", - "buffer-builder": "^0.2.0", - "colorjs.io": "^0.5.0", - "immutable": "^5.0.2", - "rxjs": "^7.4.0", - "supports-color": "^8.1.1", - "sync-child-process": "^1.0.2", - "varint": "^6.0.0" - }, - "bin": { - "sass": "dist/bin/sass.js" - }, - "engines": { - "node": ">=16.0.0" - }, - "optionalDependencies": { - "sass-embedded-all-unknown": "1.92.1", - "sass-embedded-android-arm": "1.92.1", - "sass-embedded-android-arm64": "1.92.1", - "sass-embedded-android-riscv64": "1.92.1", - "sass-embedded-android-x64": "1.92.1", - "sass-embedded-darwin-arm64": "1.92.1", - "sass-embedded-darwin-x64": "1.92.1", - "sass-embedded-linux-arm": "1.92.1", - "sass-embedded-linux-arm64": "1.92.1", - "sass-embedded-linux-musl-arm": "1.92.1", - "sass-embedded-linux-musl-arm64": "1.92.1", - "sass-embedded-linux-musl-riscv64": "1.92.1", - "sass-embedded-linux-musl-x64": "1.92.1", - "sass-embedded-linux-riscv64": "1.92.1", - "sass-embedded-linux-x64": "1.92.1", - "sass-embedded-unknown-all": "1.92.1", - "sass-embedded-win32-arm64": "1.92.1", - "sass-embedded-win32-x64": "1.92.1" - } - }, - "node_modules/sass-embedded-all-unknown": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.92.1.tgz", - "integrity": "sha512-5t6/YZf+vhO3OY/49h8RCL6Cwo78luva0M+TnTM9gu9ASffRXAuOVLNKciSXa3loptyemDDS6IU5/dVH5w0KmA==", - "cpu": [ - "!arm", - "!arm64", - "!riscv64", - "!x64" - ], - "license": "MIT", - "optional": true, - "dependencies": { - "sass": "1.92.1" - } - }, - "node_modules/sass-embedded-all-unknown/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "license": "MIT", - "optional": true, - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/sass-embedded-all-unknown/node_modules/immutable": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", - "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", - "license": "MIT", - "optional": true - }, - "node_modules/sass-embedded-all-unknown/node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/sass-embedded-all-unknown/node_modules/sass": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.92.1.tgz", - "integrity": "sha512-ffmsdbwqb3XeyR8jJR6KelIXARM9bFQe8A6Q3W4Klmwy5Ckd5gz7jgUNHo4UOqutU5Sk1DtKLbpDP0nLCg1xqQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/sass-embedded-android-arm": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.92.1.tgz", - "integrity": "sha512-4EjpVVzuksERdgAd4BqeSXFnWtWN3DSRyEIUPJ7BhcS9sfDh2Gf6miI2kNTvIQLJ2XIJynDDcEQ8a1U9KwKUTQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-android-arm64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.92.1.tgz", - "integrity": "sha512-Q+UruGb7yKawHagVmVDRRKsnc4mJZvWMBnuRCu2coJo2FofyqBmXohVGXbxko97sYceA9TJTrUEx3WVKQUNCbQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-android-riscv64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.92.1.tgz", - "integrity": "sha512-nCY5btLlX7W7Jc6cCL6D2Yklpiu540EJ2G08YVGu12DrAMCBzqM347CSRf2ojp1H8jyhvmLkaFwnrJWzh+6S+w==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-android-x64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.92.1.tgz", - "integrity": "sha512-qYWR3bftJ77aLYwYDFuzDI4dcwVVixxqQxlIQWNGkHRCexj614qGSSHemr18C2eVj3mjXAQxTQxU68U7pkGPAA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-darwin-arm64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.92.1.tgz", - "integrity": "sha512-g2yQ3txjMYLKMjL2cW1xRO9nnV3ijf95NbX/QShtV6tiVUETZNWDsRMDEwBNGYY6PTE/UZerjJL1R/2xpQg6WA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-darwin-x64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.92.1.tgz", - "integrity": "sha512-eH+fgxLQhTEPjZPCgPAVuX5e514Qp/4DMAUMtlNShv4cr4TD5qOp1XlsPYR/b7uE7p2cKFkUpUn/bHNqJ2ay4A==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-arm": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.92.1.tgz", - "integrity": "sha512-cT3w8yoQTqrtZvWLJeutEGmawITDTY4J6oSVQjeDcPnnoPt0gOFxem8YMznraACXvahw/2+KJDH33BTNgiPo0A==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-arm64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.92.1.tgz", - "integrity": "sha512-dNmlpGeZkry1BofhAdGFBXrpM69y9LlYuNnncf+HfsOOUtj8j0q1RwS+zb5asknhKFUOAG8GCGRY1df7Rwu35g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-arm": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.92.1.tgz", - "integrity": "sha512-nPBos6lI31ef2zQhqTZhFOU7ar4impJbLIax0XsqS269YsiCwjhk11VmUloJTpFlJuKMiVXNo7dPx+katxhD/Q==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-arm64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.92.1.tgz", - "integrity": "sha512-TfiEBkCyNzVoOhjHXUT+vZ6+p0ueDbvRw6f4jHdkvljZzXdXMby4wh7BU1odl69rgRTkSvYKhgbErRLDR/F7pQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-riscv64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.92.1.tgz", - "integrity": "sha512-R+RcJA4EYpJDE9JM1GgPYgZo7x94FlxZ6jPodOQkEaZ1S9kvXVCuP5X/0PXRPhu08KJOfeMsAElzfdAjUf7KJg==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-x64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.92.1.tgz", - "integrity": "sha512-/HolYRGXJjx8nLw6oj5ZrkR7PFM7X/5kE4MYZaFMpDIPIcw3bqB2fUXLo/MYlRLsw7gBAT6hJAMBrNdKuTphfw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-riscv64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.92.1.tgz", - "integrity": "sha512-b9bxe0CMsbSsLx3nrR0cq8xpIkoAC6X36o4DGMITF3m2v3KsojC7ru9X0Gz+zUFr6rwpq/0lTNzFLNu6sPNo3w==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-x64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.92.1.tgz", - "integrity": "sha512-xuiK5Jp5NldW4bvlC7AuX1Wf7o0gLZ3md/hNg+bkTvxtCDgnUHtfdo8Q+xWP11bD9QX31xXFWpmUB8UDLi6XQQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-unknown-all": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.92.1.tgz", - "integrity": "sha512-AT9oXvtNY4N+Nd0wvoWqq9A5HjdH/X3aUH4boQUtXyaJ/9DUwnQmBpP5Gtn028ZS8exOGBdobmmWAuigv0k/OA==", - "license": "MIT", - "optional": true, - "os": [ - "!android", - "!darwin", - "!linux", - "!win32" - ], - "dependencies": { - "sass": "1.92.1" - } - }, - "node_modules/sass-embedded-unknown-all/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "license": "MIT", - "optional": true, - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/sass-embedded-unknown-all/node_modules/immutable": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", - "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", - "license": "MIT", - "optional": true - }, - "node_modules/sass-embedded-unknown-all/node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/sass-embedded-unknown-all/node_modules/sass": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.92.1.tgz", - "integrity": "sha512-ffmsdbwqb3XeyR8jJR6KelIXARM9bFQe8A6Q3W4Klmwy5Ckd5gz7jgUNHo4UOqutU5Sk1DtKLbpDP0nLCg1xqQ==", - "license": "MIT", - "optional": true, - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/sass-embedded-win32-arm64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.92.1.tgz", - "integrity": "sha512-KvmpQjY9yTBMtTYz4WBqetlv9bGaDW1aStcu7MSTbH7YiSybX/9fnxlCAEQv1WlIidQhcJAiyk0Eae+LGK7cIQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-win32-x64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.92.1.tgz", - "integrity": "sha512-B6Nz/GbH7Vkpb2TkQHsGcczWM5t+70VWopWF1x5V5yxLpA8ZzVQ7NTKKi+jDoVY2Efu6ZyzgT9n5KgG2kWliXA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded/node_modules/immutable": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", - "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", - "license": "MIT" - }, - "node_modules/sass-embedded/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/sass/node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/sass/node_modules/immutable": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", - "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", - "dev": true, - "license": "MIT" - }, - "node_modules/sass/node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT" - }, - "node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-greatest-satisfied-range": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", - "integrity": "sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "sver-compat": "^1.5.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/send": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", - "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.4.1", - "range-parser": "~1.2.1", - "statuses": "~2.0.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/send/node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serve-index": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", - "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.8.0", - "mime-types": "~2.1.35", - "parseurl": "~1.3.3" - }, - "engines": { - "node": ">= 0.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/serve-index/node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/serve-index/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", - "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "~0.19.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-static/node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/server-destroy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "license": "ISC" - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/set-value/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "license": "MIT" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/shiki": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.4.3.tgz", - "integrity": "sha512-Mb/GvXPHBAXdgGIcnfU5L3ldpn1XcxrGkPHwqgRx17/I2XRfqlFKk2vGkHWINn1kdXvzJZeuO3is6I9KLPFm0g==", - "license": "MIT", - "dependencies": { - "@shikijs/core": "4.4.3", - "@shikijs/engine-javascript": "4.4.3", - "@shikijs/engine-oniguruma": "4.4.3", - "@shikijs/langs": "4.4.3", - "@shikijs/themes": "4.4.3", - "@shikijs/types": "4.4.3", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.5" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true, - "license": "ISC" - }, - "node_modules/sirv": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", - "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "license": "MIT", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/socket.io": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.3.tgz", - "integrity": "sha512-2Dd78bqzzjE6KPkD5fHZmDAKRNe3J15q+YHDrIsy9WEkqttc7GY+kT9OBLSMaPbQaEd0x1BjcmtMtXkfpc+T5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.4.1", - "engine.io": "~6.6.0", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.5.6", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.6.tgz", - "integrity": "sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "~4.4.1", - "ws": "~8.18.3" - } - }, - "node_modules/socket.io-adapter/node_modules/ws": { - "version": "8.18.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", - "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/socket.io-client": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.3.tgz", - "integrity": "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.4.1", - "engine.io-client": "~6.6.1", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.5.tgz", - "integrity": "sha512-bPMmpy/5WWKHea5Y/jYAP6k74A+hvmRCQaJuJB6I/ML5JZq/KfNieUVo/3Mh7SAqn7TyFdIo6wqYHInG1MU1bQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.4.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io/node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/socket.io/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/socket.io/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/socket.io/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "devOptional": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dev": true, - "license": "MIT", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true, - "license": "MIT" - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/sparkles": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", - "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", - "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", - "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-accessor-descriptor": "^1.0.1", - "is-data-descriptor": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/std-env": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz", - "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==", - "dev": true, - "license": "MIT" - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/stream-combiner": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", - "integrity": "sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer": "~0.1.1", - "through": "~2.3.4" - } - }, - "node_modules/stream-exhaust": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", - "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-shift": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", - "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/stream-throttle": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha512-889+B9vN9dq7/vLbGyuHeZ6/ctf5sNuGWsDy89uNxkFTAgzy0eK7+w5fL3KLNRTkLle7EgZGvHUphZW0Q26MnQ==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "commander": "^2.2.0", - "limiter": "^1.0.5" - }, - "bin": { - "throttleproxy": "bin/throttleproxy.js" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-utf8": "^0.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-literal": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz", - "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-tokens": "^9.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/strip-literal/node_modules/js-tokens": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/sver-compat": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", - "integrity": "sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/sync-child-process": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz", - "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==", - "license": "MIT", - "dependencies": { - "sync-message-port": "^1.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/sync-message-port": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.2.0.tgz", - "integrity": "sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg==", - "license": "MIT", - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/tailwindcss": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.3.tgz", - "integrity": "sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", - "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.15.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.17", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.17.tgz", - "integrity": "sha512-YR7PtUp6GMU91BgSJmlaX/rS2lGDbAF7D+Wtq7hRO+MiljNmodYvqslzCFiYVAgW+Qoaaia/QUIP4lGXufjdZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/textextensions": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-3.3.0.tgz", - "integrity": "sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://bevry.me/fund" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - }, - "node_modules/through2-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", - "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", - "dev": true, - "license": "MIT", - "dependencies": { - "through2": "~2.0.0", - "xtend": "~4.0.0" - } - }, - "node_modules/through2-filter/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/through2/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tiny-invariant": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", - "license": "MIT" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "license": "MIT" - }, - "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/tinypool": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", - "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - } - }, - "node_modules/tinyrainbow": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz", - "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/to-absolute-glob": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", - "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-absolute": "^1.0.0", - "is-negated-glob": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true, - "license": "MIT" - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/to-through": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", - "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "through2": "^2.0.3" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/to-through/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-loader": { - "version": "9.5.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.4.tgz", - "integrity": "sha512-nCz0rEwunlTZiy6rXFByQU1kVVpCIgUpc/psFiKVrUwrizdnIbRFu8w7bxhUF0X613DYwT4XzrZHpVyMe758hQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4", - "source-map": "^0.7.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-loader/node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ts-loader/node_modules/source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 12" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "license": "0BSD" - }, - "node_modules/type": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", - "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.41", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.41.tgz", - "integrity": "sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "license": "MIT", - "bin": { - "ua-parser-js": "script/cli.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/uglify-js": { - "version": "3.19.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", - "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/undertaker": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", - "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-flatten": "^1.0.1", - "arr-map": "^2.0.0", - "bach": "^1.0.0", - "collection-map": "^1.0.0", - "es6-weak-map": "^2.0.1", - "fast-levenshtein": "^1.0.0", - "last-run": "^1.1.0", - "object.defaults": "^1.0.0", - "object.reduce": "^1.0.0", - "undertaker-registry": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/undertaker-registry": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", - "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/undertaker/node_modules/fast-levenshtein": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", - "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", - "dev": true, - "license": "MIT" - }, - "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", - "license": "MIT" - }, - "node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "license": "MIT", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unique-stream": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.4.0.tgz", - "integrity": "sha512-V6QarSfeSgDipGA9EZdoIzu03ZDlOFkk+FbEP5cwgrZXN3iIkYR91IjU2EnM6rB835kGQsqHX8qncObTXV+6KA==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-stable-stringify-without-jsonify": "^1.0.1", - "through2-filter": "3.0.0" - } - }, - "node_modules/unist-util-is": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", - "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position/node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", - "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", - "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "license": "MIT", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true, - "license": "MIT" - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true, - "license": "ISC" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - }, - "bin": { - "uvu": "bin.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/uvu/node_modules/diff": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.2.tgz", - "integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/uvu/node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "license": "MIT" - }, - "node_modules/v8flags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", - "dev": true, - "license": "MIT", - "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", - "license": "MIT" - }, - "node_modules/value-or-function": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", - "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", - "license": "MIT" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", - "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message/node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/vfile-message/node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile/node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/vinyl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", - "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vinyl-fs": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", - "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", - "dev": true, - "license": "MIT", - "dependencies": { - "fs-mkdirp-stream": "^1.0.0", - "glob-stream": "^6.1.0", - "graceful-fs": "^4.0.0", - "is-valid-glob": "^1.0.0", - "lazystream": "^1.0.0", - "lead": "^1.0.0", - "object.assign": "^4.0.4", - "pumpify": "^1.3.5", - "readable-stream": "^2.3.3", - "remove-bom-buffer": "^3.0.0", - "remove-bom-stream": "^1.2.0", - "resolve-options": "^1.1.0", - "through2": "^2.0.0", - "to-through": "^2.0.0", - "value-or-function": "^3.0.0", - "vinyl": "^2.0.0", - "vinyl-sourcemap": "^1.1.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vinyl-fs/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/vinyl-sourcemap": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", - "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==", - "dev": true, - "license": "MIT", - "dependencies": { - "append-buffer": "^1.0.2", - "convert-source-map": "^1.5.0", - "graceful-fs": "^4.1.6", - "normalize-path": "^2.1.1", - "now-and-later": "^2.0.0", - "remove-bom-buffer": "^3.0.0", - "vinyl": "^2.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vinyl-sourcemap/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/vinyl-sourcemap/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vinyl-sourcemaps-apply": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", - "integrity": "sha512-+oDh3KYZBoZC8hfocrbrxbLUeaYtQK7J5WU5Br9VqWqmCll3tFJqKp97GC9GmMsVIL0qnx2DgEDVxdo5EZ5sSw==", - "dev": true, - "license": "ISC", - "dependencies": { - "source-map": "^0.5.1" - } - }, - "node_modules/vinyl-sourcemaps-apply/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vite": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", - "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.27.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite-node": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", - "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.4.1", - "es-module-lexer": "^1.7.0", - "pathe": "^2.0.3", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/vite-tsconfig-paths": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz", - "integrity": "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "globrex": "^0.1.2", - "tsconfck": "^3.0.3" - }, - "peerDependencies": { - "vite": "*" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/vite-tsconfig-paths/node_modules/tsconfck": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", - "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", - "dev": true, - "license": "MIT", - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^18 || >=20" - }, - "peerDependencies": { - "typescript": "^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/vitest": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", - "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/expect": "3.2.4", - "@vitest/mocker": "3.2.4", - "@vitest/pretty-format": "^3.2.4", - "@vitest/runner": "3.2.4", - "@vitest/snapshot": "3.2.4", - "@vitest/spy": "3.2.4", - "@vitest/utils": "3.2.4", - "chai": "^5.2.0", - "debug": "^4.4.1", - "expect-type": "^1.2.1", - "magic-string": "^0.30.17", - "pathe": "^2.0.3", - "picomatch": "^4.0.2", - "std-env": "^3.9.0", - "tinybench": "^2.9.0", - "tinyexec": "^0.3.2", - "tinyglobby": "^0.2.14", - "tinypool": "^1.1.1", - "tinyrainbow": "^2.0.0", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", - "vite-node": "3.2.4", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/debug": "^4.1.12", - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.2.4", - "@vitest/ui": "3.2.4", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/debug": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, - "node_modules/vitest-canvas-mock": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/vitest-canvas-mock/-/vitest-canvas-mock-0.3.3.tgz", - "integrity": "sha512-3P968tYBpqYyzzOaVtqnmYjqbe13576/fkjbDEJSfQAkHtC5/UjuRHOhFEN/ZV5HVZIkaROBUWgazDKJ+Ibw+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "jest-canvas-mock": "~2.5.2" - }, - "peerDependencies": { - "vitest": "*" - } - }, - "node_modules/vitest/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/walk": { - "version": "2.3.15", - "resolved": "https://registry.npmjs.org/walk/-/walk-2.3.15.tgz", - "integrity": "sha512-4eRTBZljBfIISK1Vnt69Gvr2w/wc3U6Vtrw7qiN5iqYJPH7LElcYh/iU4XWhdCy2dZqv1ToMyYlybDylfG/5Vg==", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "dependencies": { - "foreachasync": "^3.0.0" - } - }, - "node_modules/warning": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", - "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/watchpack": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", - "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/web-vitals": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-0.2.4.tgz", - "integrity": "sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/webpack": { - "version": "5.105.4", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.4.tgz", - "integrity": "sha512-jTywjboN9aHxFlToqb0K0Zs9SbBoW4zRUlGzI2tYNxVYcEi/IPpn+Xi4ye5jTLvX2YeLuic/IvxNot+Q1jMoOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.8", - "@types/json-schema": "^7.0.15", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.16.0", - "acorn-import-phases": "^1.0.3", - "browserslist": "^4.28.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.20.0", - "es-module-lexer": "^2.0.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.3.1", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.3", - "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.17", - "watchpack": "^2.5.1", - "webpack-sources": "^3.3.4" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-sources": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz", - "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/webpack/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack/node_modules/es-module-lexer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", - "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", - "dev": true, - "license": "MIT" - }, - "node_modules/webpack/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/webpack/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack/node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/which-typed-array": { - "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", - "dev": true, - "license": "MIT", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "dev": true, - "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/worker-loader": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-3.0.8.tgz", - "integrity": "sha512-XQyQkIFeRVC7f7uRhFdNMe/iJOdO6zxAaR3EWbDp45v3mDhrTi+++oswKNxShUNjPC/1xUp5DB29YKLhFo129g==", - "dev": true, - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/worker-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/worker-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/ws": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", - "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xmlhttprequest-ssl": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", - "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", - "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" - } - }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-to-json-schema": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", - "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", - "license": "ISC", - "peerDependencies": { - "zod": "^3.25 || ^4" - } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - } -} diff --git a/browser/package.json b/browser/package.json deleted file mode 100644 index e273292c1f..0000000000 --- a/browser/package.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "name": "react-samples-browser", - "description": "Browser application with examples of IgniteUI for React components", - "author": "Infragistics", - "version": "23.2.915", - "private": true, - "homepage": ".", - "scripts": { - "clean": "rm -rf build", - "lintBrowser": "eslint ./src/**/*.{ts,tsx} ./src/*.{ts,tsx}", - "lintSamples": "eslint ../samples/**/**/**/*.{ts,tsx} ./templates/**/src/*.{ts,tsx} ", - "start": "gulp updateBrowser && node --max-old-space-size=4096 node_modules/vite/bin/vite --port 4200", - "build": "gulp updateBrowser && node --max-old-space-size=10240 node_modules/vite/bin/vite build --mode production", - "host": "node --max-old-space-size=4096 node_modules/vite/bin/vite --port 4200", - "postbuild": "node tasks/copyWebConfig.js && gulp verifyBuild", - "test": "gulp updateBrowser && vitest --env=jsdom" - }, - "dependencies": { - "@types/file-saver": "^2.0.0", - "@types/react-loadable": "5.5.5", - "@types/react-router": "^5.1.19", - "@types/react-transition-group": "2.9.2", - "classnames": "2.3.1", - "dompurify": "^3.3.0", - "file-saver": "1.3.8", - "igniteui-dockmanager": "^1.17.0", - "igniteui-grid-lite": "~0.11.0", - "igniteui-i18n-resources": "^1.0.5", - "igniteui-react": "19.9.0", - "igniteui-react-charts": "19.6.0", - "igniteui-react-core": "19.6.0", - "igniteui-react-dashboards": "19.6.0", - "igniteui-react-data-grids": "19.6.0", - "igniteui-react-datasources": "19.6.0", - "igniteui-react-dockmanager": "19.7.0", - "igniteui-react-excel": "19.6.0", - "igniteui-react-gauges": "19.6.0", - "igniteui-react-grids": "19.7.0", - "igniteui-react-inputs": "19.6.0", - "igniteui-react-layouts": "19.6.0", - "igniteui-react-maps": "19.6.0", - "igniteui-react-spreadsheet": "19.6.0", - "igniteui-react-spreadsheet-chart-adapter": "19.6.0", - "igniteui-theming": "^25.0.1", - "igniteui-webcomponents": "^7.4.1", - "lit-html": "^3.2.0", - "marked": "^18.0.0", - "marked-shiki": "^1.2.1", - "prop-types": "15.7.2", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "react-icons": "^5.3.0", - "react-loadable": "5.5.0", - "react-router": "4.3.1", - "react-router-dom": "^5.2.0", - "react-transition-group": "4.4.2", - "shiki": "^4.3.0", - "tslib": "^2.4.0" - }, - "devDependencies": { - "@babel/plugin-proposal-private-property-in-object": "~7.21.11", - "@babel/plugin-transform-class-static-block": "^7.26.0", - "@babel/plugin-transform-private-property-in-object": "^7.25.9", - "@tailwindcss/vite": "^4.3.3", - "@types/gulp": "^4.0.6", - "@types/jest": "^29.2.0", - "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@types/react-router-dom": "^5.3.3", - "@typescript-eslint/eslint-plugin": "^5.51.0", - "@typescript-eslint/parser": "^5.51.0", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "browser-sync": "^3.0.4", - "del": "^5.1.0", - "eslint": "^8.33.0", - "eslint-config-prettier": "^6.11.0", - "eslint-config-react": "^1.1.7", - "eslint-plugin-prettier": "^3.1.3", - "eslint-plugin-react": "^7.20.0", - "event-stream": "^4.0.1", - "fs": "0.0.1-security", - "fs-extra": "^9.0.1", - "fs.extra": "^1.3.2", - "gulp": "^4.0.2", - "gulp-contains": "^1.2.0", - "gulp-exec": "^4.0.0", - "gulp-flatten": "^0.4.0", - "gulp-ignore": "^3.0.0", - "gulp-rename": "^2.0.0", - "gulp-replace": "^1.0.0", - "gulp-shell": "^0.8.0", - "gulp-uglify": "^3.0.2", - "gulpclass": "^0.2.0", - "path": "^0.12.7", - "prettier": "^2.0.5", - "react-dev-utils": "12.0.1", - "remark": "^14.0.2", - "remark-frontmatter": "^2.0.0", - "run-sequence": "^2.2.1", - "sass": "^1.97.3", - "tailwindcss": "^4.3.3", - "ts-loader": "^9.5.4", - "ts-node": "^10.9.2", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vite-tsconfig-paths": "^5.1.4", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", - "web-vitals": "^0.2.4", - "webpack": "^5.101.3", - "worker-loader": "^3.0.8" - }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - } -} diff --git a/browser/package_move.bat b/browser/package_move.bat deleted file mode 100644 index 9f0c60f213..0000000000 --- a/browser/package_move.bat +++ /dev/null @@ -1,44 +0,0 @@ -@echo off -ECHO moving IG development packages... -CD node_modules - -IF EXIST @infragistics\igniteui-react-charts\ES5 ( - MOVE /y @infragistics\igniteui-react-charts\ES5 igniteui-react-charts\ES5 - MOVE /y @infragistics\igniteui-react-charts\ES2015 igniteui-react-charts\ES2015 - MOVE /y @infragistics\igniteui-react-charts\License igniteui-react-charts\License - MOVE /y @infragistics\igniteui-react-charts\package.json igniteui-react-charts\package.json - MOVE /y @infragistics\igniteui-react-charts\README.md igniteui-react-charts\README.md -) - -IF EXIST @infragistics\igniteui-react-core\ES5 ( - MOVE /y @infragistics\igniteui-react-core\ES5 igniteui-react-core\ES5 - MOVE /y @infragistics\igniteui-react-core\ES2015 igniteui-react-core\ES2015 - MOVE /y @infragistics\igniteui-react-core\License igniteui-react-core\License - MOVE /y @infragistics\igniteui-react-core\package.json igniteui-react-core\package.json - MOVE /y @infragistics\igniteui-react-core\README.md igniteui-react-core\README.md -) - -IF EXIST @infragistics\igniteui-react-gauges ( - MOVE /y @infragistics\igniteui-react-gauges igniteui-react-gauges -) - -IF EXIST @infragistics\igniteui-react-grids ( - MOVE /y @infragistics\igniteui-react-grids igniteui-react-grids -) - -IF EXIST @infragistics\igniteui-react-data-grids ( - MOVE /y @infragistics\igniteui-react-data-grids igniteui-react-data-grids -) - -IF EXIST @infragistics\igniteui-react-dashboards ( - MOVE /y @infragistics\igniteui-react-dashboards igniteui-react-dashboards -) - -IF EXIST @infragistics\igniteui-react-excel ( - MOVE /y @infragistics\igniteui-react-excel igniteui-react-excel -) - -ECHO moving IG development packages... completed - - - diff --git a/browser/public/assets/comingSoon.svg b/browser/public/assets/comingSoon.svg deleted file mode 100644 index 78b51f3294..0000000000 --- a/browser/public/assets/comingSoon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/browser/public/favicon.ico b/browser/public/favicon.ico deleted file mode 100644 index bcd5dfd67c..0000000000 Binary files a/browser/public/favicon.ico and /dev/null differ diff --git a/browser/public/images/preview.PNG b/browser/public/images/preview.PNG deleted file mode 100644 index 71d9805a9a..0000000000 Binary files a/browser/public/images/preview.PNG and /dev/null differ diff --git a/browser/public/logo-ignite-ui.svg b/browser/public/logo-ignite-ui.svg deleted file mode 100644 index 84e0e0aa0f..0000000000 --- a/browser/public/logo-ignite-ui.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/browser/public/logo192.png b/browser/public/logo192.png deleted file mode 100644 index fc44b0a379..0000000000 Binary files a/browser/public/logo192.png and /dev/null differ diff --git a/browser/public/logo512.png b/browser/public/logo512.png deleted file mode 100644 index a4e47a6545..0000000000 Binary files a/browser/public/logo512.png and /dev/null differ diff --git a/browser/public/manifest.json b/browser/public/manifest.json deleted file mode 100644 index 7dcc735ca5..0000000000 --- a/browser/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "IG React Samples", - "name": "Code examples of how to use IgniteUI for React components", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/browser/public/meta.json b/browser/public/meta.json deleted file mode 100644 index abc53cbbe5..0000000000 --- a/browser/public/meta.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"23.2.915","date":"2026-09-28 13:50:58","note":"this file is auto-generated"} diff --git a/browser/public/robots.txt b/browser/public/robots.txt deleted file mode 100644 index e9e57dc4d4..0000000000 --- a/browser/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/browser/reactSamples.nuspec b/browser/reactSamples.nuspec deleted file mode 100644 index c2cd78b107..0000000000 --- a/browser/reactSamples.nuspec +++ /dev/null @@ -1,15 +0,0 @@ - - - - ReactSamplesGitHub$lang$ - Infragistics React Samples GitHub $lang$ - 22.1.9 - Infragistics - Infragistics, Inc. - false - This is a package that can be used with Octopus deployer - - - - - diff --git a/browser/src/index.css b/browser/src/index.css deleted file mode 100644 index f5c1f70900..0000000000 --- a/browser/src/index.css +++ /dev/null @@ -1,17 +0,0 @@ -@import "tailwindcss/utilities.css" layer(utilities); -@source "./samples/**/*.{ts,tsx,js,jsx}"; - -#root, -html, -body, -main { - background: transparent; -} - -.igx-grid__td img[src*="dl.infragistics.com/x/img/people"] { - width: 62px; - height: 62px; - object-fit: cover; - display: block; - margin: auto; -} diff --git a/browser/src/index.tsx b/browser/src/index.tsx deleted file mode 100644 index cf0ac0f45e..0000000000 --- a/browser/src/index.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import { BrowserRouter } from "react-router-dom"; - -import SamplesBrowser from "./navigation/SamplesBrowser"; -import RegisterServiceWorker from './serviceWorker'; -import { createRoot } from 'react-dom/client'; -import { initSampleThemeListener } from './sample-theme'; -import { initSampleSizeReporter } from './sample-size-reporter'; - -import './index.css'; // styles shared between all samples - -// console.log('SB index'); -// addEventListener('activate', function(event) { - // console.log('SB index activate'); - // event.waitUntil( - caches.keys().then(function(keyList) { - return Promise.all(keyList.map(function(key) { - console.log('SB index cache delete ' + key); - return caches.delete(key); - })); - }) - // ); -// }); - -// Lets the docs ThemingWidget re-theme this browser while embedded. -initSampleThemeListener(); -// Lets docs samples embedded with size their iframe to -// their content. Dormant unless the docs host asks for it. -initSampleSizeReporter(); - -const container = document.getElementById('root'); -const root = createRoot(container); -root.render( - - - -); - -// If you want your app to work offline and load faster, you can change -// unregister() to register() below. Note this comes with some pitfalls. -// Learn more about service workers: https://bit.ly/CRA-PWA -RegisterServiceWorker(); -// serviceWorker.unregister(); diff --git a/browser/src/jszip-shim.js b/browser/src/jszip-shim.js deleted file mode 100644 index 9de337232a..0000000000 --- a/browser/src/jszip-shim.js +++ /dev/null @@ -1,6 +0,0 @@ -import JSZip from 'jszip'; - -// This forces the export object to have a 'default' property -// that points to the constructor, satisfying the problematic code. -export default JSZip; -export { JSZip }; diff --git a/browser/src/logo.svg b/browser/src/logo.svg deleted file mode 100644 index 6b60c1042f..0000000000 --- a/browser/src/logo.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/browser/src/navigation/SamplesBrowser.css b/browser/src/navigation/SamplesBrowser.css deleted file mode 100644 index 27d5cfe8b3..0000000000 --- a/browser/src/navigation/SamplesBrowser.css +++ /dev/null @@ -1,206 +0,0 @@ -.sbRoot { - background: transparent; - /* background: blue; */ - /* background-color: blue; */ - display: flex; - flex-flow: row; - flex-wrap: nowrap; /* nowrap | wrap | wrap-reverse; */ - /* justify-content: flex-start; */ - /* justify-items: center; */ - /* align-items: center; */ - /* position: relative; */ - overflow-y: hidden; - - /* min-width: 300px; */ - width: calc(100% - 2rem); - height: calc(100% - 2rem); - width: 100%; - height: 100%; - padding: 0px; - margin: 0px; -} - -.sbToolbar { - width: 100%; - /* height: 1.5rem; */ - /* padding: 1rem; */ - align-items: center; - - background: rgb(72, 160, 248); - background: #323232; - color: #ffffff; - font-family: 'Titillium Web'; - text-transform: capitalize; -} - -.sbContent { - width: 100%; - height: 100%; - - /* background: rgb(248, 137, 72); */ - display: flex; - flex-flow: column; -} - -.sbSwitch { - width: 100%; - height: 100%; - - /* width: calc(100% - 1rem); - height: calc(100% - 1rem); - padding: 0.5rem; */ - - background: transparent; - display: flex; - flex-flow: column; -} - -.sbSidebar { - height: 100%; - padding-top: 0.0rem; - padding-bottom: 0.0rem; - padding-left: 0px; - padding-right: 0px; - - font-family: 'Titillium Web'; - background: #323232; - color: white; - display: flex; - flex-flow: column; - flex-wrap: nowrap; /* nowrap | wrap | wrap-reverse; */ - overflow-y: auto; - overflow-x: auto; - - -webkit-touch-callout: none; /* iOS Safari */ - -webkit-user-select: none; /* Safari */ - -khtml-user-select: none; /* Konqueror HTML */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* Internet Explorer/Edge */ - -o-user-select: none; - user-select: none; /* Non-prefixed version, currently*/ -} -.sbToolbarIcon { - display: inline-block; - font-size: 1rem; - vertical-align: middle; - height: 32px; -} - -.sbToolbarLabel { - vertical-align: middle; - height: 32px; - width: 100%; - line-height: 1.75; -} - -.sbToolbarVersion{ - vertical-align: middle; - height: 32px; - line-height: 1.75; - padding-right: 1rem; - text-transform: lowercase; - white-space: nowrap; -} - -.sbToolbarButton { - vertical-align: middle; - height: 32px; - line-height: 1.75; - color: white; - padding: 0.25rem; - margin-left: 0rem; - margin-right: 0.75rem; - font-size: medium; - display: inline-block; - height: 32px; -} - -.sbToolbarButton:hover { - background: rgba(204, 204, 204, 0.123); - transition: "all 0.0s"; -} - -.sbNavigation-group { - padding-top: 1rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - padding-right: 0px; - text-transform: uppercase; - cursor: default; -} - -.sbNavigation-control { - white-space: nowrap; - display: block; - cursor: pointer; - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 0.75rem; - padding-right: 0px; - /* color: #272727 !important; */ - color: #dbdbdb; - text-decoration: none; - text-transform: capitalize; -} - -.sbNavigation-control:hover { - /* background: #d8d6d6; */ - background: rgba(204, 204, 204, 0.123); - color: #ffffff !important; - transition: "all 0.0s"; -} - -.sbNavigation-link { - white-space: nowrap; - text-decoration: none; - text-transform: capitalize; - display: block; - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0rem; - padding-right: 0px; - color: #3e9feb !important; - display: flex; - flex-direction: row; - line-height: 1.5; -} - -.sbNavigation-link:hover { - /* background: #d8d6d6; */ - background: rgba(204, 204, 204, 0.123); - /* color: #ffffff !important; */ - transition: "all 0.0s"; -} - -.sbNavigation-link-symbol { - color: #3e9feb; - padding-left: 0.75rem; - padding-right: 0.5rem; - /* color: #272727 !important; */ - /* color: dodgerblue; */ - /* color: #dbdbdb; */ -} - -.sbNavigation-list { - color: #dbdbdb; - margin: 0rem; - font-size: medium; - display: block; - /* font-family: 'Kanit', sans-serif; */ - /* background: rgb(39, 39, 39); */ -} - -.sbToolbarMenu { - padding-left: 0.5rem; - padding-right: 0.5rem; - margin-left: 0.5rem;; - margin-right: 0.5rem; - font-size: 1.25rem; - align-self: center; - cursor: pointer; -} - -.sbToolbarMenu:hover { - background: rgba(204, 204, 204, 0.3); - transition: "all 0.0s"; -} diff --git a/browser/src/navigation/SamplesBrowser.json b/browser/src/navigation/SamplesBrowser.json deleted file mode 100644 index abc53cbbe5..0000000000 --- a/browser/src/navigation/SamplesBrowser.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"23.2.915","date":"2026-09-28 13:50:58","note":"this file is auto-generated"} diff --git a/browser/src/navigation/SamplesBrowser.tsx b/browser/src/navigation/SamplesBrowser.tsx deleted file mode 100644 index c35c14f183..0000000000 --- a/browser/src/navigation/SamplesBrowser.tsx +++ /dev/null @@ -1,324 +0,0 @@ -/* eslint-disable no-undef */ - -import * as React from "react"; -import { Route, Switch } from "react-router-dom" -import { withRouter } from 'react-router-dom'; - -import './Scrollbars.css'; -import './SamplesBrowser.css'; -import { SamplesRouter } from './SamplesRouter'; -import { SamplesLoading } from './SamplesLoading'; -import { SamplesFallback } from './SamplesFallback'; -import { RoutingSample } from './SamplesData'; -import { RoutingGroup } from './SamplesData'; - -import { gaugesRoutingData } from "../samples/gauges/RoutingData"; -import { gridsRoutingData } from "../samples/grids/RoutingData"; -import { chartsRoutingData } from "../samples/charts/RoutingData"; -import { mapsRoutingData } from "../samples/maps/RoutingData"; -import { excelRoutingData } from "../samples/excel/RoutingData"; -import { layoutsRoutingData } from "../samples/layouts/RoutingData"; -import { inputsRoutingData } from "../samples/inputs/RoutingData"; -import { editorsRoutingData } from "../samples/editors/RoutingData"; -import { notificationsRoutingData } from "../samples/notifications/RoutingData"; -import { menusRoutingData } from "../samples/menus/RoutingData"; -import { schedulingRoutingData } from "../samples/scheduling/RoutingData"; -import { interactionsRoutingData } from "../samples/interactions/RoutingData"; - -// import { SamplesBuster, SamplesBusterState } from '../SamplesBuster'; -import SamplesCache from './SamplesCache'; -import BrowserInfo from './BrowserInfo.json'; - -class SampleInfo { - public name: string; - public control: string; - public group: string; - public route: string; -} - -export class SamplesBrowser extends React.Component -{ - public navLinks: any[] = []; - public navRoutes: any[] = []; - public navLookup: Map = new Map(); - public navRoutingProviders: RoutingGroup[] = []; - public igrVersion: string = ""; - public sbContent: any; - - public styles: any = { - toolbarIcon: { display: "inline-block", fontSize: "1rem",}, - toolbarBtn: { color: "white", padding: "0.25rem", marginLeft: "0rem", marginRight: "0.75rem", fontSize: "medium", display: "inline-block", height: "32px",}, - // sidebarGroupBtn: { color: "black", padding: "0.15rem", marginRight: "5px", display: "inline-block", fontSize: "small", height: "32px"}, - // sidebarLinksBtn: { color: "inherit", padding: "0rem", marginLeft: "0.3rem", marginRight: "0.4rem", - // display: "inline-block", fontSize: "small", verticalAlign: "middle", - // // height: "32px" - // }, - - // searchStyle: {fontSize: "1rem", verticalAlign: "middle", color: "white", }, - iconStyle: {fontSize: "1rem", verticalAlign: "middle" }, - } - - private sbContentRef(r: any) { - this.sbContent = r; - } - - constructor(props: any) { - super(props); - this.sbContentRef = this.sbContentRef.bind(this); - // clearing browser cache - SamplesCache.clear(); - - // logging versions of IG packages - for (const item of BrowserInfo) { - if (item.name && item.name.indexOf('igniteui-react-core') >= 0) { - console.log('SB uses v' + item.version + ' ' + item.name); - this.igrVersion = item.version.toString(); - break; - } - } - - this.onSampleOpen = this.onSampleOpen.bind(this); - this.onComponentToggle = this.onComponentToggle.bind(this); - // console.log(TestsRoutes.DataRoutes) - - const routingProviders: RoutingGroup[] = [ - inputsRoutingData, - layoutsRoutingData, - gridsRoutingData, - chartsRoutingData, - mapsRoutingData, - gaugesRoutingData, - excelRoutingData, - editorsRoutingData, - notificationsRoutingData, - menusRoutingData, - schedulingRoutingData, - interactionsRoutingData - ]; - - for (const routingData of routingProviders) { - this.populateLookup(routingData); - this.populateRoutes(SamplesRouter.getRoutes(routingData)); - this.navRoutingProviders.push(routingData); - } - this.state = { - SidebarVisible: true, - SelectedGroup: '', - SelectedControl: '', - SelectedSample: 'react samples browser', - ExpandedComponents: {}, - } - } - - public populateLookup(group: RoutingGroup) { - for (const component of group.components) { - for (const route of component.routes) { - const info = new SampleInfo(); - info.group = group.name; - info.route = route.path; - info.control = component.name; - info.name = route.name; - this.navLookup.set('/samples' + route.path, info); - this.navLookup.set(route.path, info); - } - } - } - - public populateLinks(array: any[]) { - for (const item of array) { - this.navLinks.push(item); - } - } - - public populateRoutes(array: any[]) { - for (const item of array) { - this.navRoutes.push(item); - } - } - - public onSampleOpen = (sample: RoutingSample) => { - let sbRoute = window.location.pathname; - console.log("SB nav " + sbRoute); - // const item = event.currentTarget.id; - // console.log('onControlClick ' + item); - if (this.navLookup.has(sample.path)) { - // let info = this.navLookup.get(sample.path); - // this.setState({ - // SelectedSample: info.control + ' ' + info.name, - // }); - } - }; - - public onComponentToggle = (componentName: string) => { - const expanded = { ...this.state.ExpandedComponents }; - if (expanded[componentName]) { - delete expanded[componentName]; - } else { - expanded[componentName] = true; - } - this.setState({ ExpandedComponents: expanded }); - }; - - public renderNavLinks() { - const navLinks: any[] = []; - for (const routingData of this.navRoutingProviders) { - const links = SamplesRouter.getLinks( - routingData, - this.onSampleOpen, - this.onComponentToggle, - this.state.ExpandedComponents - ); - navLinks.push(...links); - } - return navLinks; - } - - public render() { - - const sbBrowsingMode = SamplesRouter.isBrowsingMode(); - const sbSidebarStyle: any = {}; // sbBrowsingMode && this.state.SidebarVisible ? { display: "flex" } : { display: "none" }; - const sbToolbarStyle: any = {}; // sbBrowsingMode ? { display: "flex" } : { display: "none" }; - const sbSwitchStyle: any = {}; // sbBrowsingMode ? { width: "calc(100% - 270px)" } : { width: "100%" }; - const sbContentStyle: any = {}; - - const sbToolbarHeight = 50; - const sbSidebarWidth = 270; - if (sbBrowsingMode && this.state.SidebarVisible) { - sbSidebarStyle.minWidth = sbSidebarWidth + "px"; - sbSidebarStyle.width = sbSidebarWidth + "px"; - sbSidebarStyle.display = "flex"; - sbContentStyle.width = "calc(100% - " + sbSidebarWidth + "px)"; - } else { - sbSidebarStyle.display = "none"; - sbSidebarStyle.minWidth = "0px"; - sbSidebarStyle.width = "0px"; - } - - if (sbBrowsingMode) { - sbToolbarStyle.display = "flex"; - sbToolbarStyle.height = sbToolbarHeight + "px"; - // sbToolbarStyle.width = "calc(100% - " + sbSidebarWidth + "px)"; - // sbContentStyle.width = "calc(100% - " + sbSidebarWidth + "px)"; - // sbSwitchStyle.width = "calc(100% - " + sbSidebarWidth + "px)"; - sbSwitchStyle.height = "calc(100% - " + sbToolbarHeight + "px)"; - sbSwitchStyle.width = "100%"; - // sbSidebarStyle.minWidth = sbSidebarWidth + "px"; - } else { - sbToolbarStyle.display = "none"; - // sbContentStyle.width = "100%"; - sbSwitchStyle.width = "100%"; - sbSwitchStyle.height = "100%"; - } - - let sbRoute = window.location.pathname; - // console.log("SB nav " + sbRoute); - - // NOTE SamplesBuster is not used at this moment: - // return ( - // - // {({ loading, isLatest, isRefreshed, refreshWebsite }: SamplesBusterState) => { - // // const sbReloads = window.localStorage.getItem("sb-reloads"); - // if (loading) return (); - // if (!loading && !isLatest && !isRefreshed) { - // console.log('SB refreshing'); - // refreshWebsite(); - // // window.localStorage.setItem("sb-reloads", "true"); - // } - return ( -
-
- {/* Samples home */} - {this.renderNavLinks()} -
- -
-
- -
☰
- - {/*
{this.state.SelectedControl}
*/} - {/* */} - {/*
-
*/} -
{this.state.SelectedSample}
- {/* */} -
v{this.igrVersion}
-
- {/* Loading...}> */} - }> -
- - {/* */} - {/* */} - -
- {/* style={{paddingLeft: "1rem"}}>Please select a sample */} - - -

Please select a sample

- {/* */} -
- {/* routes to all samples */} - {this.navRoutes} - - {/* routing fallback displayed when a sample is missing */} - - - - -
- - -
- -
- ); - // }} - // - // ); - } - - public componentDidMount() { - this.updateToolbar(); - this.sbContent.addEventListener('wheel', this.preventDocumentScroll, { passive: false}); - } - - public componentWillUnmount() { - this.sbContent.removeEventListener('wheel', this.preventDocumentScroll); - } - - public componentDidUpdate(prevProps: any) { - if (this.props.location.pathname !== prevProps.location.pathname) { - // console.log('Route change!'); - this.updateToolbar(); - } - } - - public updateToolbar() { - if (this.navLookup.has(this.props.location.pathname)) { - let info = this.navLookup.get(this.props.location.pathname); - this.setState({ - SelectedGroup: info.group, - SelectedControl: info.control, - // SelectedSample: info.name, - SelectedSample: info.control + ' - ' + info.name, - }); - } - } - public onSidebarVisibleClick = (event: any) => { - event.preventDefault(); - event.stopPropagation(); - - this.setState({ - SidebarVisible: !this.state.SidebarVisible, - }); - }; - - private preventDocumentScroll(event:any) { - const eventPath = event.composedPath(); - if (event.target.outerHTML.toLowerCase().includes('igx') && eventPath.filter(x => x.classList?.value === 'igx-grid__tbody').length > 0) { - event.preventDefault(); - } - } -} - -export default withRouter(SamplesBrowser); \ No newline at end of file diff --git a/browser/src/navigation/SamplesBuster.tsx b/browser/src/navigation/SamplesBuster.tsx deleted file mode 100644 index 45c1ac72c2..0000000000 --- a/browser/src/navigation/SamplesBuster.tsx +++ /dev/null @@ -1,130 +0,0 @@ -/* eslint-disable react/prop-types */ -/* eslint-disable no-undef */ - -import React from 'react'; -import SamplesBrowser from './SamplesBrowser.json'; -const currentVersion = SamplesBrowser.version; - -// // version from response - first param, local version second param -// const isObsolete = (versionA: string, versionB: string) => { -// const versionsA = versionA.split(/\./g); -// const versionsB = versionB.split(/\./g); - -// while (versionsA.length || versionsB.length) { -// const a = Number(versionsA.shift()); -// const b = Number(versionsB.shift()); -// // eslint-disable-next-line no-continue -// if (a === b) continue; -// // eslint-disable-next-line no-restricted-globals -// const comp = a > b || isNaN(b); -// console.log('isObsolete ' + a + ' vs ' + b + ' = ' + comp ); -// return comp; // a > b || isNaN(b); -// } -// return false; -// // return versionA !== versionB; -// }; - -interface SamplesBusterProps { - children(state: SamplesBusterState): any; -} - -export interface SamplesBusterState { - loading: boolean; - isLatest: boolean; - isRefreshed: boolean; - refreshWebsite(): any; -} - -export class SamplesBuster extends React.Component { - - constructor(props: SamplesBusterProps) { - super(props); - - this.state = { - loading: true, - isLatest: false, - isRefreshed: false, - refreshWebsite: () => { - - if (this.state.isRefreshed) { - console.log('SB cache refreshed ...') - return; - } - - this.setState({ isLatest: true, isRefreshed: true }, () => { - console.log('SB cache clearing ...') - if (caches) { - // Service worker cache should be cleared with caches.delete() - caches.keys().then(function(names) { - for (let name of names) caches.delete(name); - }); - } - console.log('SB cache hard reloading...') - // delete browser cache and hard reload - window.location.reload(); - } ); - } - }; - } - - public async fetchMetadata(): Promise { - let metaVersion = '1.0.0'; - let metaURL = '/meta.json'; - let pathname = window.location.pathname; - // if (pathname !== '/') { - // metaURL = pathname + '/meta.json'; - // } - console.log('SB version location: ' + pathname); - console.log('SB version public: ' + import.meta.env.BASE_URL); - try { - const response = await fetch(metaURL); - const metaJson = await response.json(); // may error if there is no body - metaVersion = metaJson.version; - console.log('SB version: '+ metaURL + ' ver: ' + metaVersion); - } catch (ex) { - console.log('SB fetch error \n' + ex); - // this.loadOfflineData(index, observer); - } - return new Promise((resolve, reject) => { resolve(metaVersion); }); - } - - public isObsolete(versionA: string, versionB: string) { - const versionsA = versionA.split(/\./g); - const versionsB = versionB.split(/\./g); - while (versionsA.length || versionsB.length) { - const a = Number(versionsA.shift()); - const b = Number(versionsB.shift()); - // eslint-disable-next-line no-continue - if (a === b) continue; - // eslint-disable-next-line no-restricted-globals - const comp = a < b || isNaN(b); - console.log('SB version isObsolete ' + a + ' vs ' + b + ' = ' + comp ); - return comp; // a > b || isNaN(b); - } - return false; - } - - componentDidMount() { - - this.fetchMetadata() - .then((cachedVersion) => { - console.log('SB version meta.json file: ' + cachedVersion + ' vs cacheApp.json ' + currentVersion) - if (this.isObsolete(cachedVersion, currentVersion)) { - console.log(`SB version changed from ${cachedVersion} to ${currentVersion}. Forcing refresh`); - this.setState({ loading: false, isLatest: false }); - } else { - console.log(`SB version not changed ${currentVersion}. No cache refresh.`); - this.setState({ loading: false, isLatest: true }); - } - }); - } - - render() { - const { loading, isLatest, isRefreshed, refreshWebsite } = this.state; - return this.props.children({ loading, isLatest, isRefreshed, refreshWebsite }); - // return this.props.children(this.state); - } - -} - -// export default SamplesBuster; diff --git a/browser/src/navigation/SamplesCache.tsx b/browser/src/navigation/SamplesCache.tsx deleted file mode 100644 index d0f0d68940..0000000000 --- a/browser/src/navigation/SamplesCache.tsx +++ /dev/null @@ -1,86 +0,0 @@ - -import SamplesBrowser from './SamplesBrowser.json'; - -export default class SamplesCache { - - public static clear() - { - const browserVersion = SamplesBrowser.version; - const browserDate = SamplesBrowser.date; - - console.log('SB built ver: ' + browserVersion + " built date: " + browserDate) - - this.fetchMetadata() - .then((cachedVersion) => { - console.log('SB cache meta.json ver: ' + cachedVersion + ' vs SamplesBrowser.json ver: ' + browserVersion) - if (this.isObsolete(cachedVersion, browserVersion)) { - console.log('SB cache clearing ...') - // if (caches) { - // // Service worker cache should be cleared with caches.delete() - // caches.keys().then(function(names) { - // for (let name of names) caches.delete(name); - // }); - // } - // console.log('SB cache hard reloading...') - // delete browser cache and hard reload - // window.location.reload(); - } else { - console.log(`SB cache no refresh.`); - } - }); - - // console.log('SB cache clearing ...') - if (caches) { - // Service worker cache should be cleared with caches.delete() - caches.keys().then(function(names) { - for (let name of names) { - console.log('SB cache clearing ' + name) - caches.delete(name); - } - }); - } - } - - public static async fetchMetadata(): Promise { - let metaVersion = '1.0.0'; - let metaURL = '/meta.json'; - - let origin = window.location.origin; - if (origin.indexOf("localhost") >= 0) { - metaURL = "http://localhost:4200/meta.json"; - } else if (origin.indexOf("staging.infragistics.com") >= 0) { - metaURL = "https://staging.infragistics.com/react-demos/meta.json"; - } else { // we are on production - metaURL = "https://infragistics.com/react-demos/meta.json"; - } - - console.log('SB cache url: ' + metaURL); - try { - const response = await fetch(metaURL); - const metaJson = await response.json(); // may error if there is no body - metaVersion = metaJson.version; - // console.log('SB version: '+ metaURL + ' ver: ' + metaVersion); - } catch (ex) { - console.log('SB cache fetch error \n' + ex); - // this.loadOfflineData(index, observer); - } - return new Promise((resolve, reject) => { resolve(metaVersion); }); - } - - // version from response - first param, local version second param - public static isObsolete(versionA: string, versionB: string): boolean { - const versionsA = versionA.split(/\./g); - const versionsB = versionB.split(/\./g); - while (versionsA.length || versionsB.length) { - const a = Number(versionsA.shift()); - const b = Number(versionsB.shift()); - // eslint-disable-next-line no-continue - if (a === b) continue; - // eslint-disable-next-line no-restricted-globals - const comp = a < b || isNaN(b); - console.log('SB cache isObsolete ' + a + ' vs ' + b + ' = ' + comp ); - return comp; // a > b || isNaN(b); - } - return false; - } -} \ No newline at end of file diff --git a/browser/src/navigation/SamplesData.ts b/browser/src/navigation/SamplesData.ts deleted file mode 100644 index c3a9c5727e..0000000000 --- a/browser/src/navigation/SamplesData.ts +++ /dev/null @@ -1,18 +0,0 @@ -export class RoutingGroup { - public name: string; - // public path: string; - public components: RoutingComponent[]; -} - -export class RoutingComponent { - public name: string; - // public path: string; - public routes: RoutingSample[]; -} - -export class RoutingSample { - public name: string; - public path: string; - public component: any; - public showLink: boolean; -} \ No newline at end of file diff --git a/browser/src/navigation/SamplesFallback.css b/browser/src/navigation/SamplesFallback.css deleted file mode 100644 index ec1c11151a..0000000000 --- a/browser/src/navigation/SamplesFallback.css +++ /dev/null @@ -1,82 +0,0 @@ - -.sbFallback { - background: white; - /* background: blue; */ - /* background-color: blue; */ - display: flex; - flex-flow: column; - flex-wrap: nowrap; /* nowrap | wrap | wrap-reverse; */ - /* justify-content: flex-start; */ - /* justify-items: center; */ - /* align-items: center; */ - /* position: relative; */ - overflow-y: hidden; - width: calc(100% - 10px); - height: calc(100% - 10px); - padding: 5px; - margin: 0px; - - color: rgb(66, 66, 66); - font-size: small; - font-family: Verdana, Geneva, Tahoma, sans-serif; -} - -.sbFallbackBackground { - align-items: center; - background: #f2f2f2; - display: flex; - flex-direction: column; - justify-content: center; - margin-top: -0.5rem; - overflow: hidden; - padding-bottom: 1rem; - width: 100%; -} - -.sbFallbackCaption { - font-size: 0.75rem; - text-align: center; -} - -.sbFallbackContainer { - align-items: center; - display: flex; - flex-direction: column; - height: 100%; - justify-content: center; - overflow: hidden; - width: 100%; -} - -.sbFallbackHeader { - font-size: 1.5rem; - font-weight: bold; - text-align: center; -} - -.sbFallbackIcon { - max-height: calc(100% - 6rem); - max-width: 30rem; -} - -.sbFallbackInfo { - color: black; -} - -.sbFallbackRoute { - padding-top: 0.5rem; - color: black; -} - -.sbFallbackSuggestion { - padding-top: 0.5rem; - display: flex; - flex-direction: row; -} - -.sbFallbackUrl { - color: rgb(10, 124, 238); - font-size: small; - font-family: Verdana, Geneva, Tahoma, sans-serif; - padding-left: 5px; -} \ No newline at end of file diff --git a/browser/src/navigation/SamplesFallback.tsx b/browser/src/navigation/SamplesFallback.tsx deleted file mode 100644 index 32106f7630..0000000000 --- a/browser/src/navigation/SamplesFallback.tsx +++ /dev/null @@ -1,40 +0,0 @@ -import * as React from "react"; -import './SamplesFallback.css' - -export class SamplesFallback extends React.Component { - - public render(): JSX.Element { - - let sbRoute = window.location.pathname; - sbRoute = sbRoute.replace("/react-demos",""); - sbRoute = sbRoute.replace("/samples",""); - let sbUrl = window.location.origin; - if (sbUrl.indexOf("localhost") >= 0) { - sbUrl = "https://localhost:4200/react-demos/samples"; - } else if (sbUrl.indexOf("staging.infragistics.com") >= 0) { - sbUrl = "https://staging.infragistics.com/react-demos/samples"; - } else { // we are on production{ // we are on production - sbUrl = "https://infragistics.com/react-demos/samples"; - } - - var sbHome = "https://www.infragistics.com/react-demos/samples"; - var sbMissing = "https://www.infragistics.com/react-demos" + sbRoute; - - return ( -
- -
-
Coming Soon...
-
- This example is under development. We are almost done! -
-
- - Meanwhile, you can explore all Ignite UI for React samples on this website - -
-
-
- ); - } -} diff --git a/browser/src/navigation/SamplesLoading.css b/browser/src/navigation/SamplesLoading.css deleted file mode 100644 index 5d9d91db02..0000000000 --- a/browser/src/navigation/SamplesLoading.css +++ /dev/null @@ -1,68 +0,0 @@ -.spinner-container { - width: calc(100% - 2rem); - height: calc(100% - 2rem); - padding: 1rem; - position: relative; - background: transparent; -} - -.spinner-container > .spinner { - width: 50px; - height: 50px; - position: absolute; - left: 50%; - top: 50%; - transform-origin: top left; - transform: translate(-50%,-50%); - /* border-radius: 50%; - box-shadow: inset 3px 3px 3px red; - animation: spinner 1.2s linear infinite; */ - border-radius: 50%; - border: 3px solid #ccc; - border-top-color: #07d; - animation: spinner .9s linear infinite; -} - -.spinner-container > .info { - display: inline-block; - width: 100%; - height: 100%; - border-radius: 50%; - position: absolute; - left: 50%; - top: 50%; - transform: translate(-50%,-50%); - background-color: black; - text-align: center; - line-height: 100%; - color: white; -} - -@keyframes spinner { - 0% { - transform: rotate(0deg) translate(-50%,-50%); - } - 100% { - transform: rotate(360deg) translate(-50%,-50%); - } -} - -/* https://stephanwagner.me/only-css-loading-spinner */ -/* @keyframes spinner { - to {transform: rotate(360deg);} -} */ -/* .spinner:before { - content: ''; - box-sizing: border-box; - position: absolute; - top: 50%; - left: 50%; - width: 50px; - height: 50px; - margin-top: -25px; - margin-left: -25px; - border-radius: 50%; - border: 3px solid #ccc; - border-top-color: #07d; - animation: spinner .9s linear infinite; -} */ \ No newline at end of file diff --git a/browser/src/navigation/SamplesLoading.tsx b/browser/src/navigation/SamplesLoading.tsx deleted file mode 100644 index c1f3f2a1f3..0000000000 --- a/browser/src/navigation/SamplesLoading.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import './SamplesLoading.css' - -export class SamplesLoading extends React.Component { - - public render(): JSX.Element { - - return ( -
- < span className="spinner"> -
- ); - } -} \ No newline at end of file diff --git a/browser/src/navigation/SamplesRouter.tsx b/browser/src/navigation/SamplesRouter.tsx deleted file mode 100644 index 706c470549..0000000000 --- a/browser/src/navigation/SamplesRouter.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import React from 'react'; -import { Route, Link } from "react-router-dom" - -// import { SamplesEmbedded }from "./SamplesEmbedded"; -// import { SamplesBrowser } from "./SamplesBrowser"; -import { RoutingComponent } from './SamplesData'; -import { RoutingGroup } from './SamplesData'; -import { RoutingSample } from './SamplesData'; -// import { RouteInfo } from './SamplesData'; extends React.Component - -export class SamplesRouter { - - public static isBrowsingMode(): boolean { - - let location = window.location; - // console.log("SB nav: " + location.href); - // console.log("SB origin '" + location.origin + "'"); - // console.log("SB pathname '" + location.pathname + "'"); - - if (location.pathname === "/" || - location.pathname.indexOf("/samples") >= 0) { - return true; - } - return false; - } - - public static getRoutes(group: RoutingGroup): Route[] { - let routes: any[] = []; - - for (const component of group.components ) { - for (const sample of component.routes ) { - let url = sample.path; - // console.log('getRoutes ' + typeof(sample.component) + " " + sample.path); - // console.log('getRoutes sample.name ' + sample.name); - routes.push ( - - // - ); - routes.push ( - - ); - } - } - return routes; - } - - public static getLinks( - group: RoutingGroup, - onSampleOpen: (sample: RoutingSample) => void, - onComponentToggle: (componentName: string) => void, - expandedComponents: { [key: string]: boolean } - ): any[] { - let lists: any[] = []; - // if (routePrefix === undefined) { routePrefix = ""; } - - lists.push(
{group.name}
); - for (const component of group.components ) { - let links: any[] = []; - for (const sample of component.routes ) { - if (!sample.showLink) { - continue; - } - let id = 'sbNav-link-' + sample.path; - let url = '/samples' + sample.path; - links.push ( - // - //
★
- //
{sample.name}
- //
- this.onClickLink(sample, onSampleOpen)}> -
─
-
{sample.name}
- - ); - } - let navListID = 'sbNav-list-' + component.name - let isExpanded = expandedComponents[component.name] === true; - let navList =
{links}
; - - let navComponentID = 'sbNav-component-' + component.name - let navComponent =
onComponentToggle(component.name)}>➤ {component.name}
; - - lists.push(navComponent); - lists.push(navList); - } - return lists; - } - - public static onClickLink(sample: RoutingSample, onSampleOpen: (sample: RoutingSample) => void): void { - // console.log('onClickOpen ' + window.location.pathname ); - let selectedLink = "sbNav-link-" + sample.path; - document.querySelectorAll(".sbNavigation-link").forEach(element => { - let navLink = element as HTMLElement; - if (navLink) { - navLink.setAttribute("style", navLink.id === selectedLink ? "color: #55a8fa;" : "color: #dbdbdb;"); - } - }); - onSampleOpen(sample); - } -} diff --git a/browser/src/navigation/Scrollbars.css b/browser/src/navigation/Scrollbars.css deleted file mode 100644 index 2ae99971dc..0000000000 --- a/browser/src/navigation/Scrollbars.css +++ /dev/null @@ -1,28 +0,0 @@ -/* scrollbar styles */ -::-webkit-scrollbar -{ - width: 0.625rem; - height: 0.625rem; - background: #444444; - margin-top: 0.25rem; -} -::-webkit-scrollbar-track -{ - border-radius: 1px; - background: transparent; - /* -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); */ -} -::-webkit-scrollbar-thumb -{ - width: 0.5rem; - border-radius: 0.5rem; - background: #c2c2c2; - /* -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3); */ -} -::-webkit-scrollbar-thumb:hover { - background: #a1a1a1; -} - -::-webkit-scrollbar-corner { - background: transparent; -} \ No newline at end of file diff --git a/browser/src/sample-theme.ts b/browser/src/sample-theme.ts deleted file mode 100644 index 3b2ba115b0..0000000000 --- a/browser/src/sample-theme.ts +++ /dev/null @@ -1,193 +0,0 @@ -/** - * sample-theme.ts - * - * Lets the docs site re-theme this samples browser while it is embedded in a - * docs `` iframe. - * - * The docs ThemingWidget dispatches `igd-theme-change`; the Sample widget - * bridges that to `postMessage({ type: 'igd-sample-theme', theme, mode })` on - * the frame, and re-posts the current selection on every iframe `load`. Here we - * validate the sender and swap the Ignite UI theme stylesheets to match. - * - * Dormant unless a trusted docs host asks for a theme. - */ - -import { configureTheme } from 'igniteui-react'; - -type ThemeName = 'material' | 'fluent' | 'bootstrap' | 'indigo'; -type ThemeMode = 'light' | 'dark' | 'system'; -type ResolvedMode = 'light' | 'dark'; - -interface ThemeMessage { - type?: string; - event?: string; - theme?: string; - themeName?: string; - mode?: string; -} - -type CssLoader = () => Promise<{ default: string }>; - -const MESSAGE_TYPE = 'igd-sample-theme'; -const STYLE_ATTR = 'data-igd-sample-theme'; -const DARK_QUERY = '(prefers-color-scheme: dark)'; - -// Vite only bundles dynamic imports with literal specifiers, so every -// mode/theme pair is spelled out. `?inline` yields the CSS as a string instead -// of injecting a sheet, which lets selections replace each other in owned -// <g id="document"><polyline class="cls-1" points="25 9 25 29 7 29 7 3 16 3"/><line class="cls-1" x1="16" x2="25" y1="3" y2="9"/><line class="cls-1" x1="16" x2="16" y1="3" y2="9"/><line class="cls-1" x1="25" x2="16" y1="9" y2="9"/><line class="cls-1" x1="11" x2="16" y1="17" y2="17"/><line class="cls-1" x1="11" x2="20" y1="21" y2="21"/></g></svg>'; +registerIconFromText("file", fileIconText, "material"); - public maskRef: IgrMaskInput; +export default function MaskInputValueModes() { + const maskRef = useRef<IgrMaskInput>(null); + const [value, setValue] = useState(""); + const [mode, setMode] = useState<MaskInputValueMode>("raw"); - constructor(props: any) { - super(props); - this.onMaskRef = this.onMaskRef.bind(this); - this.state = { value: "", mode: "raw" }; - - const fileIconText = '<svg width="32px" height="32px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><defs><style>.cls-1{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;}</style></defs><title/><g id="document"><polyline class="cls-1" points="25 9 25 29 7 29 7 3 16 3"/><line class="cls-1" x1="16" x2="25" y1="3" y2="9"/><line class="cls-1" x1="16" x2="16" y1="3" y2="9"/><line class="cls-1" x1="25" x2="16" y1="9" y2="9"/><line class="cls-1" x1="11" x2="16" y1="17" y2="17"/><line class="cls-1" x1="11" x2="20" y1="21" y2="21"/></g></svg>'; - registerIconFromText("file", fileIconText, "material"); - } - - public render(): JSX.Element { - return ( - <div className="container sample center"> - <IgrMaskInput ref={this.onMaskRef} onInput={(e) => this.onInputChange(e)}> - <span slot="prefix"> - <IgrIcon name="file" collection="material"></IgrIcon> - </span> - </IgrMaskInput> - - <div id="content" style={{ width: "100%", height: "inherit" }}> - <IgrRadioGroup alignment="horizontal" style={{ marginBottom: "10px" }}> - <IgrRadio name="position" value="raw" label-position="after" onChange={(e) => this.onRadioChange(e)} checked={this.state.mode === "raw"}><span>raw</span></IgrRadio> - <IgrRadio name="position" value="withFormatting" label-position="after" onChange={(e) => this.onRadioChange(e)} checked={this.state.mode === "withFormatting"}><span>withFormatting</span></IgrRadio> - </IgrRadioGroup> - - <span id="value-span">Value: {this.state.value}</span> - </div> - </div> - ); - } - - public onMaskRef(mask: IgrMaskInput) { - if (!mask) { return; } - this.maskRef = mask; - } - - public onInputChange(event: any) { + function onInputChange(event: CustomEvent<string>) { console.log(event) - if (this.maskRef) { - this.setState({ value: this.maskRef.value }) + if (maskRef.current) { + setValue(maskRef.current.value); } } - public onRadioChange(event: any) { - if (this.maskRef) { - const mode = event.detail.value; - this.maskRef.valueMode = mode; - this.setState({ - mode: mode, - value: this.maskRef.value - }); + function onRadioChange(event: IgrRadioChangeEventArgs) { + const mask = maskRef.current; + if (!mask) { + return; } + + const next = event.detail.value as MaskInputValueMode; + mask.valueMode = next; + setMode(next); + setValue(mask.value); } + + return ( + <div className="container sample center"> + <IgrMaskInput ref={maskRef} onInput={onInputChange}> + <span slot="prefix"> + <IgrIcon name="file" collection="material"></IgrIcon> + </span> + </IgrMaskInput> + + <div id="content" style={{ width: "100%", height: "inherit" }}> + <IgrRadioGroup alignment="horizontal" style={{ marginBottom: "10px" }}> + <IgrRadio name="position" value="raw" label-position="after" onChange={onRadioChange} checked={mode === "raw"}><span>raw</span></IgrRadio> + <IgrRadio name="position" value="withFormatting" label-position="after" onChange={onRadioChange} checked={mode === "withFormatting"}><span>withFormatting</span></IgrRadio> + </IgrRadioGroup> + + <span id="value-span">Value: {value}</span> + </div> + </div> + ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(<MaskInputValueModes />); diff --git a/samples/inputs/mask-input/value-modes/tsconfig.json b/samples/inputs/mask-input/value-modes/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/mask-input/value-modes/tsconfig.json +++ b/samples/inputs/mask-input/value-modes/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/qr-code/corner-shapes/.devcontainer/devcontainer.json b/samples/inputs/qr-code/corner-shapes/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/qr-code/corner-shapes/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/corner-shapes/.eslintrc.js b/samples/inputs/qr-code/corner-shapes/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/qr-code/corner-shapes/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/qr-code/corner-shapes/README.md b/samples/inputs/qr-code/corner-shapes/README.md index 26d8bef974..9e53147370 100644 --- a/samples/inputs/qr-code/corner-shapes/README.md +++ b/samples/inputs/qr-code/corner-shapes/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Corner Shapes feature using [Qr Code](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Corner <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/qr-code/corner-shapes" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/qr-code/corner-shapes?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/qr-code/corner-shapes ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/qr-code/corner-shapes/package.json b/samples/inputs/qr-code/corner-shapes/package.json index 284ff6980f..b06ecbac2b 100644 --- a/samples/inputs/qr-code/corner-shapes/package.json +++ b/samples/inputs/qr-code/corner-shapes/package.json @@ -12,26 +12,31 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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"] + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] } diff --git a/samples/inputs/qr-code/corner-shapes/sandbox.config.json b/samples/inputs/qr-code/corner-shapes/sandbox.config.json deleted file mode 100644 index 07f53508eb..0000000000 --- a/samples/inputs/qr-code/corner-shapes/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/corner-shapes/src/index.tsx b/samples/inputs/qr-code/corner-shapes/src/index.tsx index ae9a13024e..4cac3d1321 100644 --- a/samples/inputs/qr-code/corner-shapes/src/index.tsx +++ b/samples/inputs/qr-code/corner-shapes/src/index.tsx @@ -29,5 +29,5 @@ export default function QrCodeCornerShapes() { ); } -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(<QrCodeCornerShapes />); diff --git a/samples/inputs/qr-code/corner-shapes/tsconfig.json b/samples/inputs/qr-code/corner-shapes/tsconfig.json index 36c8880d24..e27a22be9b 100644 --- a/samples/inputs/qr-code/corner-shapes/tsconfig.json +++ b/samples/inputs/qr-code/corner-shapes/tsconfig.json @@ -1,29 +1,24 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], "module": "esnext", - "target": "es5", - "lib": ["es6", "dom"], - "sourceMap": true, - "allowJs": true, + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": ["node_modules", "build", "scripts", "acceptance-tests", "webpack", "jest", "src/setupTests.ts", "**/odatajs-4.0.0.js", "config-overrides.js"], - "include": ["src"] -} \ No newline at end of file + "include": [ + "src" + ] +} diff --git a/samples/inputs/qr-code/dot-shapes/.devcontainer/devcontainer.json b/samples/inputs/qr-code/dot-shapes/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/qr-code/dot-shapes/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/dot-shapes/.eslintrc.js b/samples/inputs/qr-code/dot-shapes/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/qr-code/dot-shapes/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/qr-code/dot-shapes/README.md b/samples/inputs/qr-code/dot-shapes/README.md index d1398d2150..1d899d4255 100644 --- a/samples/inputs/qr-code/dot-shapes/README.md +++ b/samples/inputs/qr-code/dot-shapes/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Dot Shapes feature using [Qr Code](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Dot Sha <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/qr-code/dot-shapes" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/qr-code/dot-shapes?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/qr-code/dot-shapes ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/qr-code/dot-shapes/package.json b/samples/inputs/qr-code/dot-shapes/package.json index 51ecf156a5..b7c60f2d4d 100644 --- a/samples/inputs/qr-code/dot-shapes/package.json +++ b/samples/inputs/qr-code/dot-shapes/package.json @@ -12,26 +12,31 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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"] + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] } diff --git a/samples/inputs/qr-code/dot-shapes/sandbox.config.json b/samples/inputs/qr-code/dot-shapes/sandbox.config.json deleted file mode 100644 index 07f53508eb..0000000000 --- a/samples/inputs/qr-code/dot-shapes/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/dot-shapes/src/index.tsx b/samples/inputs/qr-code/dot-shapes/src/index.tsx index 0165dfa84f..e382948094 100644 --- a/samples/inputs/qr-code/dot-shapes/src/index.tsx +++ b/samples/inputs/qr-code/dot-shapes/src/index.tsx @@ -29,5 +29,5 @@ export default function QrCodeDotShapes() { ); } -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(<QrCodeDotShapes />); diff --git a/samples/inputs/qr-code/dot-shapes/tsconfig.json b/samples/inputs/qr-code/dot-shapes/tsconfig.json index 36c8880d24..e27a22be9b 100644 --- a/samples/inputs/qr-code/dot-shapes/tsconfig.json +++ b/samples/inputs/qr-code/dot-shapes/tsconfig.json @@ -1,29 +1,24 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], "module": "esnext", - "target": "es5", - "lib": ["es6", "dom"], - "sourceMap": true, - "allowJs": true, + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": ["node_modules", "build", "scripts", "acceptance-tests", "webpack", "jest", "src/setupTests.ts", "**/odatajs-4.0.0.js", "config-overrides.js"], - "include": ["src"] -} \ No newline at end of file + "include": [ + "src" + ] +} diff --git a/samples/inputs/qr-code/error-correction/.devcontainer/devcontainer.json b/samples/inputs/qr-code/error-correction/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/qr-code/error-correction/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/error-correction/.eslintrc.js b/samples/inputs/qr-code/error-correction/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/qr-code/error-correction/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/qr-code/error-correction/README.md b/samples/inputs/qr-code/error-correction/README.md index 5af5cd1e72..182dcd017f 100644 --- a/samples/inputs/qr-code/error-correction/README.md +++ b/samples/inputs/qr-code/error-correction/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Error Correction feature using [Qr Code](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Error C <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/qr-code/error-correction" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/qr-code/error-correction?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/qr-code/error-correction ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/qr-code/error-correction/package.json b/samples/inputs/qr-code/error-correction/package.json index d689cc6f2a..2bd5f777b1 100644 --- a/samples/inputs/qr-code/error-correction/package.json +++ b/samples/inputs/qr-code/error-correction/package.json @@ -12,26 +12,31 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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"] + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] } diff --git a/samples/inputs/qr-code/error-correction/sandbox.config.json b/samples/inputs/qr-code/error-correction/sandbox.config.json deleted file mode 100644 index 07f53508eb..0000000000 --- a/samples/inputs/qr-code/error-correction/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/error-correction/src/index.tsx b/samples/inputs/qr-code/error-correction/src/index.tsx index fa398453f8..5ed54bfda6 100644 --- a/samples/inputs/qr-code/error-correction/src/index.tsx +++ b/samples/inputs/qr-code/error-correction/src/index.tsx @@ -29,5 +29,5 @@ export default function QrCodeErrorCorrection() { ); } -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(<QrCodeErrorCorrection />); diff --git a/samples/inputs/qr-code/error-correction/tsconfig.json b/samples/inputs/qr-code/error-correction/tsconfig.json index 36c8880d24..e27a22be9b 100644 --- a/samples/inputs/qr-code/error-correction/tsconfig.json +++ b/samples/inputs/qr-code/error-correction/tsconfig.json @@ -1,29 +1,24 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], "module": "esnext", - "target": "es5", - "lib": ["es6", "dom"], - "sourceMap": true, - "allowJs": true, + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": ["node_modules", "build", "scripts", "acceptance-tests", "webpack", "jest", "src/setupTests.ts", "**/odatajs-4.0.0.js", "config-overrides.js"], - "include": ["src"] -} \ No newline at end of file + "include": [ + "src" + ] +} diff --git a/samples/inputs/qr-code/logo/.devcontainer/devcontainer.json b/samples/inputs/qr-code/logo/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/qr-code/logo/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/logo/.eslintrc.js b/samples/inputs/qr-code/logo/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/qr-code/logo/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/qr-code/logo/README.md b/samples/inputs/qr-code/logo/README.md index a02c782952..efde245e27 100644 --- a/samples/inputs/qr-code/logo/README.md +++ b/samples/inputs/qr-code/logo/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Logo feature using [Qr Code](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Logo fe <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/qr-code/logo" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/qr-code/logo?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/qr-code/logo ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/qr-code/logo/package.json b/samples/inputs/qr-code/logo/package.json index e09ab6c1dd..b999d76155 100644 --- a/samples/inputs/qr-code/logo/package.json +++ b/samples/inputs/qr-code/logo/package.json @@ -12,26 +12,31 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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"] + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] } diff --git a/samples/inputs/qr-code/logo/sandbox.config.json b/samples/inputs/qr-code/logo/sandbox.config.json deleted file mode 100644 index 07f53508eb..0000000000 --- a/samples/inputs/qr-code/logo/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/logo/src/index.tsx b/samples/inputs/qr-code/logo/src/index.tsx index 9de581d64a..12dab00f25 100644 --- a/samples/inputs/qr-code/logo/src/index.tsx +++ b/samples/inputs/qr-code/logo/src/index.tsx @@ -18,5 +18,5 @@ export default function QrCodeLogo() { ); } -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(<QrCodeLogo />); diff --git a/samples/inputs/qr-code/logo/tsconfig.json b/samples/inputs/qr-code/logo/tsconfig.json index 36c8880d24..e27a22be9b 100644 --- a/samples/inputs/qr-code/logo/tsconfig.json +++ b/samples/inputs/qr-code/logo/tsconfig.json @@ -1,29 +1,24 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], "module": "esnext", - "target": "es5", - "lib": ["es6", "dom"], - "sourceMap": true, - "allowJs": true, + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": ["node_modules", "build", "scripts", "acceptance-tests", "webpack", "jest", "src/setupTests.ts", "**/odatajs-4.0.0.js", "config-overrides.js"], - "include": ["src"] -} \ No newline at end of file + "include": [ + "src" + ] +} diff --git a/samples/inputs/qr-code/overview/.devcontainer/devcontainer.json b/samples/inputs/qr-code/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/qr-code/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/overview/.eslintrc.js b/samples/inputs/qr-code/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/qr-code/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/qr-code/overview/README.md b/samples/inputs/qr-code/overview/README.md index ef96d4c4f3..e6fd986ef6 100644 --- a/samples/inputs/qr-code/overview/README.md +++ b/samples/inputs/qr-code/overview/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Overview feature using [Qr Code](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/qr-code/overview" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/qr-code/overview?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/qr-code/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/qr-code/overview/package.json b/samples/inputs/qr-code/overview/package.json index cc87a9875e..06839ccc03 100644 --- a/samples/inputs/qr-code/overview/package.json +++ b/samples/inputs/qr-code/overview/package.json @@ -12,26 +12,31 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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"] + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] } diff --git a/samples/inputs/qr-code/overview/sandbox.config.json b/samples/inputs/qr-code/overview/sandbox.config.json deleted file mode 100644 index 07f53508eb..0000000000 --- a/samples/inputs/qr-code/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/overview/src/index.tsx b/samples/inputs/qr-code/overview/src/index.tsx index b510fc7535..6ec440eb2e 100644 --- a/samples/inputs/qr-code/overview/src/index.tsx +++ b/samples/inputs/qr-code/overview/src/index.tsx @@ -100,5 +100,5 @@ export default function QrCodeOverview() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(<QrCodeOverview />); diff --git a/samples/inputs/qr-code/overview/tsconfig.json b/samples/inputs/qr-code/overview/tsconfig.json index 36c8880d24..e27a22be9b 100644 --- a/samples/inputs/qr-code/overview/tsconfig.json +++ b/samples/inputs/qr-code/overview/tsconfig.json @@ -1,29 +1,24 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], "module": "esnext", - "target": "es5", - "lib": ["es6", "dom"], - "sourceMap": true, - "allowJs": true, + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": ["node_modules", "build", "scripts", "acceptance-tests", "webpack", "jest", "src/setupTests.ts", "**/odatajs-4.0.0.js", "config-overrides.js"], - "include": ["src"] -} \ No newline at end of file + "include": [ + "src" + ] +} diff --git a/samples/inputs/qr-code/size/.devcontainer/devcontainer.json b/samples/inputs/qr-code/size/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/qr-code/size/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/size/.eslintrc.js b/samples/inputs/qr-code/size/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/qr-code/size/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/qr-code/size/README.md b/samples/inputs/qr-code/size/README.md index 73939bf731..dd985484c3 100644 --- a/samples/inputs/qr-code/size/README.md +++ b/samples/inputs/qr-code/size/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Size feature using [Qr Code](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Size fe <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/qr-code/size" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/qr-code/size?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/qr-code/size ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/qr-code/size/package.json b/samples/inputs/qr-code/size/package.json index 9230bf459b..b8115ec46b 100644 --- a/samples/inputs/qr-code/size/package.json +++ b/samples/inputs/qr-code/size/package.json @@ -12,26 +12,31 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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"] + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] } diff --git a/samples/inputs/qr-code/size/sandbox.config.json b/samples/inputs/qr-code/size/sandbox.config.json deleted file mode 100644 index 07f53508eb..0000000000 --- a/samples/inputs/qr-code/size/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/size/src/index.tsx b/samples/inputs/qr-code/size/src/index.tsx index a0e8d52659..422198320a 100644 --- a/samples/inputs/qr-code/size/src/index.tsx +++ b/samples/inputs/qr-code/size/src/index.tsx @@ -29,5 +29,5 @@ export default function QrCodeSize() { ); } -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(<QrCodeSize />); diff --git a/samples/inputs/qr-code/size/tsconfig.json b/samples/inputs/qr-code/size/tsconfig.json index 36c8880d24..e27a22be9b 100644 --- a/samples/inputs/qr-code/size/tsconfig.json +++ b/samples/inputs/qr-code/size/tsconfig.json @@ -1,29 +1,24 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], "module": "esnext", - "target": "es5", - "lib": ["es6", "dom"], - "sourceMap": true, - "allowJs": true, + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": ["node_modules", "build", "scripts", "acceptance-tests", "webpack", "jest", "src/setupTests.ts", "**/odatajs-4.0.0.js", "config-overrides.js"], - "include": ["src"] -} \ No newline at end of file + "include": [ + "src" + ] +} diff --git a/samples/inputs/qr-code/styling/.devcontainer/devcontainer.json b/samples/inputs/qr-code/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/qr-code/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/styling/.eslintrc.js b/samples/inputs/qr-code/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/qr-code/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/qr-code/styling/README.md b/samples/inputs/qr-code/styling/README.md index 1fb622de7d..bd44c32dc1 100644 --- a/samples/inputs/qr-code/styling/README.md +++ b/samples/inputs/qr-code/styling/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Styling feature using [Qr Code](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/qr-code/styling" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/qr-code/styling?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/qr-code/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/qr-code/styling/package.json b/samples/inputs/qr-code/styling/package.json index f696f758e4..24d6ced143 100644 --- a/samples/inputs/qr-code/styling/package.json +++ b/samples/inputs/qr-code/styling/package.json @@ -12,26 +12,31 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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"] + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] } diff --git a/samples/inputs/qr-code/styling/sandbox.config.json b/samples/inputs/qr-code/styling/sandbox.config.json deleted file mode 100644 index 07f53508eb..0000000000 --- a/samples/inputs/qr-code/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/styling/src/index.tsx b/samples/inputs/qr-code/styling/src/index.tsx index 88047fbe1a..281fe95151 100644 --- a/samples/inputs/qr-code/styling/src/index.tsx +++ b/samples/inputs/qr-code/styling/src/index.tsx @@ -43,5 +43,5 @@ export default function QrCodeStyling() { ); } -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(<QrCodeStyling />); diff --git a/samples/inputs/qr-code/styling/tsconfig.json b/samples/inputs/qr-code/styling/tsconfig.json index 36c8880d24..e27a22be9b 100644 --- a/samples/inputs/qr-code/styling/tsconfig.json +++ b/samples/inputs/qr-code/styling/tsconfig.json @@ -1,29 +1,24 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], "module": "esnext", - "target": "es5", - "lib": ["es6", "dom"], - "sourceMap": true, - "allowJs": true, + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": ["node_modules", "build", "scripts", "acceptance-tests", "webpack", "jest", "src/setupTests.ts", "**/odatajs-4.0.0.js", "config-overrides.js"], - "include": ["src"] -} \ No newline at end of file + "include": [ + "src" + ] +} diff --git a/samples/inputs/qr-code/tailwind-styling/.devcontainer/devcontainer.json b/samples/inputs/qr-code/tailwind-styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/qr-code/tailwind-styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/tailwind-styling/.eslintrc.js b/samples/inputs/qr-code/tailwind-styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/qr-code/tailwind-styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/qr-code/tailwind-styling/README.md b/samples/inputs/qr-code/tailwind-styling/README.md index 6428d4d031..aa175581e0 100644 --- a/samples/inputs/qr-code/tailwind-styling/README.md +++ b/samples/inputs/qr-code/tailwind-styling/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Tailwind Styling feature using [Qr Code](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Tailwin <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/qr-code/tailwind-styling" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/qr-code/tailwind-styling?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/qr-code/tailwind-styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/qr-code/tailwind-styling/package.json b/samples/inputs/qr-code/tailwind-styling/package.json index f06cfc06db..76a5f8b539 100644 --- a/samples/inputs/qr-code/tailwind-styling/package.json +++ b/samples/inputs/qr-code/tailwind-styling/package.json @@ -12,28 +12,33 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { "@tailwindcss/vite": "^4.3.3", - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "@vitest/browser": "^5.0.2", "tailwindcss": "^4.3.3", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "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"] + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] } diff --git a/samples/inputs/qr-code/tailwind-styling/sandbox.config.json b/samples/inputs/qr-code/tailwind-styling/sandbox.config.json deleted file mode 100644 index 07f53508eb..0000000000 --- a/samples/inputs/qr-code/tailwind-styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/qr-code/tailwind-styling/src/index.tsx b/samples/inputs/qr-code/tailwind-styling/src/index.tsx index 6927d1c5f6..28eac5ecb6 100644 --- a/samples/inputs/qr-code/tailwind-styling/src/index.tsx +++ b/samples/inputs/qr-code/tailwind-styling/src/index.tsx @@ -51,5 +51,5 @@ export default function QrCodeTailwindStyling() { ); } -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(<QrCodeTailwindStyling />); diff --git a/samples/inputs/qr-code/tailwind-styling/tsconfig.json b/samples/inputs/qr-code/tailwind-styling/tsconfig.json index 36c8880d24..e27a22be9b 100644 --- a/samples/inputs/qr-code/tailwind-styling/tsconfig.json +++ b/samples/inputs/qr-code/tailwind-styling/tsconfig.json @@ -1,29 +1,24 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], "module": "esnext", - "target": "es5", - "lib": ["es6", "dom"], - "sourceMap": true, - "allowJs": true, + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": ["node_modules", "build", "scripts", "acceptance-tests", "webpack", "jest", "src/setupTests.ts", "**/odatajs-4.0.0.js", "config-overrides.js"], - "include": ["src"] -} \ No newline at end of file + "include": [ + "src" + ] +} diff --git a/samples/inputs/radio/alignment/.devcontainer/devcontainer.json b/samples/inputs/radio/alignment/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/radio/alignment/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/radio/alignment/.eslintrc.js b/samples/inputs/radio/alignment/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/radio/alignment/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/radio/alignment/README.md b/samples/inputs/radio/alignment/README.md index 111c6c5428..9a57ddc75f 100644 --- a/samples/inputs/radio/alignment/README.md +++ b/samples/inputs/radio/alignment/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Alignment feature using [Radio](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Alignme <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/radio/alignment" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/radio/alignment?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/radio/alignment ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/radio/alignment/package.json b/samples/inputs/radio/alignment/package.json index f4220b7e4b..40d0a52d37 100644 --- a/samples/inputs/radio/alignment/package.json +++ b/samples/inputs/radio/alignment/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/radio/alignment/sandbox.config.json b/samples/inputs/radio/alignment/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/radio/alignment/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/radio/alignment/src/index.tsx b/samples/inputs/radio/alignment/src/index.tsx index 7263095a79..98e9b8e6aa 100644 --- a/samples/inputs/radio/alignment/src/index.tsx +++ b/samples/inputs/radio/alignment/src/index.tsx @@ -1,31 +1,23 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrRadio, IgrRadioGroup } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class RadioAlignment extends React.Component<any, any> { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( - <div className="container sample"> - <div className="container" style={{width: "430px", height: "25px", border: "1px solid gainsboro"}}> - <IgrRadioGroup alignment="horizontal"> - <IgrRadio name="fruit" value="apple">Apple</IgrRadio> - <IgrRadio name="fruit" value="banana" checked={true}>Banana</IgrRadio> - <IgrRadio name="fruit" value="Mango">Mango</IgrRadio> - <IgrRadio name="fruit" value="orange">Orange</IgrRadio> - </IgrRadioGroup> - </div> +export default function RadioAlignment() { + return ( + <div className="container sample"> + <div className="container" style={{width: "430px", height: "25px", border: "1px solid gainsboro"}}> + <IgrRadioGroup alignment="horizontal"> + <IgrRadio name="fruit" value="apple">Apple</IgrRadio> + <IgrRadio name="fruit" value="banana" checked={true}>Banana</IgrRadio> + <IgrRadio name="fruit" value="Mango">Mango</IgrRadio> + <IgrRadio name="fruit" value="orange">Orange</IgrRadio> + </IgrRadioGroup> </div> - ); - } + </div> + ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(<RadioAlignment/>); diff --git a/samples/inputs/radio/alignment/tsconfig.json b/samples/inputs/radio/alignment/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/radio/alignment/tsconfig.json +++ b/samples/inputs/radio/alignment/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/radio/disabled/.devcontainer/devcontainer.json b/samples/inputs/radio/disabled/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/radio/disabled/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/radio/disabled/.eslintrc.js b/samples/inputs/radio/disabled/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/radio/disabled/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/radio/disabled/README.md b/samples/inputs/radio/disabled/README.md index dd582a00cf..ed647ada28 100644 --- a/samples/inputs/radio/disabled/README.md +++ b/samples/inputs/radio/disabled/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Disabled feature using [Radio](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Disable <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/radio/disabled" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/radio/disabled?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/radio/disabled ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/radio/disabled/package.json b/samples/inputs/radio/disabled/package.json index 6c1653a4f2..96739d0c4f 100644 --- a/samples/inputs/radio/disabled/package.json +++ b/samples/inputs/radio/disabled/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/radio/disabled/sandbox.config.json b/samples/inputs/radio/disabled/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/radio/disabled/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/radio/disabled/src/index.tsx b/samples/inputs/radio/disabled/src/index.tsx index 6aa302f281..69d7e4aa34 100644 --- a/samples/inputs/radio/disabled/src/index.tsx +++ b/samples/inputs/radio/disabled/src/index.tsx @@ -1,31 +1,23 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrRadio, IgrRadioGroup } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class RadioDisabled extends React.Component<any, any> { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( - <div className="container sample"> - <div className="container" style={{width: "430px", height: "25px", border: "1px solid gainsboro"}}> - <IgrRadioGroup alignment="horizontal"> - <IgrRadio name="fruit" value="banana" disabled={true}>Banana</IgrRadio> - <IgrRadio name="fruit" value="Mango">Mango</IgrRadio> - <IgrRadio name="fruit" value="apple">Apple</IgrRadio> - <IgrRadio name="fruit" value="orange">Orange</IgrRadio> - </IgrRadioGroup> - </div> +export default function RadioDisabled() { + return ( + <div className="container sample"> + <div className="container" style={{width: "430px", height: "25px", border: "1px solid gainsboro"}}> + <IgrRadioGroup alignment="horizontal"> + <IgrRadio name="fruit" value="banana" disabled={true}>Banana</IgrRadio> + <IgrRadio name="fruit" value="Mango">Mango</IgrRadio> + <IgrRadio name="fruit" value="apple">Apple</IgrRadio> + <IgrRadio name="fruit" value="orange">Orange</IgrRadio> + </IgrRadioGroup> </div> - ); - } + </div> + ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(<RadioDisabled/>); diff --git a/samples/inputs/radio/disabled/tsconfig.json b/samples/inputs/radio/disabled/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/radio/disabled/tsconfig.json +++ b/samples/inputs/radio/disabled/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/radio/group/.devcontainer/devcontainer.json b/samples/inputs/radio/group/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/radio/group/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/radio/group/.eslintrc.js b/samples/inputs/radio/group/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/radio/group/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/radio/group/README.md b/samples/inputs/radio/group/README.md index 288dbeb8e7..06099e17a6 100644 --- a/samples/inputs/radio/group/README.md +++ b/samples/inputs/radio/group/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Group feature using [Radio](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Group f <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/radio/group" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/radio/group?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/radio/group ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/radio/group/package.json b/samples/inputs/radio/group/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/inputs/radio/group/package.json +++ b/samples/inputs/radio/group/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/radio/group/sandbox.config.json b/samples/inputs/radio/group/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/radio/group/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/radio/group/src/index.tsx b/samples/inputs/radio/group/src/index.tsx index 23ec92f422..fb4ba39038 100644 --- a/samples/inputs/radio/group/src/index.tsx +++ b/samples/inputs/radio/group/src/index.tsx @@ -1,31 +1,23 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrRadio, IgrRadioGroup } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class RadioGroup extends React.Component<any, any> { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( - <div className="container sample"> - <div className="container" style={{width: "430px", height: "25px", border: "1px solid gainsboro"}}> - <IgrRadioGroup alignment="horizontal"> - <IgrRadio name="fruit" value="apple">Apple</IgrRadio> - <IgrRadio name="fruit" value="banana" checked={true}>Banana</IgrRadio> - <IgrRadio name="fruit" value="Mango">Mango</IgrRadio> - <IgrRadio name="fruit" value="orange">Orange</IgrRadio> - </IgrRadioGroup> - </div> +export default function RadioGroup() { + return ( + <div className="container sample"> + <div className="container" style={{width: "430px", height: "25px", border: "1px solid gainsboro"}}> + <IgrRadioGroup alignment="horizontal"> + <IgrRadio name="fruit" value="apple">Apple</IgrRadio> + <IgrRadio name="fruit" value="banana" checked={true}>Banana</IgrRadio> + <IgrRadio name="fruit" value="Mango">Mango</IgrRadio> + <IgrRadio name="fruit" value="orange">Orange</IgrRadio> + </IgrRadioGroup> </div> - ); - } + </div> + ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(<RadioGroup/>); diff --git a/samples/inputs/radio/group/tsconfig.json b/samples/inputs/radio/group/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/radio/group/tsconfig.json +++ b/samples/inputs/radio/group/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/radio/invalid/.devcontainer/devcontainer.json b/samples/inputs/radio/invalid/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/radio/invalid/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/radio/invalid/.eslintrc.js b/samples/inputs/radio/invalid/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/radio/invalid/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/radio/invalid/README.md b/samples/inputs/radio/invalid/README.md index 515f5a419c..85322d7fe8 100644 --- a/samples/inputs/radio/invalid/README.md +++ b/samples/inputs/radio/invalid/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Invalid feature using [Radio](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Invalid <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/radio/invalid" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/radio/invalid?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/radio/invalid ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/radio/invalid/package.json b/samples/inputs/radio/invalid/package.json index 53a80ec25f..136cc51225 100644 --- a/samples/inputs/radio/invalid/package.json +++ b/samples/inputs/radio/invalid/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/radio/invalid/sandbox.config.json b/samples/inputs/radio/invalid/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/radio/invalid/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/radio/invalid/src/index.tsx b/samples/inputs/radio/invalid/src/index.tsx index 718d2bfe2c..88a387dbeb 100644 --- a/samples/inputs/radio/invalid/src/index.tsx +++ b/samples/inputs/radio/invalid/src/index.tsx @@ -1,26 +1,18 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrRadio } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class RadioInvalid extends React.Component<any, any> { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( - <div className="container sample"> - <div className="container" style={{width: "430px", height: "25px", border: "1px solid gainsboro"}}> - <IgrRadio value="banana" invalid={true}>Invalid</IgrRadio> - </div> +export default function RadioInvalid() { + return ( + <div className="container sample"> + <div className="container" style={{width: "430px", height: "25px", border: "1px solid gainsboro"}}> + <IgrRadio value="banana" invalid={true}>Invalid</IgrRadio> </div> - ); - } + </div> + ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(<RadioInvalid/>); diff --git a/samples/inputs/radio/invalid/tsconfig.json b/samples/inputs/radio/invalid/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/radio/invalid/tsconfig.json +++ b/samples/inputs/radio/invalid/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/radio/label/.devcontainer/devcontainer.json b/samples/inputs/radio/label/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/radio/label/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/radio/label/.eslintrc.js b/samples/inputs/radio/label/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/radio/label/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/radio/label/README.md b/samples/inputs/radio/label/README.md index 9ce3512f4d..5e7bb869ad 100644 --- a/samples/inputs/radio/label/README.md +++ b/samples/inputs/radio/label/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Label feature using [Radio](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Label f <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/radio/label" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/radio/label?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/radio/label ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/radio/label/package.json b/samples/inputs/radio/label/package.json index dadcb97b08..5ae5c807f2 100644 --- a/samples/inputs/radio/label/package.json +++ b/samples/inputs/radio/label/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/radio/label/sandbox.config.json b/samples/inputs/radio/label/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/radio/label/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/radio/label/src/index.tsx b/samples/inputs/radio/label/src/index.tsx index 7c94a5902c..cb6b56c4c3 100644 --- a/samples/inputs/radio/label/src/index.tsx +++ b/samples/inputs/radio/label/src/index.tsx @@ -1,38 +1,30 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import './RadioLabelStyles.css'; import { IgrRadio, IgrRadioGroup } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class RadioLabel extends React.Component<any, any> { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( - <div className="container sample"> - <div className="container" style={{width: "430px", height:"60px", border: "1px solid gainsboro"}}> - <IgrRadioGroup alignment="vertical"> - <IgrRadio name="fruit" value="apple" labelPosition="before">Apple</IgrRadio> - <div className="wrapper"> - <span id="radio-label">Orange</span> - <IgrRadio - name="fruit" - labelPosition="before" - aria-labelledby="radio-label" - value="orange"> - </IgrRadio> - </div> - </IgrRadioGroup> - </div> +export default function RadioLabel() { + return ( + <div className="container sample"> + <div className="container" style={{width: "430px", height:"60px", border: "1px solid gainsboro"}}> + <IgrRadioGroup alignment="vertical"> + <IgrRadio name="fruit" value="apple" labelPosition="before">Apple</IgrRadio> + <div className="wrapper"> + <span id="radio-label">Orange</span> + <IgrRadio + name="fruit" + labelPosition="before" + aria-labelledby="radio-label" + value="orange"> + </IgrRadio> + </div> + </IgrRadioGroup> </div> - ); - } + </div> + ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(<RadioLabel/>); diff --git a/samples/inputs/radio/label/tsconfig.json b/samples/inputs/radio/label/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/radio/label/tsconfig.json +++ b/samples/inputs/radio/label/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/radio/styling/.devcontainer/devcontainer.json b/samples/inputs/radio/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/radio/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/radio/styling/.eslintrc.js b/samples/inputs/radio/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/radio/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/radio/styling/README.md b/samples/inputs/radio/styling/README.md index 3c90427420..efb3a3f83e 100644 --- a/samples/inputs/radio/styling/README.md +++ b/samples/inputs/radio/styling/README.md @@ -1,6 +1,3 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - This folder contains implementation of React application with example of Styling feature using [Radio](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/radio/styling" rel="noopener noreferrer"> <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/radio/styling?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> </body> </html> @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/radio/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/radio/styling/package.json b/samples/inputs/radio/styling/package.json index 2796e7134d..fe13bdc987 100644 --- a/samples/inputs/radio/styling/package.json +++ b/samples/inputs/radio/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/radio/styling/sandbox.config.json b/samples/inputs/radio/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/radio/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/radio/styling/src/index.tsx b/samples/inputs/radio/styling/src/index.tsx index b6304472d3..ecc8546558 100644 --- a/samples/inputs/radio/styling/src/index.tsx +++ b/samples/inputs/radio/styling/src/index.tsx @@ -1,31 +1,23 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import { IgrRadio, IgrRadioGroup } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; import './index.css'; -export default class RadioStyling extends React.Component<any, any> { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( - <div className="container sample"> - <div className="container" style={{width: "430px", height: "120px", border: "1px solid gainsboro"}}> - <IgrRadioGroup alignment="vertical"> - <IgrRadio name="fruit" value="apple">Apple</IgrRadio> - <IgrRadio name="fruit" value="banana" checked={true}>Banana</IgrRadio> - <IgrRadio name="fruit" value="Mango">Mango</IgrRadio> - <IgrRadio name="fruit" value="orange">Orange</IgrRadio> - </IgrRadioGroup> - </div> +export default function RadioStyling() { + return ( + <div className="container sample"> + <div className="container" style={{width: "430px", height: "120px", border: "1px solid gainsboro"}}> + <IgrRadioGroup alignment="vertical"> + <IgrRadio name="fruit" value="apple">Apple</IgrRadio> + <IgrRadio name="fruit" value="banana" checked={true}>Banana</IgrRadio> + <IgrRadio name="fruit" value="Mango">Mango</IgrRadio> + <IgrRadio name="fruit" value="orange">Orange</IgrRadio> + </IgrRadioGroup> </div> - ); - } + </div> + ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(<RadioStyling/>); diff --git a/samples/inputs/radio/styling/tsconfig.json b/samples/inputs/radio/styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/radio/styling/tsconfig.json +++ b/samples/inputs/radio/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/rating/basic/.devcontainer/devcontainer.json b/samples/inputs/rating/basic/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/rating/basic/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/rating/basic/.eslintrc.js b/samples/inputs/rating/basic/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/rating/basic/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/rating/basic/README.md b/samples/inputs/rating/basic/README.md deleted file mode 100644 index 570397f923..0000000000 --- a/samples/inputs/rating/basic/README.md +++ /dev/null @@ -1,56 +0,0 @@ -<!-- NOTE: do not change this file because it's auto re-generated from template: --> -<!-- https://github.com/IgniteUI/igniteui-react-examples/tree/vnext/templates/sample/ReadMe.md --> - -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. - - -<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> - <body> - <a target="_blank" href="https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem" alt="View Docs" src="https://dl.infragistics.com/x/img/browsers/button-docs.png"/> - </a> - <a target="_blank" href="./src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="View Code" src="https://dl.infragistics.com/x/img/browsers/button-code.png"/> - </a> - <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/rating/basic" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-run.png"/> - </a> - <a target="_blank" href="https://codesandbox.io/s/github/IgniteUI/igniteui-react-examples/tree/master/samples/inputs/rating/basic?fontsize=14&hidenavigation=1&theme=dark&view=preview&file=/src/index.tsx" rel="noopener noreferrer"> - <img height="40px" style="border-radius: 0rem; max-width: 100%;" alt="Run Sample" src="https://dl.infragistics.com/x/img/browsers/button-sandbox.png"/> - </a> - </body> -</html> - -## 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 -git checkout master -cd ./igniteui-react-examples -cd ./samples/inputs/rating/basic -``` - -open above folder in VS Code or type: -``` -code . -``` - -In terminal window, run: -``` -npm install --legacy-peer-deps -npm run-script 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/basic/index.html b/samples/inputs/rating/basic/index.html deleted file mode 100644 index ebd5a6e42e..0000000000 --- a/samples/inputs/rating/basic/index.html +++ /dev/null @@ -1,11 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - <head> - <title>Rating Overview - - - -
- - - \ No newline at end of file diff --git a/samples/inputs/rating/basic/package.json b/samples/inputs/rating/basic/package.json deleted file mode 100644 index 795695786c..0000000000 --- a/samples/inputs/rating/basic/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "react-button-overview", - "description": "This project provides example of Button Overview 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": "^1.17.0", - "igniteui-react": "19.9.0", - "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "tslib": "^2.4.0" - }, - "devDependencies": { - "@types/jest": "^29.2.0", - "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", - "worker-loader": "^3.0.8" - }, - "browserslist": [ - ">0.2%", - "not dead", - "not ie <= 11", - "not op_mini all" - ] -} diff --git a/samples/inputs/rating/basic/sandbox.config.json b/samples/inputs/rating/basic/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/rating/basic/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file 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 1ef035a618..0000000000 --- a/samples/inputs/rating/basic/src/index.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import './index.css'; -import { IgrRating } from 'igniteui-react'; -import 'igniteui-webcomponents/themes/light/bootstrap.css'; - -export default class RatingOverview extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- -
- ); - } -} - -// rendering above class 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/basic/tsconfig.json deleted file mode 100644 index e7db8a94f5..0000000000 --- a/samples/inputs/rating/basic/tsconfig.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", - "lib": [ - "es6", - "dom" - ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, - "isolatedModules": true, - "noEmit": true - }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], - "include": [ - "src" - ] -} diff --git a/samples/inputs/rating/custom/.devcontainer/devcontainer.json b/samples/inputs/rating/custom/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/rating/custom/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/rating/custom/.eslintrc.js b/samples/inputs/rating/custom/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/rating/custom/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/rating/custom/README.md b/samples/inputs/rating/custom/README.md deleted file mode 100644 index 0db594b880..0000000000 --- a/samples/inputs/rating/custom/README.md +++ /dev/null @@ -1,56 +0,0 @@ - - - -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. - - - - - - View Docs - - - View Code - - - Run Sample - - - 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 -git checkout master -cd ./igniteui-react-examples -cd ./samples/inputs/rating/custom -``` - -open above folder in VS Code or type: -``` -code . -``` - -In terminal window, run: -``` -npm install --legacy-peer-deps -npm run-script 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/custom/index.html b/samples/inputs/rating/custom/index.html deleted file mode 100644 index 3352f7c248..0000000000 --- a/samples/inputs/rating/custom/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Using Custom Symbols - - - -
- - - \ No newline at end of file diff --git a/samples/inputs/rating/custom/package.json b/samples/inputs/rating/custom/package.json deleted file mode 100644 index 795695786c..0000000000 --- a/samples/inputs/rating/custom/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "react-button-overview", - "description": "This project provides example of Button Overview 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": "^1.17.0", - "igniteui-react": "19.9.0", - "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "tslib": "^2.4.0" - }, - "devDependencies": { - "@types/jest": "^29.2.0", - "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", - "worker-loader": "^3.0.8" - }, - "browserslist": [ - ">0.2%", - "not dead", - "not ie <= 11", - "not op_mini all" - ] -} diff --git a/samples/inputs/rating/custom/sandbox.config.json b/samples/inputs/rating/custom/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/rating/custom/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file 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 2ddfd5cff2..0000000000 --- a/samples/inputs/rating/custom/src/index.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -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 = ' '; - -export default class RatingCustomSymbols extends React.Component { - - constructor(props: any) { - super(props); - registerIconFromText("heart", heartIcon, "material"); - registerIconFromText("emptyHeart", emptyHeart, "material"); - } - - public render(): JSX.Element { - return ( -
- - -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- ); - } -} - -// rendering above class 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/custom/tsconfig.json deleted file mode 100644 index e7db8a94f5..0000000000 --- a/samples/inputs/rating/custom/tsconfig.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", - "lib": [ - "es6", - "dom" - ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, - "isolatedModules": true, - "noEmit": true - }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], - "include": [ - "src" - ] -} diff --git a/samples/inputs/rating/empty/.devcontainer/devcontainer.json b/samples/inputs/rating/empty/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/rating/empty/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/rating/empty/.eslintrc.js b/samples/inputs/rating/empty/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/rating/empty/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/rating/empty/README.md b/samples/inputs/rating/empty/README.md deleted file mode 100644 index 697a303f08..0000000000 --- a/samples/inputs/rating/empty/README.md +++ /dev/null @@ -1,56 +0,0 @@ - - - -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. - - - - - - View Docs - - - View Code - - - Run Sample - - - 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 -git checkout master -cd ./igniteui-react-examples -cd ./samples/inputs/rating/empty -``` - -open above folder in VS Code or type: -``` -code . -``` - -In terminal window, run: -``` -npm install --legacy-peer-deps -npm run-script 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/empty/index.html deleted file mode 100644 index 7332773b51..0000000000 --- a/samples/inputs/rating/empty/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Empty & Selected - - - -
- - - \ No newline at end of file diff --git a/samples/inputs/rating/empty/package.json b/samples/inputs/rating/empty/package.json deleted file mode 100644 index 795695786c..0000000000 --- a/samples/inputs/rating/empty/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "react-button-overview", - "description": "This project provides example of Button Overview 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": "^1.17.0", - "igniteui-react": "19.9.0", - "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "tslib": "^2.4.0" - }, - "devDependencies": { - "@types/jest": "^29.2.0", - "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", - "worker-loader": "^3.0.8" - }, - "browserslist": [ - ">0.2%", - "not dead", - "not ie <= 11", - "not op_mini all" - ] -} diff --git a/samples/inputs/rating/empty/sandbox.config.json b/samples/inputs/rating/empty/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/rating/empty/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file 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 14e2c0c761..0000000000 --- a/samples/inputs/rating/empty/src/index.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -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.'; - -export default class RatingEmptyAndSelected extends React.Component { - - constructor(props: any) { - super(props); - registerIconFromText("bandage", bandageIcon, "material"); - registerIconFromText("bacteria", bacteriaIcon,"material"); - } - - public render(): JSX.Element { - return ( -
- - -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- ); - } -} - -// rendering above class 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/empty/tsconfig.json deleted file mode 100644 index e7db8a94f5..0000000000 --- a/samples/inputs/rating/empty/tsconfig.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", - "lib": [ - "es6", - "dom" - ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, - "isolatedModules": true, - "noEmit": true - }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], - "include": [ - "src" - ] -} 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/interaction-states/tsconfig.json b/samples/inputs/rating/interaction-states/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/rating/interaction-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/interaction-states/vite.config.js b/samples/inputs/rating/interaction-states/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/inputs/rating/interaction-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/layout/README.md b/samples/inputs/rating/layout/README.md new file mode 100644 index 0000000000..06bf14481d --- /dev/null +++ b/samples/inputs/rating/layout/README.md @@ -0,0 +1,50 @@ +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. + + + + + + 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/layout +``` + +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/layout/index.html b/samples/inputs/rating/layout/index.html new file mode 100644 index 0000000000..b0071e526f --- /dev/null +++ b/samples/inputs/rating/layout/index.html @@ -0,0 +1,11 @@ + + + + RatingLayout + + + +
+ + + \ No newline at end of file diff --git a/samples/inputs/rating/layout/package.json b/samples/inputs/rating/layout/package.json new file mode 100644 index 0000000000..0cb81562c2 --- /dev/null +++ b/samples/inputs/rating/layout/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-rating-layout", + "description": "This project provides example of Rating Layout 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/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/layout/tsconfig.json b/samples/inputs/rating/layout/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/rating/layout/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/layout/vite.config.js b/samples/inputs/rating/layout/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/inputs/rating/layout/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/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/overview/index.html b/samples/inputs/rating/overview/index.html new file mode 100644 index 0000000000..e1a9491016 --- /dev/null +++ b/samples/inputs/rating/overview/index.html @@ -0,0 +1,11 @@ + + + + RatingOverview + + + +
+ + + \ No newline at end of file diff --git a/samples/inputs/rating/overview/package.json b/samples/inputs/rating/overview/package.json new file mode 100644 index 0000000000..8a1f172635 --- /dev/null +++ b/samples/inputs/rating/overview/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-rating-overview", + "description": "This project provides example of Rating Overview 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/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/overview/tsconfig.json b/samples/inputs/rating/overview/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/rating/overview/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/overview/vite.config.js b/samples/inputs/rating/overview/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/inputs/rating/overview/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/single-selection/.devcontainer/devcontainer.json b/samples/inputs/rating/single-selection/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/rating/single-selection/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/rating/single-selection/.eslintrc.js b/samples/inputs/rating/single-selection/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/rating/single-selection/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/rating/single-selection/README.md b/samples/inputs/rating/single-selection/README.md deleted file mode 100644 index ae7cd8ac41..0000000000 --- a/samples/inputs/rating/single-selection/README.md +++ /dev/null @@ -1,56 +0,0 @@ - - - -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. - - - - - - View Docs - - - View Code - - - Run Sample - - - 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 -git checkout master -cd ./igniteui-react-examples -cd ./samples/inputs/rating/single-selection -``` - -open above folder in VS Code or type: -``` -code . -``` - -In terminal window, run: -``` -npm install --legacy-peer-deps -npm run-script 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/single-selection/index.html b/samples/inputs/rating/single-selection/index.html deleted file mode 100644 index a60019c75a..0000000000 --- a/samples/inputs/rating/single-selection/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Single Selection - - - -
- - - \ No newline at end of file diff --git a/samples/inputs/rating/single-selection/package.json b/samples/inputs/rating/single-selection/package.json deleted file mode 100644 index 795695786c..0000000000 --- a/samples/inputs/rating/single-selection/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "react-button-overview", - "description": "This project provides example of Button Overview 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": "^1.17.0", - "igniteui-react": "19.9.0", - "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "tslib": "^2.4.0" - }, - "devDependencies": { - "@types/jest": "^29.2.0", - "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", - "worker-loader": "^3.0.8" - }, - "browserslist": [ - ">0.2%", - "not dead", - "not ie <= 11", - "not op_mini all" - ] -} diff --git a/samples/inputs/rating/single-selection/sandbox.config.json b/samples/inputs/rating/single-selection/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/rating/single-selection/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file 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 8eba75660d..0000000000 --- a/samples/inputs/rating/single-selection/src/index.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import './index.css'; -import { IgrRating, IgrRatingSymbol } from 'igniteui-react'; -import 'igniteui-webcomponents/themes/light/bootstrap.css'; - -export default class RatingSingleSelection extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- - - 😣 - 😣 - - - 😔 - 😔 - - - 😐 - 😐 - - - 🙂 - 🙂 - - - 😆 - 😆 - - -
- ); - } -} - -// rendering above class 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/single-selection/tsconfig.json deleted file mode 100644 index e7db8a94f5..0000000000 --- a/samples/inputs/rating/single-selection/tsconfig.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", - "lib": [ - "es6", - "dom" - ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, - "isolatedModules": true, - "noEmit": true - }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], - "include": [ - "src" - ] -} diff --git a/samples/inputs/rating/size/README.md b/samples/inputs/rating/size/README.md new file mode 100644 index 0000000000..f1480dedbd --- /dev/null +++ b/samples/inputs/rating/size/README.md @@ -0,0 +1,50 @@ +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. + + + + + + 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/size +``` + +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/size/index.html b/samples/inputs/rating/size/index.html new file mode 100644 index 0000000000..0ee48c86f0 --- /dev/null +++ b/samples/inputs/rating/size/index.html @@ -0,0 +1,11 @@ + + + + RatingSize + + + +
+ + + \ No newline at end of file diff --git a/samples/inputs/rating/size/package.json b/samples/inputs/rating/size/package.json new file mode 100644 index 0000000000..27a9104dbb --- /dev/null +++ b/samples/inputs/rating/size/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-rating-size", + "description": "This project provides example of Rating Size 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/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/size/tsconfig.json b/samples/inputs/rating/size/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/rating/size/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/size/vite.config.js b/samples/inputs/rating/size/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/inputs/rating/size/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/states/README.md b/samples/inputs/rating/states/README.md new file mode 100644 index 0000000000..7d659e9b02 --- /dev/null +++ b/samples/inputs/rating/states/README.md @@ -0,0 +1,50 @@ +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. + + + + + + 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/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/states/index.html b/samples/inputs/rating/states/index.html new file mode 100644 index 0000000000..424c8ae128 --- /dev/null +++ b/samples/inputs/rating/states/index.html @@ -0,0 +1,11 @@ + + + + RatingStates + + + +
+ + + \ No newline at end of file diff --git a/samples/inputs/rating/states/package.json b/samples/inputs/rating/states/package.json new file mode 100644 index 0000000000..5e75de8953 --- /dev/null +++ b/samples/inputs/rating/states/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-rating-states", + "description": "This project provides example of Rating 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/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/.devcontainer/devcontainer.json b/samples/inputs/rating/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/rating/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/rating/styling/.eslintrc.js b/samples/inputs/rating/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/rating/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/rating/styling/README.md b/samples/inputs/rating/styling/README.md index 053c860433..9314163ec4 100644 --- a/samples/inputs/rating/styling/README.md +++ b/samples/inputs/rating/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/rating/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser 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 795695786c..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", @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/rating/styling/sandbox.config.json b/samples/inputs/rating/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/rating/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file 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 bb41096530..3dda7674ea 100644 --- a/samples/inputs/rating/styling/src/index.tsx +++ b/samples/inputs/rating/styling/src/index.tsx @@ -1,24 +1,42 @@ -import React from 'react'; +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'; -export default class RatingStyling extends React.Component { +const icons = [ + { name: 'favorite', text: '' }, + { name: 'favorite_border', text: '' }, +]; - constructor(props: any) { - super(props); - } +export default function RatingStyling() { + useEffect(() => { + icons.forEach((icon) => registerIconFromText(icon.name, icon.text, 'material')); + }, []); - public render(): JSX.Element { - return ( -
- + return ( +
+
+
+ Custom icon and color + + {[1, 2, 3, 4, 5].map((symbol) => ( + + + + + ))} + +
+
+ 10 stars + +
- ); - } +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/inputs/rating/styling/tsconfig.json b/samples/inputs/rating/styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/rating/styling/tsconfig.json +++ b/samples/inputs/rating/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/rating/tailwind-styling/README.md b/samples/inputs/rating/tailwind-styling/README.md new file mode 100644 index 0000000000..11bf5e720f --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/README.md @@ -0,0 +1,50 @@ +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. + + + + + + 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/tailwind-styling +``` + +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/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, + }, +}); diff --git a/samples/inputs/ripple/button/.devcontainer/devcontainer.json b/samples/inputs/ripple/button/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/ripple/button/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/ripple/button/.eslintrc.js b/samples/inputs/ripple/button/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/ripple/button/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/ripple/button/README.md b/samples/inputs/ripple/button/README.md index 79cc3f42ee..5964a5b1b6 100644 --- a/samples/inputs/ripple/button/README.md +++ b/samples/inputs/ripple/button/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Button feature using [Ripple](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Button Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/ripple/button ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/ripple/button/package.json b/samples/inputs/ripple/button/package.json index e6e91fd782..159dcaf35c 100644 --- a/samples/inputs/ripple/button/package.json +++ b/samples/inputs/ripple/button/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/ripple/button/sandbox.config.json b/samples/inputs/ripple/button/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/ripple/button/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/ripple/color/.devcontainer/devcontainer.json b/samples/inputs/ripple/color/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/ripple/color/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/ripple/color/.eslintrc.js b/samples/inputs/ripple/color/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/ripple/color/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/ripple/color/README.md b/samples/inputs/ripple/color/README.md index 57feaf1503..b78bfc52c3 100644 --- a/samples/inputs/ripple/color/README.md +++ b/samples/inputs/ripple/color/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Color feature using [Ripple](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Color f Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/ripple/color ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/ripple/color/package.json b/samples/inputs/ripple/color/package.json index 4b3129b09f..76142d5e7a 100644 --- a/samples/inputs/ripple/color/package.json +++ b/samples/inputs/ripple/color/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/ripple/color/sandbox.config.json b/samples/inputs/ripple/color/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/ripple/color/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/select/group/.devcontainer/devcontainer.json b/samples/inputs/select/group/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/select/group/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/select/group/.eslintrc.js b/samples/inputs/select/group/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/select/group/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/select/group/README.md b/samples/inputs/select/group/README.md index c9f4cbc5c0..b08e45adcd 100644 --- a/samples/inputs/select/group/README.md +++ b/samples/inputs/select/group/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Group feature using [Select](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Group f Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/select/group ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/select/group/package.json b/samples/inputs/select/group/package.json index 1bb8de7dda..b1a0724b04 100644 --- a/samples/inputs/select/group/package.json +++ b/samples/inputs/select/group/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/select/group/sandbox.config.json b/samples/inputs/select/group/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/select/group/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/select/header/.devcontainer/devcontainer.json b/samples/inputs/select/header/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/select/header/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/select/header/.eslintrc.js b/samples/inputs/select/header/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/select/header/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/select/header/README.md b/samples/inputs/select/header/README.md index cdeeb8353b..48b22285fe 100644 --- a/samples/inputs/select/header/README.md +++ b/samples/inputs/select/header/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Header feature using [Select](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Header Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/select/header ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/select/header/package.json b/samples/inputs/select/header/package.json index ea2dfe76d6..e9eb74c430 100644 --- a/samples/inputs/select/header/package.json +++ b/samples/inputs/select/header/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/select/header/sandbox.config.json b/samples/inputs/select/header/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/select/header/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/select/item/.devcontainer/devcontainer.json b/samples/inputs/select/item/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/select/item/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/select/item/.eslintrc.js b/samples/inputs/select/item/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/select/item/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/select/item/README.md b/samples/inputs/select/item/README.md index 15e37c5034..b26ae357eb 100644 --- a/samples/inputs/select/item/README.md +++ b/samples/inputs/select/item/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Item feature using [Select](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Item fe Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/select/item ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/select/item/package.json b/samples/inputs/select/item/package.json index 38c95c59fc..629189ac4f 100644 --- a/samples/inputs/select/item/package.json +++ b/samples/inputs/select/item/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/select/item/sandbox.config.json b/samples/inputs/select/item/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/select/item/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/select/overview/.devcontainer/devcontainer.json b/samples/inputs/select/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/select/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/select/overview/.eslintrc.js b/samples/inputs/select/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/select/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/select/overview/README.md b/samples/inputs/select/overview/README.md index 12450efaae..bf8d5e0e76 100644 --- a/samples/inputs/select/overview/README.md +++ b/samples/inputs/select/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Select](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/select/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/select/overview/package.json b/samples/inputs/select/overview/package.json index f877795325..8b2ce6c4b2 100644 --- a/samples/inputs/select/overview/package.json +++ b/samples/inputs/select/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/select/overview/sandbox.config.json b/samples/inputs/select/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/select/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/select/styling/.devcontainer/devcontainer.json b/samples/inputs/select/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/select/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/select/styling/.eslintrc.js b/samples/inputs/select/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/select/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/select/styling/README.md b/samples/inputs/select/styling/README.md index 6dc0250956..4eed116329 100644 --- a/samples/inputs/select/styling/README.md +++ b/samples/inputs/select/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Select](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/select/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/select/styling/package.json b/samples/inputs/select/styling/package.json index 69b875bdc6..7d9dcf934c 100644 --- a/samples/inputs/select/styling/package.json +++ b/samples/inputs/select/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/select/styling/sandbox.config.json b/samples/inputs/select/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/select/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/slider/constraints/.devcontainer/devcontainer.json b/samples/inputs/slider/constraints/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/slider/constraints/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/slider/constraints/.eslintrc.js b/samples/inputs/slider/constraints/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/slider/constraints/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/slider/constraints/README.md b/samples/inputs/slider/constraints/README.md index 98479b7775..78a556a9e4 100644 --- a/samples/inputs/slider/constraints/README.md +++ b/samples/inputs/slider/constraints/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Constraints feature using [Slider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Constra Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/slider/constraints ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/slider/constraints/package.json b/samples/inputs/slider/constraints/package.json index ebbc280b55..4d3fbc5ef3 100644 --- a/samples/inputs/slider/constraints/package.json +++ b/samples/inputs/slider/constraints/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/slider/constraints/sandbox.config.json b/samples/inputs/slider/constraints/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/slider/constraints/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/slider/disabled/.devcontainer/devcontainer.json b/samples/inputs/slider/disabled/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/slider/disabled/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/slider/disabled/.eslintrc.js b/samples/inputs/slider/disabled/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/slider/disabled/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/slider/disabled/README.md b/samples/inputs/slider/disabled/README.md index 8598c2dc98..976e73279b 100644 --- a/samples/inputs/slider/disabled/README.md +++ b/samples/inputs/slider/disabled/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Disabled feature using [Slider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Disable Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/slider/disabled ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/slider/disabled/package.json b/samples/inputs/slider/disabled/package.json index eec571e9c7..1923ea95f6 100644 --- a/samples/inputs/slider/disabled/package.json +++ b/samples/inputs/slider/disabled/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/slider/disabled/sandbox.config.json b/samples/inputs/slider/disabled/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/slider/disabled/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/slider/discrete/.devcontainer/devcontainer.json b/samples/inputs/slider/discrete/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/slider/discrete/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/slider/discrete/.eslintrc.js b/samples/inputs/slider/discrete/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/slider/discrete/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/slider/discrete/README.md b/samples/inputs/slider/discrete/README.md index 3c7f80bb03..197c55bf81 100644 --- a/samples/inputs/slider/discrete/README.md +++ b/samples/inputs/slider/discrete/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Discrete feature using [Slider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Discret Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/slider/discrete ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/slider/discrete/package.json b/samples/inputs/slider/discrete/package.json index 0321bcef15..ab70366e3b 100644 --- a/samples/inputs/slider/discrete/package.json +++ b/samples/inputs/slider/discrete/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/slider/discrete/sandbox.config.json b/samples/inputs/slider/discrete/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/slider/discrete/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/slider/labels/.devcontainer/devcontainer.json b/samples/inputs/slider/labels/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/slider/labels/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/slider/labels/.eslintrc.js b/samples/inputs/slider/labels/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/slider/labels/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/slider/labels/README.md b/samples/inputs/slider/labels/README.md index 7fae4efcea..f762cbb21c 100644 --- a/samples/inputs/slider/labels/README.md +++ b/samples/inputs/slider/labels/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Labels feature using [Slider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Labels Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/slider/labels ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/slider/labels/package.json b/samples/inputs/slider/labels/package.json index 44d7a2c6bc..3a9cecbd25 100644 --- a/samples/inputs/slider/labels/package.json +++ b/samples/inputs/slider/labels/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/slider/labels/sandbox.config.json b/samples/inputs/slider/labels/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/slider/labels/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/slider/overview/.devcontainer/devcontainer.json b/samples/inputs/slider/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/slider/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/slider/overview/.eslintrc.js b/samples/inputs/slider/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/slider/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/slider/overview/README.md b/samples/inputs/slider/overview/README.md index 3781a11c37..cf5e048fa6 100644 --- a/samples/inputs/slider/overview/README.md +++ b/samples/inputs/slider/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Slider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/slider/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/slider/overview/package.json b/samples/inputs/slider/overview/package.json index f61469b1c9..c215867975 100644 --- a/samples/inputs/slider/overview/package.json +++ b/samples/inputs/slider/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/slider/overview/sandbox.config.json b/samples/inputs/slider/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/slider/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/slider/styling/.devcontainer/devcontainer.json b/samples/inputs/slider/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/slider/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/slider/styling/.eslintrc.js b/samples/inputs/slider/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/slider/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/slider/styling/README.md b/samples/inputs/slider/styling/README.md index a888e2e8d3..129a0f5f9d 100644 --- a/samples/inputs/slider/styling/README.md +++ b/samples/inputs/slider/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Slider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/slider/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/slider/styling/package.json b/samples/inputs/slider/styling/package.json index 642e795340..3560db4f50 100644 --- a/samples/inputs/slider/styling/package.json +++ b/samples/inputs/slider/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/slider/styling/sandbox.config.json b/samples/inputs/slider/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/slider/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/slider/tick-labels/.devcontainer/devcontainer.json b/samples/inputs/slider/tick-labels/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/slider/tick-labels/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/slider/tick-labels/.eslintrc.js b/samples/inputs/slider/tick-labels/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/slider/tick-labels/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/slider/tick-labels/README.md b/samples/inputs/slider/tick-labels/README.md index 171a343bf4..e2f9817d65 100644 --- a/samples/inputs/slider/tick-labels/README.md +++ b/samples/inputs/slider/tick-labels/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Tick Labels feature using [Slider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Tick La Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/slider/tick-labels ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/slider/tick-labels/package.json b/samples/inputs/slider/tick-labels/package.json index 3d26cd48f3..842af9a198 100644 --- a/samples/inputs/slider/tick-labels/package.json +++ b/samples/inputs/slider/tick-labels/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/slider/tick-labels/sandbox.config.json b/samples/inputs/slider/tick-labels/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/slider/tick-labels/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/slider/ticks/.devcontainer/devcontainer.json b/samples/inputs/slider/ticks/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/slider/ticks/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/slider/ticks/.eslintrc.js b/samples/inputs/slider/ticks/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/slider/ticks/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/slider/ticks/README.md b/samples/inputs/slider/ticks/README.md index e314210ad8..3c7da9ff97 100644 --- a/samples/inputs/slider/ticks/README.md +++ b/samples/inputs/slider/ticks/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Ticks feature using [Slider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Ticks f Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/slider/ticks ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/slider/ticks/package.json b/samples/inputs/slider/ticks/package.json index 165eb43560..4392a32dc8 100644 --- a/samples/inputs/slider/ticks/package.json +++ b/samples/inputs/slider/ticks/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/slider/ticks/sandbox.config.json b/samples/inputs/slider/ticks/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/slider/ticks/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/slider/value-format/.devcontainer/devcontainer.json b/samples/inputs/slider/value-format/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/slider/value-format/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/slider/value-format/.eslintrc.js b/samples/inputs/slider/value-format/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/slider/value-format/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/slider/value-format/README.md b/samples/inputs/slider/value-format/README.md index 471a24a915..fafb1eb12f 100644 --- a/samples/inputs/slider/value-format/README.md +++ b/samples/inputs/slider/value-format/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Value Format feature using [Slider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Value F Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/slider/value-format ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/slider/value-format/package.json b/samples/inputs/slider/value-format/package.json index 260b1bfd05..ba06212367 100644 --- a/samples/inputs/slider/value-format/package.json +++ b/samples/inputs/slider/value-format/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/slider/value-format/sandbox.config.json b/samples/inputs/slider/value-format/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/slider/value-format/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/slider/value/.devcontainer/devcontainer.json b/samples/inputs/slider/value/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/slider/value/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/slider/value/.eslintrc.js b/samples/inputs/slider/value/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/slider/value/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/slider/value/README.md b/samples/inputs/slider/value/README.md index 671e00c9ae..6e5f78409f 100644 --- a/samples/inputs/slider/value/README.md +++ b/samples/inputs/slider/value/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Value feature using [Slider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Value f Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/slider/value ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/slider/value/package.json b/samples/inputs/slider/value/package.json index dbfa632ef6..002142b0f3 100644 --- a/samples/inputs/slider/value/package.json +++ b/samples/inputs/slider/value/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/slider/value/sandbox.config.json b/samples/inputs/slider/value/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/slider/value/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/switches/disabled/.devcontainer/devcontainer.json b/samples/inputs/switches/disabled/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/switches/disabled/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/switches/disabled/.eslintrc.js b/samples/inputs/switches/disabled/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/switches/disabled/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/switches/disabled/README.md b/samples/inputs/switches/disabled/README.md index 80f5969140..3aa487621b 100644 --- a/samples/inputs/switches/disabled/README.md +++ b/samples/inputs/switches/disabled/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Disabled feature using [Switches](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Disable Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/switches/disabled ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/switches/disabled/package.json b/samples/inputs/switches/disabled/package.json index 4c0bb3023c..418c5c9849 100644 --- a/samples/inputs/switches/disabled/package.json +++ b/samples/inputs/switches/disabled/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/switches/disabled/sandbox.config.json b/samples/inputs/switches/disabled/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/switches/disabled/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/switches/enabled/.devcontainer/devcontainer.json b/samples/inputs/switches/enabled/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/switches/enabled/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/switches/enabled/.eslintrc.js b/samples/inputs/switches/enabled/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/switches/enabled/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/switches/enabled/README.md b/samples/inputs/switches/enabled/README.md index d2e32ff8a2..56f52ccb26 100644 --- a/samples/inputs/switches/enabled/README.md +++ b/samples/inputs/switches/enabled/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Enabled feature using [Switches](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Enabled Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/switches/enabled ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/switches/enabled/package.json b/samples/inputs/switches/enabled/package.json index 5a616e7df2..022d32f0f7 100644 --- a/samples/inputs/switches/enabled/package.json +++ b/samples/inputs/switches/enabled/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/switches/enabled/sandbox.config.json b/samples/inputs/switches/enabled/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/switches/enabled/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/switches/layout/.devcontainer/devcontainer.json b/samples/inputs/switches/layout/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/switches/layout/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/switches/layout/.eslintrc.js b/samples/inputs/switches/layout/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/switches/layout/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/switches/layout/README.md b/samples/inputs/switches/layout/README.md index f8eedc8414..c4b758dbd6 100644 --- a/samples/inputs/switches/layout/README.md +++ b/samples/inputs/switches/layout/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Layout feature using [Switches](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Layout Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/switches/layout ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/switches/layout/package.json b/samples/inputs/switches/layout/package.json index 9ea1c5290c..ea100d576f 100644 --- a/samples/inputs/switches/layout/package.json +++ b/samples/inputs/switches/layout/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/switches/layout/sandbox.config.json b/samples/inputs/switches/layout/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/switches/layout/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/switches/overview/.devcontainer/devcontainer.json b/samples/inputs/switches/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/switches/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/switches/overview/.eslintrc.js b/samples/inputs/switches/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/switches/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/switches/overview/README.md b/samples/inputs/switches/overview/README.md index a59113f035..b142c4be15 100644 --- a/samples/inputs/switches/overview/README.md +++ b/samples/inputs/switches/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Switches](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/switches/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/switches/overview/package.json b/samples/inputs/switches/overview/package.json index 474c9ad4dd..c87fb6611c 100644 --- a/samples/inputs/switches/overview/package.json +++ b/samples/inputs/switches/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/switches/overview/sandbox.config.json b/samples/inputs/switches/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/switches/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/switches/overview/src/index.css b/samples/inputs/switches/overview/src/index.css index 38aea371df..b4879c3234 100644 --- a/samples/inputs/switches/overview/src/index.css +++ b/samples/inputs/switches/overview/src/index.css @@ -20,7 +20,7 @@ font: 400 10px / 16px "Titillium Web", sans-serif; letter-spacing: 1.5px; text-transform: uppercase; - color: var(--ig-primary-500); + color: var(--ig-secondary-500); } & .notifications__row { @@ -48,12 +48,14 @@ white-space: normal; & .option__label { - font-size: 16px; + font: 400 16px / 24px "Titillium Web", sans-serif; + letter-spacing: 0.15px; color: var(--ig-gray-900); } & .option__hint { - font-size: 13px; + font: 400 14px / 20px "Titillium Web", sans-serif; + letter-spacing: 0.25px; color: var(--ig-gray-700); } } \ No newline at end of file diff --git a/samples/inputs/switches/selected/.devcontainer/devcontainer.json b/samples/inputs/switches/selected/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/switches/selected/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/switches/selected/.eslintrc.js b/samples/inputs/switches/selected/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/switches/selected/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/switches/selected/README.md b/samples/inputs/switches/selected/README.md index 5895b10d6c..5a571eb757 100644 --- a/samples/inputs/switches/selected/README.md +++ b/samples/inputs/switches/selected/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Selected feature using [Switches](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Selecte Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/switches/selected ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/switches/selected/package.json b/samples/inputs/switches/selected/package.json index 51ae07f0e7..1532cdde99 100644 --- a/samples/inputs/switches/selected/package.json +++ b/samples/inputs/switches/selected/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/switches/selected/sandbox.config.json b/samples/inputs/switches/selected/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/switches/selected/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/switches/styling/.devcontainer/devcontainer.json b/samples/inputs/switches/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/switches/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/switches/styling/.eslintrc.js b/samples/inputs/switches/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/switches/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/switches/styling/README.md b/samples/inputs/switches/styling/README.md index 4fabc5d775..bf96646a87 100644 --- a/samples/inputs/switches/styling/README.md +++ b/samples/inputs/switches/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Switches](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/switches/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/switches/styling/package.json b/samples/inputs/switches/styling/package.json index 0add410c17..bc970a8434 100644 --- a/samples/inputs/switches/styling/package.json +++ b/samples/inputs/switches/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/switches/styling/sandbox.config.json b/samples/inputs/switches/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/switches/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/switches/tailwind-styling/.devcontainer/devcontainer.json b/samples/inputs/switches/tailwind-styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/switches/tailwind-styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/switches/tailwind-styling/.eslintrc.js b/samples/inputs/switches/tailwind-styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/switches/tailwind-styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/switches/tailwind-styling/README.md b/samples/inputs/switches/tailwind-styling/README.md index f46ca8e656..1c37933f58 100644 --- a/samples/inputs/switches/tailwind-styling/README.md +++ b/samples/inputs/switches/tailwind-styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Tailwind Styling feature using [Switches](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Tailwin Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/switches/tailwind-styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/switches/tailwind-styling/package.json b/samples/inputs/switches/tailwind-styling/package.json index d1d20aa10d..0e1c9ca64e 100644 --- a/samples/inputs/switches/tailwind-styling/package.json +++ b/samples/inputs/switches/tailwind-styling/package.json @@ -12,27 +12,27 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.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": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", + "@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": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "typescript": "^5.9.3", + "vite": "^8.3.1", + "vitest": "^5.0.2", + "vitest-canvas-mock": "^1.2.0", "worker-loader": "^3.0.8" }, "browserslist": [ diff --git a/samples/inputs/switches/tailwind-styling/sandbox.config.json b/samples/inputs/switches/tailwind-styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/switches/tailwind-styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/textarea/form-integration/.devcontainer/devcontainer.json b/samples/inputs/textarea/form-integration/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/textarea/form-integration/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/textarea/form-integration/.eslintrc.js b/samples/inputs/textarea/form-integration/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/textarea/form-integration/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/textarea/form-integration/README.md b/samples/inputs/textarea/form-integration/README.md index 2df38cc01e..3efcaa5147 100644 --- a/samples/inputs/textarea/form-integration/README.md +++ b/samples/inputs/textarea/form-integration/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Form Integration feature using [Textarea](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Form In Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/textarea/form-integration ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/textarea/form-integration/package.json b/samples/inputs/textarea/form-integration/package.json index 7a861f3344..e9f957016f 100644 --- a/samples/inputs/textarea/form-integration/package.json +++ b/samples/inputs/textarea/form-integration/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/textarea/form-integration/sandbox.config.json b/samples/inputs/textarea/form-integration/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/textarea/form-integration/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/textarea/overview/.devcontainer/devcontainer.json b/samples/inputs/textarea/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/textarea/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/textarea/overview/.eslintrc.js b/samples/inputs/textarea/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/textarea/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/textarea/overview/README.md b/samples/inputs/textarea/overview/README.md index 1fc1649287..6af43be784 100644 --- a/samples/inputs/textarea/overview/README.md +++ b/samples/inputs/textarea/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Textarea](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/textarea/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/textarea/overview/package.json b/samples/inputs/textarea/overview/package.json index 9789c684ea..1a05f50add 100644 --- a/samples/inputs/textarea/overview/package.json +++ b/samples/inputs/textarea/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/textarea/overview/sandbox.config.json b/samples/inputs/textarea/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/textarea/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/textarea/resize/.devcontainer/devcontainer.json b/samples/inputs/textarea/resize/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/textarea/resize/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/textarea/resize/.eslintrc.js b/samples/inputs/textarea/resize/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/textarea/resize/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/textarea/resize/README.md b/samples/inputs/textarea/resize/README.md index 826bea4410..3f19ac5365 100644 --- a/samples/inputs/textarea/resize/README.md +++ b/samples/inputs/textarea/resize/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Resize feature using [Textarea](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Resize Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/textarea/resize ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/textarea/resize/package.json b/samples/inputs/textarea/resize/package.json index b12e64bec8..b8e78b616e 100644 --- a/samples/inputs/textarea/resize/package.json +++ b/samples/inputs/textarea/resize/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/textarea/resize/sandbox.config.json b/samples/inputs/textarea/resize/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/textarea/resize/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/textarea/slots/.devcontainer/devcontainer.json b/samples/inputs/textarea/slots/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/textarea/slots/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/textarea/slots/.eslintrc.js b/samples/inputs/textarea/slots/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/textarea/slots/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/textarea/slots/README.md b/samples/inputs/textarea/slots/README.md index 4f6bb51ea9..087c3bd653 100644 --- a/samples/inputs/textarea/slots/README.md +++ b/samples/inputs/textarea/slots/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Slots feature using [Textarea](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Slots f Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/textarea/slots ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/textarea/slots/package.json b/samples/inputs/textarea/slots/package.json index c7779050bb..52dc9ad046 100644 --- a/samples/inputs/textarea/slots/package.json +++ b/samples/inputs/textarea/slots/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/textarea/slots/sandbox.config.json b/samples/inputs/textarea/slots/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/textarea/slots/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/textarea/styling/.devcontainer/devcontainer.json b/samples/inputs/textarea/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/textarea/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/textarea/styling/.eslintrc.js b/samples/inputs/textarea/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/textarea/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/textarea/styling/README.md b/samples/inputs/textarea/styling/README.md index a33c1f8294..2ff4d156f8 100644 --- a/samples/inputs/textarea/styling/README.md +++ b/samples/inputs/textarea/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Textarea](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/textarea/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/textarea/styling/package.json b/samples/inputs/textarea/styling/package.json index 37824f1376..be2826e741 100644 --- a/samples/inputs/textarea/styling/package.json +++ b/samples/inputs/textarea/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/textarea/styling/sandbox.config.json b/samples/inputs/textarea/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/textarea/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/advanced/.devcontainer/devcontainer.json b/samples/inputs/tooltip/advanced/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/tooltip/advanced/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/advanced/.eslintrc.js b/samples/inputs/tooltip/advanced/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/tooltip/advanced/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/tooltip/advanced/README.md b/samples/inputs/tooltip/advanced/README.md index 32f43fab3f..92c13eb346 100644 --- a/samples/inputs/tooltip/advanced/README.md +++ b/samples/inputs/tooltip/advanced/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Advanced feature using [Tooltip](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Advance Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/tooltip/advanced ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/tooltip/advanced/package.json b/samples/inputs/tooltip/advanced/package.json index 40a7550d06..39515d4557 100644 --- a/samples/inputs/tooltip/advanced/package.json +++ b/samples/inputs/tooltip/advanced/package.json @@ -12,26 +12,26 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/tooltip/advanced/sandbox.config.json b/samples/inputs/tooltip/advanced/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/tooltip/advanced/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/overview/.devcontainer/devcontainer.json b/samples/inputs/tooltip/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/tooltip/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/overview/.eslintrc.js b/samples/inputs/tooltip/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/tooltip/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/tooltip/overview/README.md b/samples/inputs/tooltip/overview/README.md index 4171656c58..ee20f97882 100644 --- a/samples/inputs/tooltip/overview/README.md +++ b/samples/inputs/tooltip/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Tooltip](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/tooltip/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/tooltip/overview/package.json b/samples/inputs/tooltip/overview/package.json index 795695786c..b812800f3b 100644 --- a/samples/inputs/tooltip/overview/package.json +++ b/samples/inputs/tooltip/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/tooltip/overview/sandbox.config.json b/samples/inputs/tooltip/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/tooltip/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/overview/src/index.tsx b/samples/inputs/tooltip/overview/src/index.tsx index b7deaaf9f0..d2767e6db8 100644 --- a/samples/inputs/tooltip/overview/src/index.tsx +++ b/samples/inputs/tooltip/overview/src/index.tsx @@ -1,28 +1,21 @@ -import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { IgrAvatar, IgrTooltip } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -export default class TooltipOverview extends React.Component { - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- - - Her name is Madelyn James - -
- ); - } +export default function TooltipOverview() { + return ( +
+ + + Her name is Madelyn James + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/inputs/tooltip/overview/tsconfig.json b/samples/inputs/tooltip/overview/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/tooltip/overview/tsconfig.json +++ b/samples/inputs/tooltip/overview/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/tooltip/placement/.devcontainer/devcontainer.json b/samples/inputs/tooltip/placement/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/tooltip/placement/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/placement/.eslintrc.js b/samples/inputs/tooltip/placement/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/tooltip/placement/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/tooltip/placement/README.md b/samples/inputs/tooltip/placement/README.md index 25e803a16c..e01c7091cb 100644 --- a/samples/inputs/tooltip/placement/README.md +++ b/samples/inputs/tooltip/placement/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Placement feature using [Tooltip](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Placeme Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/tooltip/placement ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/tooltip/placement/package.json b/samples/inputs/tooltip/placement/package.json index 795695786c..b812800f3b 100644 --- a/samples/inputs/tooltip/placement/package.json +++ b/samples/inputs/tooltip/placement/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/tooltip/placement/sandbox.config.json b/samples/inputs/tooltip/placement/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/tooltip/placement/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/placement/src/index.tsx b/samples/inputs/tooltip/placement/src/index.tsx index 4f0d6c9c01..dfdd92bb9d 100644 --- a/samples/inputs/tooltip/placement/src/index.tsx +++ b/samples/inputs/tooltip/placement/src/index.tsx @@ -1,4 +1,3 @@ -import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { IgrButton, IgrTooltip } from "igniteui-react"; @@ -18,47 +17,41 @@ type PopoverPlacement = | "left-start" | "left-end"; -export default class TooltipPlacement extends React.Component { - constructor(props: any) { - super(props); - } +const Positions = ["top", "bottom", "left", "right"].flatMap((each) => [ + each, + `${each}-start`, + `${each}-end`, +]) as Array; - Positions = ["top", "bottom", "left", "right"].flatMap((each) => [ - each, - `${each}-start`, - `${each}-end`, - ]) as Array; +export default function TooltipPlacement() { + return ( +
+ Click to trigger all supported placements + - public render(): JSX.Element { - return ( -
- Click to trigger all supported placements - - - {this.Positions.map((pos) => ( - -
- {pos} -
-
- ))} -
- ); - } + {Positions.map((pos) => ( + +
+ {pos} +
+
+ ))} +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/inputs/tooltip/placement/tsconfig.json b/samples/inputs/tooltip/placement/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/tooltip/placement/tsconfig.json +++ b/samples/inputs/tooltip/placement/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/tooltip/rich/.devcontainer/devcontainer.json b/samples/inputs/tooltip/rich/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/tooltip/rich/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/rich/.eslintrc.js b/samples/inputs/tooltip/rich/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/tooltip/rich/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/tooltip/rich/README.md b/samples/inputs/tooltip/rich/README.md index 12bb7ab19f..79231050b4 100644 --- a/samples/inputs/tooltip/rich/README.md +++ b/samples/inputs/tooltip/rich/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Rich feature using [Tooltip](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Rich fe Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/tooltip/rich ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/tooltip/rich/package.json b/samples/inputs/tooltip/rich/package.json index 795695786c..b812800f3b 100644 --- a/samples/inputs/tooltip/rich/package.json +++ b/samples/inputs/tooltip/rich/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/tooltip/rich/sandbox.config.json b/samples/inputs/tooltip/rich/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/tooltip/rich/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/rich/src/index.tsx b/samples/inputs/tooltip/rich/src/index.tsx index 929e7c281a..7dcfb4cc3e 100644 --- a/samples/inputs/tooltip/rich/src/index.tsx +++ b/samples/inputs/tooltip/rich/src/index.tsx @@ -1,4 +1,3 @@ -import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { IgrAvatar, IgrTooltip, IgrIcon, registerIconFromText } from "igniteui-react"; @@ -9,40 +8,34 @@ const location = registerIconFromText("location_on", location, "material"); -export default class TooltipRich extends React.Component { - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
-
- - -
- -
-
Infragistics Inc. HQ
-
2 Commerce Dr, Cranbury, NJ 08512, USA
-
+export default function TooltipRich() { + return ( +
+
+ + +
+ +
+
Infragistics Inc. HQ
+
2 Commerce Dr, Cranbury, NJ 08512, USA
- -
+
+
- ); - } +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/inputs/tooltip/rich/tsconfig.json b/samples/inputs/tooltip/rich/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/tooltip/rich/tsconfig.json +++ b/samples/inputs/tooltip/rich/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/tooltip/styling/.devcontainer/devcontainer.json b/samples/inputs/tooltip/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/tooltip/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/styling/.eslintrc.js b/samples/inputs/tooltip/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/tooltip/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/tooltip/styling/README.md b/samples/inputs/tooltip/styling/README.md index 5f70522b85..30995f8b5d 100644 --- a/samples/inputs/tooltip/styling/README.md +++ b/samples/inputs/tooltip/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Tooltip](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/tooltip/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/tooltip/styling/package.json b/samples/inputs/tooltip/styling/package.json index 795695786c..b812800f3b 100644 --- a/samples/inputs/tooltip/styling/package.json +++ b/samples/inputs/tooltip/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/tooltip/styling/sandbox.config.json b/samples/inputs/tooltip/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/tooltip/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/styling/src/index.tsx b/samples/inputs/tooltip/styling/src/index.tsx index 2e04153f3e..de133e8841 100644 --- a/samples/inputs/tooltip/styling/src/index.tsx +++ b/samples/inputs/tooltip/styling/src/index.tsx @@ -1,30 +1,23 @@ -import React from "react"; import ReactDOM from "react-dom/client"; import "./Styling.css"; import "./index.css"; import { IgrAvatar, IgrTooltip } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -export default class TooltipStyling extends React.Component { - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- - - Her name is Madelyn James - -
- ); - } +export default function TooltipStyling() { + return ( +
+ + + Her name is Madelyn James + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/inputs/tooltip/styling/tsconfig.json b/samples/inputs/tooltip/styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/tooltip/styling/tsconfig.json +++ b/samples/inputs/tooltip/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/inputs/tooltip/triggers/.devcontainer/devcontainer.json b/samples/inputs/tooltip/triggers/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/inputs/tooltip/triggers/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/triggers/.eslintrc.js b/samples/inputs/tooltip/triggers/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/inputs/tooltip/triggers/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/inputs/tooltip/triggers/README.md b/samples/inputs/tooltip/triggers/README.md index 3a14068675..7781389afc 100644 --- a/samples/inputs/tooltip/triggers/README.md +++ b/samples/inputs/tooltip/triggers/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Triggers feature using [Tooltip](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Trigger Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/inputs/tooltip/triggers ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/inputs/tooltip/triggers/package.json b/samples/inputs/tooltip/triggers/package.json index 795695786c..b812800f3b 100644 --- a/samples/inputs/tooltip/triggers/package.json +++ b/samples/inputs/tooltip/triggers/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/inputs/tooltip/triggers/sandbox.config.json b/samples/inputs/tooltip/triggers/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/inputs/tooltip/triggers/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/inputs/tooltip/triggers/src/index.tsx b/samples/inputs/tooltip/triggers/src/index.tsx index b7ab241770..ddcadf610d 100644 --- a/samples/inputs/tooltip/triggers/src/index.tsx +++ b/samples/inputs/tooltip/triggers/src/index.tsx @@ -1,139 +1,132 @@ -import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { IgrTooltip, IgrButton, IgrInput, IgrCard, IgrCardContent, IgrCardHeader } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -export default class TooltipTriggers extends React.Component { - constructor(props: any) { - super(props); - } +export default function TooltipTriggers() { + return ( +
+
+ + +

Default triggers

+
+ +

+ Hovering over the button below will display the tooltip using + its default configuration: it appears on{" "} + pointer enter and hides on{" "} + pointer leave or click. +

+ + Hover over me + + + I am show on pointer enter and hidden on pointer leave and/or + click. + +
+
- public render(): JSX.Element { - return ( -
-
- - -

Default triggers

-
- -

- Hovering over the button below will display the tooltip using - its default configuration: it appears on{" "} - pointer enter and hides on{" "} - pointer leave or click. -

- - Hover over me - - - I am show on pointer enter and hidden on pointer leave and/or - click. - -
-
+ + +

Focus based

+
+ +

+ In this instance, the tooltip is bound to show on its anchor + focus and will hide when its anchor is + blurred. +

+

+ Try to navigate with a Tab key to the anchor to see the effect. +

+ + Focus me + + + I am shown on focus and hidden on blur. + +
+
- - -

Focus based

-
- -

- In this instance, the tooltip is bound to show on its anchor - focus and will hide when its anchor is - blurred. -

-

- Try to navigate with a Tab key to the anchor to see the effect. -

- - Focus me - - - I am shown on focus and hidden on blur. - -
-
+ + +

Same trigger(s) for showing and hiding

+
+ +

+ The same trigger can be bound to both show and hide the tooltip. + The button below has its tooltip bound to show/hide on + click. +

+ + Click + + + I am show on click and will hide on anchor click. + +
+
- - -

Same trigger(s) for showing and hiding

-
- -

- The same trigger can be bound to both show and hide the tooltip. - The button below has its tooltip bound to show/hide on - click. -

- - Click - - - I am show on click and will hide on anchor click. - -
-
+ + +

Keyboard interactions

+
+ +

+ Keyboard interactions are also supported. The button below has + its tooltip bound to show on a keypress and + hide on akeypress or blur. +

+

Try it out by focusing the button and pressing a key.

+ + Press a key + + + I am shown on a keypress and will hide on a keypress or blur. + +
+
- - -

Keyboard interactions

-
- -

- Keyboard interactions are also supported. The button below has - its tooltip bound to show on a keypress and - hide on akeypress or blur. -

-

Try it out by focusing the button and pressing a key.

- - Press a key - - - I am shown on a keypress and will hide on a keypress or blur. - -
-
- - - -

Custom events

-
- -

- The tooltip supports any DOM event, including custom events. Try - entering a value in the input below, then "commit" it - by either blurring the input or pressing{" "} - Enter. -

- - - Value changed! - -
-
-
+ + +

Custom events

+
+ +

+ The tooltip supports any DOM event, including custom events. Try + entering a value in the input below, then "commit" it + by either blurring the input or pressing{" "} + Enter. +

+ + + Value changed! + +
+
- ); - } +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/inputs/tooltip/triggers/tsconfig.json b/samples/inputs/tooltip/triggers/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/tooltip/triggers/tsconfig.json +++ b/samples/inputs/tooltip/triggers/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/interactions/chat/features/.devcontainer/devcontainer.json b/samples/interactions/chat/features/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/interactions/chat/features/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/interactions/chat/features/.eslintrc.js b/samples/interactions/chat/features/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/interactions/chat/features/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/interactions/chat/features/README.md b/samples/interactions/chat/features/README.md index 1825c461c1..4a14dc73ca 100644 --- a/samples/interactions/chat/features/README.md +++ b/samples/interactions/chat/features/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Features feature using [Chat](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Feature Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/interactions/chat/features ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/interactions/chat/features/package.json b/samples/interactions/chat/features/package.json index 088f1de60d..51608003f9 100644 --- a/samples/interactions/chat/features/package.json +++ b/samples/interactions/chat/features/package.json @@ -12,29 +12,29 @@ "test": "vitest" }, "dependencies": { - "dompurify": "^3.3.0", - "igniteui-dockmanager": "^1.17.0", + "dompurify": "^3.4.16", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "marked": "^16.4.1", + "igniteui-webcomponents": "~7.4.1", + "marked": "^18.0.14", "marked-shiki": "^1.2.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "shiki": "^3.13.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", + "shiki": "^4.4.3", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/interactions/chat/features/sandbox.config.json b/samples/interactions/chat/features/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/interactions/chat/features/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/interactions/chat/features/src/index.tsx b/samples/interactions/chat/features/src/index.tsx index 4015112390..3fd13cefe5 100644 --- a/samples/interactions/chat/features/src/index.tsx +++ b/samples/interactions/chat/features/src/index.tsx @@ -90,7 +90,7 @@ igc-avatar::part(base) { useEffect(() => { let mounted = true; - createChatMarkdownRenderer().then(renderer => { + createChatMarkdownRenderer({}).then(renderer => { if (!mounted) return; setOptions((prev: any) => ({ diff --git a/samples/interactions/chat/overview/.devcontainer/devcontainer.json b/samples/interactions/chat/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/interactions/chat/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/interactions/chat/overview/.eslintrc.js b/samples/interactions/chat/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/interactions/chat/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/interactions/chat/overview/README.md b/samples/interactions/chat/overview/README.md index c486c73875..4dd1c14c8f 100644 --- a/samples/interactions/chat/overview/README.md +++ b/samples/interactions/chat/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Chat](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/interactions/chat/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/interactions/chat/overview/package.json b/samples/interactions/chat/overview/package.json index f207dc8c0c..d663c0579e 100644 --- a/samples/interactions/chat/overview/package.json +++ b/samples/interactions/chat/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/interactions/chat/overview/sandbox.config.json b/samples/interactions/chat/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/interactions/chat/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/interactions/chat/styling/.devcontainer/devcontainer.json b/samples/interactions/chat/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/interactions/chat/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/interactions/chat/styling/.eslintrc.js b/samples/interactions/chat/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/interactions/chat/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/interactions/chat/styling/README.md b/samples/interactions/chat/styling/README.md index 83711aef49..9ecc5013ae 100644 --- a/samples/interactions/chat/styling/README.md +++ b/samples/interactions/chat/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Chat](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/interactions/chat/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/interactions/chat/styling/package.json b/samples/interactions/chat/styling/package.json index b4a5b607f8..48fc622537 100644 --- a/samples/interactions/chat/styling/package.json +++ b/samples/interactions/chat/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/interactions/chat/styling/sandbox.config.json b/samples/interactions/chat/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/interactions/chat/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/interactions/query-builder/overview/.devcontainer/devcontainer.json b/samples/interactions/query-builder/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/interactions/query-builder/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/interactions/query-builder/overview/.eslintrc.js b/samples/interactions/query-builder/overview/.eslintrc.js deleted file mode 100644 index 0c41c2db83..0000000000 --- a/samples/interactions/query-builder/overview/.eslintrc.js +++ /dev/null @@ -1,78 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "no-mixed-spaces-and-tabs": 0, - "prefer-const": "off", - "prefer-rest-params": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "no-var": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-mixed-spaces-and-tabs": 0, - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; diff --git a/samples/interactions/query-builder/overview/README.md b/samples/interactions/query-builder/overview/README.md index d61a218431..6602ea6615 100644 --- a/samples/interactions/query-builder/overview/README.md +++ b/samples/interactions/query-builder/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Query Builder](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/interactions/query-builder/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/interactions/query-builder/overview/package.json b/samples/interactions/query-builder/overview/package.json index 928fea992f..a1611c849a 100644 --- a/samples/interactions/query-builder/overview/package.json +++ b/samples/interactions/query-builder/overview/package.json @@ -16,26 +16,26 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "lit-html": "^3.2.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "@vitest/browser": "^5.0.2", "eslint": "^8.33.0", "eslint-config-react": "^1.1.7", "eslint-plugin-react": "^7.20.0", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "typescript": "^5.9.3", + "vite": "^8.3.1", + "vitest": "^5.0.2", + "vitest-canvas-mock": "^1.2.0", "worker-loader": "^3.0.8" }, "browserslist": [ diff --git a/samples/interactions/query-builder/overview/sandbox.config.json b/samples/interactions/query-builder/overview/sandbox.config.json deleted file mode 100644 index 49a80d1d8b..0000000000 --- a/samples/interactions/query-builder/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} diff --git a/samples/interactions/query-builder/template/.devcontainer/devcontainer.json b/samples/interactions/query-builder/template/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/interactions/query-builder/template/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/interactions/query-builder/template/.eslintrc.js b/samples/interactions/query-builder/template/.eslintrc.js deleted file mode 100644 index 0c41c2db83..0000000000 --- a/samples/interactions/query-builder/template/.eslintrc.js +++ /dev/null @@ -1,78 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "no-mixed-spaces-and-tabs": 0, - "prefer-const": "off", - "prefer-rest-params": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "no-var": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-mixed-spaces-and-tabs": 0, - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; diff --git a/samples/interactions/query-builder/template/README.md b/samples/interactions/query-builder/template/README.md index 25c06663ce..fb3f489ddb 100644 --- a/samples/interactions/query-builder/template/README.md +++ b/samples/interactions/query-builder/template/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Template feature using [Query Builder](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Templat Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/interactions/query-builder/template ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/interactions/query-builder/template/package.json b/samples/interactions/query-builder/template/package.json index 5b6729c967..6930e85835 100644 --- a/samples/interactions/query-builder/template/package.json +++ b/samples/interactions/query-builder/template/package.json @@ -16,26 +16,26 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "lit-html": "^3.2.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "@vitest/browser": "^5.0.2", "eslint": "^8.33.0", "eslint-config-react": "^1.1.7", "eslint-plugin-react": "^7.20.0", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "typescript": "^5.9.3", + "vite": "^8.3.1", + "vitest": "^5.0.2", + "vitest-canvas-mock": "^1.2.0", "worker-loader": "^3.0.8" }, "browserslist": [ diff --git a/samples/interactions/query-builder/template/sandbox.config.json b/samples/interactions/query-builder/template/sandbox.config.json deleted file mode 100644 index 49a80d1d8b..0000000000 --- a/samples/interactions/query-builder/template/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} diff --git a/samples/layouts/accordion/customization/.devcontainer/devcontainer.json b/samples/layouts/accordion/customization/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/accordion/customization/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/accordion/customization/.eslintrc.js b/samples/layouts/accordion/customization/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/accordion/customization/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/accordion/customization/README.md b/samples/layouts/accordion/customization/README.md index 279d3ceef6..cec6f3dc7b 100644 --- a/samples/layouts/accordion/customization/README.md +++ b/samples/layouts/accordion/customization/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Customization feature using [Accordion](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Customi Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/accordion/customization ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/accordion/customization/package.json b/samples/layouts/accordion/customization/package.json index 81f84d96c8..4e09845e26 100644 --- a/samples/layouts/accordion/customization/package.json +++ b/samples/layouts/accordion/customization/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/accordion/customization/sandbox.config.json b/samples/layouts/accordion/customization/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/accordion/customization/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/accordion/customization/src/index.tsx b/samples/layouts/accordion/customization/src/index.tsx index 23b94cd758..01ba51b030 100644 --- a/samples/layouts/accordion/customization/src/index.tsx +++ b/samples/layouts/accordion/customization/src/index.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import { useLayoutEffect, useRef, useState } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { @@ -14,7 +14,6 @@ import { IgrRangeSlider, IgrRadioChangeEventArgs, IgrRangeSliderValueEventArgs, - IgrComponentDateValueChangedEventArgs, registerIconFromText, } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; @@ -23,240 +22,199 @@ type Category = { checked: boolean; type: string }; const ratingOptions = [2, 3, 4, 5]; +const initialCategories: Category[] = [ + { checked: false, type: "Bike" }, + { checked: false, type: "Motorcycle" }, + { checked: false, type: "Car" }, + { checked: false, type: "Taxi" }, + { checked: false, type: "Public Transport" }, +]; + const clearIcon = ""; const clockIcon = ""; -export default class AccordionCustomization extends React.Component { - private categories = [ - { checked: false, type: "Bike" }, - { checked: false, type: "Motorcycle" }, - { checked: false, type: "Car" }, - { checked: false, type: "Taxi" }, - { checked: false, type: "Public Transport" }, - ]; - - private dateTimeInput: IgrDateTimeInput; - private transportationPanel: IgrExpansionPanel; +registerIconFromText("clear", clearIcon, "material"); +registerIconFromText("clock", clockIcon, "material"); - constructor(props: any) { - super(props); - this.state = { - categories: this.categories, - cost: { lower: 200, upper: 800 }, - rating: "", - time: "Any time", - }; +export default function AccordionCustomization() { + const dateTimeInputRef = useRef(null); + const transportationPanelRef = useRef(null); - this.categoriesChange = this.categoriesChange.bind(this); - this.costRangeChange = this.costRangeChange.bind(this); - this.ratingChange = this.ratingChange.bind(this); - this.timeChange = this.timeChange.bind(this); - this.clearTime = this.clearTime.bind(this); - this.dateTimeInputRef = this.dateTimeInputRef.bind(this); - this.transportationPanelRef = this.transportationPanelRef.bind(this); + const [categories, setCategories] = useState(initialCategories); + const [cost, setCost] = useState({ lower: 200, upper: 800 }); + const [rating, setRating] = useState(""); + const [time, setTime] = useState("Any time"); - registerIconFromText("clear", clearIcon, "material"); - registerIconFromText("clock", clockIcon, "material"); - } - - public componentDidMount() { - if (this.transportationPanel) { - this.transportationPanel.open = true; + // Before paint, like componentDidMount: the panel must not flash closed. + useLayoutEffect(() => { + if (transportationPanelRef.current) { + transportationPanelRef.current.open = true; } - } + }, []); - public render(): JSX.Element { - const selectedCategories = this.state.categories - .filter((c: Category) => c.checked) - .map((c: Category) => c.type) - .join(", "); - - return ( -
-
- - - - Transportation{selectedCategories && `: ${selectedCategories}`} - - Choose how you want to travel - -

- Select one or more transportation options for your trip. -

-
- {this.state.categories.map((c: Category) => { - return ( - - this.categoriesChange(e, c.type) - } - > - {c.type} - - ); - })} -
-
-
- - - Budget: ${this.state.cost.lower} - ${this.state.cost.upper} - - Set the price range - -

- Adjust the minimum and maximum cost for available options. -

-
- ${this.state.cost.lower} - ${this.state.cost.upper} -
- -
-
- - - Minimum Rating{this.state.rating && ": "} - {this.state.rating} - - Filter by review score - -

- Choose the lowest rating you want to include in the results. -

- - {ratingOptions.map((rating) => { - return ( - - 1 ? "s" : "" - } or more`} - max={5} - value={rating} - className="rating-control size-small" - readOnly={true} - > - - ); - })} - -
-
- - - Arrival Time - {this.state.time !== "Any time" && `: ${this.state.time}`} - - Set the latest arrival time - -

- Pick the latest acceptable arrival time for your trip. -

- - - - - - - - -
-
-
-
-
+ function categoriesChange(e: IgrCheckboxChangeEventArgs, type: string) { + // New array so React re-renders the title + setCategories((prev) => + prev.map((c) => (c.type === type ? { ...c, checked: e.detail.checked } : c)) ); } - public categoriesChange(e: IgrCheckboxChangeEventArgs, type: string) { - const categoryIndex = this.categories.findIndex((c) => c.type === type); - if (categoryIndex === -1) { - return; - } - let categoriesCopy = this.state.categories; - categoriesCopy[categoryIndex].checked = e.detail.checked; - this.setState({ - categories: categoriesCopy, - }); + function costRangeChange(e: IgrRangeSliderValueEventArgs) { + setCost({ lower: e.detail.lower, upper: e.detail.upper }); } - public costRangeChange(e: IgrRangeSliderValueEventArgs) { - this.setState({ - cost: { lower: e.detail.lower, upper: e.detail.upper }, - }); - } - - public ratingChange(e: IgrRadioChangeEventArgs) { + function ratingChange(e: IgrRadioChangeEventArgs) { if (!e.detail.value) { return; } - this.setState({ - rating: `${+e.detail.value} star${ - +e.detail.value > 1 ? "s" : "" - } or more`, - }); + setRating(`${+e.detail.value} star${ + +e.detail.value > 1 ? "s" : "" + } or more`); } - public timeChange(e: IgrComponentDateValueChangedEventArgs) { + function timeChange(e: CustomEvent) { const s = e.target as IgrDateTimeInput; const result = s.value !== null - ? e.detail.toLocaleTimeString([], { + ? e.detail!.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit", }) : "Any time"; - this.setState({ - time: result, - }); - } - - public clearTime() { - this.dateTimeInput.clear(); - this.setState({ - time: "Any time", - }); + setTime(result); } - public dateTimeInputRef(input: IgrDateTimeInput) { - if (!input) { - return; - } - this.dateTimeInput = input; + function clearTime() { + dateTimeInputRef.current!.clear(); + setTime("Any time"); } - public transportationPanelRef(panel: IgrExpansionPanel) { - if (!panel) { - return; - } - this.transportationPanel = panel; - } + const selectedCategories = categories + .filter((c: Category) => c.checked) + .map((c: Category) => c.type) + .join(", "); + + return ( +
+
+ + + + Transportation{selectedCategories && `: ${selectedCategories}`} + + Choose how you want to travel + +

+ Select one or more transportation options for your trip. +

+
+ {categories.map((c: Category) => { + return ( + + categoriesChange(e, c.type) + } + > + {c.type} + + ); + })} +
+
+
+ + + Budget: ${cost.lower} - ${cost.upper} + + Set the price range + +

+ Adjust the minimum and maximum cost for available options. +

+
+ ${cost.lower} + ${cost.upper} +
+ +
+
+ + + Minimum Rating{rating && ": "} + {rating} + + Filter by review score + +

+ Choose the lowest rating you want to include in the results. +

+ + {ratingOptions.map((rating) => { + return ( + + 1 ? "s" : "" + } or more`} + max={5} + value={rating} + className="rating-control size-small" + readOnly={true} + > + + ); + })} + +
+
+ + + Arrival Time + {time !== "Any time" && `: ${time}`} + + Set the latest arrival time + +

+ Pick the latest acceptable arrival time for your trip. +

+ + + + + + + + +
+
+
+
+
+ ); } -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/accordion/customization/tsconfig.json b/samples/layouts/accordion/customization/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/accordion/customization/tsconfig.json +++ b/samples/layouts/accordion/customization/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/accordion/nested-scenario/.devcontainer/devcontainer.json b/samples/layouts/accordion/nested-scenario/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/accordion/nested-scenario/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/accordion/nested-scenario/.eslintrc.js b/samples/layouts/accordion/nested-scenario/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/accordion/nested-scenario/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/accordion/nested-scenario/README.md b/samples/layouts/accordion/nested-scenario/README.md index 0c2297b3af..e9fcdfb553 100644 --- a/samples/layouts/accordion/nested-scenario/README.md +++ b/samples/layouts/accordion/nested-scenario/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Nested Scenario feature using [Accordion](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Nested Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/accordion/nested-scenario ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/accordion/nested-scenario/package.json b/samples/layouts/accordion/nested-scenario/package.json index 2cf55c09b0..8f3d4f00bd 100644 --- a/samples/layouts/accordion/nested-scenario/package.json +++ b/samples/layouts/accordion/nested-scenario/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/accordion/nested-scenario/sandbox.config.json b/samples/layouts/accordion/nested-scenario/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/accordion/nested-scenario/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/accordion/overview/.devcontainer/devcontainer.json b/samples/layouts/accordion/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/accordion/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/accordion/overview/.eslintrc.js b/samples/layouts/accordion/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/accordion/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/accordion/overview/README.md b/samples/layouts/accordion/overview/README.md index 01621c4509..d580f72ed9 100644 --- a/samples/layouts/accordion/overview/README.md +++ b/samples/layouts/accordion/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Accordion](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/accordion/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/accordion/overview/package.json b/samples/layouts/accordion/overview/package.json index 2cd59211d6..e1e7f91e05 100644 --- a/samples/layouts/accordion/overview/package.json +++ b/samples/layouts/accordion/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/accordion/overview/sandbox.config.json b/samples/layouts/accordion/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/accordion/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/accordion/programmatic-expansion/README.md b/samples/layouts/accordion/programmatic-expansion/README.md index 5ee8cc0584..8ff0645df1 100644 --- a/samples/layouts/accordion/programmatic-expansion/README.md +++ b/samples/layouts/accordion/programmatic-expansion/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Programmatic Expansion feature using [Accordion](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Program Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/accordion/programmatic-expansion ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/accordion/programmatic-expansion/package.json b/samples/layouts/accordion/programmatic-expansion/package.json index 72a152ab9a..5b8f7b967d 100644 --- a/samples/layouts/accordion/programmatic-expansion/package.json +++ b/samples/layouts/accordion/programmatic-expansion/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/accordion/programmatic-expansion/sandbox.config.json b/samples/layouts/accordion/programmatic-expansion/sandbox.config.json deleted file mode 100644 index f8b5562bd6..0000000000 --- a/samples/layouts/accordion/programmatic-expansion/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} diff --git a/samples/layouts/accordion/styling/.devcontainer/devcontainer.json b/samples/layouts/accordion/styling/.devcontainer/devcontainer.json deleted file mode 100644 index 5779654722..0000000000 --- a/samples/layouts/accordion/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1 +0,0 @@ -{"image":"mcr.microsoft.com/devcontainers/typescript-node:1-20-bullseye"} diff --git a/samples/layouts/accordion/styling/README.md b/samples/layouts/accordion/styling/README.md index abd2d2cb78..476b94f69c 100644 --- a/samples/layouts/accordion/styling/README.md +++ b/samples/layouts/accordion/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Accordion](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/accordion/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/accordion/styling/package.json b/samples/layouts/accordion/styling/package.json index 147cf97c2d..c41473b948 100644 --- a/samples/layouts/accordion/styling/package.json +++ b/samples/layouts/accordion/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/accordion/styling/sandbox.config.json b/samples/layouts/accordion/styling/sandbox.config.json deleted file mode 100644 index f8b5562bd6..0000000000 --- a/samples/layouts/accordion/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} diff --git a/samples/layouts/accordion/tailwind-styling/.devcontainer/devcontainer.json b/samples/layouts/accordion/tailwind-styling/.devcontainer/devcontainer.json deleted file mode 100644 index 5779654722..0000000000 --- a/samples/layouts/accordion/tailwind-styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1 +0,0 @@ -{"image":"mcr.microsoft.com/devcontainers/typescript-node:1-20-bullseye"} diff --git a/samples/layouts/accordion/tailwind-styling/README.md b/samples/layouts/accordion/tailwind-styling/README.md index e5af6a5a19..8ed1d35014 100644 --- a/samples/layouts/accordion/tailwind-styling/README.md +++ b/samples/layouts/accordion/tailwind-styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Tailwind Styling feature using [Accordion](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Tailwin Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/accordion/tailwind-styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/accordion/tailwind-styling/package.json b/samples/layouts/accordion/tailwind-styling/package.json index 98578376df..673e2360fe 100644 --- a/samples/layouts/accordion/tailwind-styling/package.json +++ b/samples/layouts/accordion/tailwind-styling/package.json @@ -12,27 +12,27 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { "@tailwindcss/vite": "^4.3.3", - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "@vitest/browser": "^5.0.2", "tailwindcss": "^4.3.3", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "typescript": "^5.9.3", + "vite": "^8.3.1", + "vitest": "^5.0.2", + "vitest-canvas-mock": "^1.2.0", "worker-loader": "^3.0.8" }, "browserslist": [ diff --git a/samples/layouts/accordion/tailwind-styling/sandbox.config.json b/samples/layouts/accordion/tailwind-styling/sandbox.config.json deleted file mode 100644 index f8b5562bd6..0000000000 --- a/samples/layouts/accordion/tailwind-styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} diff --git a/samples/layouts/avatar/image/.devcontainer/devcontainer.json b/samples/layouts/avatar/image/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/avatar/image/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/avatar/image/.eslintrc.js b/samples/layouts/avatar/image/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/avatar/image/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/avatar/image/README.md b/samples/layouts/avatar/image/README.md index 70dd17c2a3..3517a5b506 100644 --- a/samples/layouts/avatar/image/README.md +++ b/samples/layouts/avatar/image/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Image feature using [Avatar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Image f Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/avatar/image ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/avatar/image/package.json b/samples/layouts/avatar/image/package.json index 372eeead51..c7cd801741 100644 --- a/samples/layouts/avatar/image/package.json +++ b/samples/layouts/avatar/image/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/avatar/image/sandbox.config.json b/samples/layouts/avatar/image/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/avatar/image/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/avatar/overview/.devcontainer/devcontainer.json b/samples/layouts/avatar/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/avatar/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/avatar/overview/.eslintrc.js b/samples/layouts/avatar/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/avatar/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/avatar/overview/README.md b/samples/layouts/avatar/overview/README.md index 9a54ce74bc..cfecba676f 100644 --- a/samples/layouts/avatar/overview/README.md +++ b/samples/layouts/avatar/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Avatar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/avatar/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/avatar/overview/package.json b/samples/layouts/avatar/overview/package.json index 3ea5825694..298287dff6 100644 --- a/samples/layouts/avatar/overview/package.json +++ b/samples/layouts/avatar/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/avatar/overview/sandbox.config.json b/samples/layouts/avatar/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/avatar/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/avatar/shape/.devcontainer/devcontainer.json b/samples/layouts/avatar/shape/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/avatar/shape/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/avatar/shape/.eslintrc.js b/samples/layouts/avatar/shape/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/avatar/shape/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/avatar/shape/README.md b/samples/layouts/avatar/shape/README.md index 8b14d935cc..4a8728b167 100644 --- a/samples/layouts/avatar/shape/README.md +++ b/samples/layouts/avatar/shape/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Shape feature using [Avatar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Shape f Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/avatar/shape ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/avatar/shape/package.json b/samples/layouts/avatar/shape/package.json index 75ce1c1c6c..eff5bdd29d 100644 --- a/samples/layouts/avatar/shape/package.json +++ b/samples/layouts/avatar/shape/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/avatar/shape/sandbox.config.json b/samples/layouts/avatar/shape/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/avatar/shape/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/avatar/size/.devcontainer/devcontainer.json b/samples/layouts/avatar/size/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/avatar/size/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/avatar/size/.eslintrc.js b/samples/layouts/avatar/size/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/avatar/size/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/avatar/size/README.md b/samples/layouts/avatar/size/README.md index 13ebb960bd..6ef7276344 100644 --- a/samples/layouts/avatar/size/README.md +++ b/samples/layouts/avatar/size/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Size feature using [Avatar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Size fe Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/avatar/size ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/avatar/size/package.json b/samples/layouts/avatar/size/package.json index 91e2511a9d..d1e1581955 100644 --- a/samples/layouts/avatar/size/package.json +++ b/samples/layouts/avatar/size/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/avatar/size/sandbox.config.json b/samples/layouts/avatar/size/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/avatar/size/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/avatar/styling/.devcontainer/devcontainer.json b/samples/layouts/avatar/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/avatar/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/avatar/styling/.eslintrc.js b/samples/layouts/avatar/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/avatar/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/avatar/styling/README.md b/samples/layouts/avatar/styling/README.md index 33eb4160b7..0f01ddb6ff 100644 --- a/samples/layouts/avatar/styling/README.md +++ b/samples/layouts/avatar/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Avatar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/avatar/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/avatar/styling/package.json b/samples/layouts/avatar/styling/package.json index 2b9af35b6d..023f6001bc 100644 --- a/samples/layouts/avatar/styling/package.json +++ b/samples/layouts/avatar/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/avatar/styling/sandbox.config.json b/samples/layouts/avatar/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/avatar/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/avatar/tailwind-styling/.devcontainer/devcontainer.json b/samples/layouts/avatar/tailwind-styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/avatar/tailwind-styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/avatar/tailwind-styling/.eslintrc.js b/samples/layouts/avatar/tailwind-styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/avatar/tailwind-styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/avatar/tailwind-styling/README.md b/samples/layouts/avatar/tailwind-styling/README.md index 782eb476b1..adceeb7f06 100644 --- a/samples/layouts/avatar/tailwind-styling/README.md +++ b/samples/layouts/avatar/tailwind-styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Tailwind Styling feature using [Avatar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Tailwin Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/avatar/tailwind-styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/avatar/tailwind-styling/package.json b/samples/layouts/avatar/tailwind-styling/package.json index cc8b80c305..9734b2aa1b 100644 --- a/samples/layouts/avatar/tailwind-styling/package.json +++ b/samples/layouts/avatar/tailwind-styling/package.json @@ -12,27 +12,27 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { "@tailwindcss/vite": "^4.3.3", - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "@vitest/browser": "^5.0.2", "tailwindcss": "^4.3.3", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "typescript": "^5.9.3", + "vite": "^8.3.1", + "vitest": "^5.0.2", + "vitest-canvas-mock": "^1.2.0", "worker-loader": "^3.0.8" }, "browserslist": [ diff --git a/samples/layouts/avatar/tailwind-styling/sandbox.config.json b/samples/layouts/avatar/tailwind-styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/avatar/tailwind-styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/avatar/variants/.devcontainer/devcontainer.json b/samples/layouts/avatar/variants/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/avatar/variants/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/avatar/variants/.eslintrc.js b/samples/layouts/avatar/variants/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/avatar/variants/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/avatar/variants/README.md b/samples/layouts/avatar/variants/README.md index 1c79b80274..4bae66b4e0 100644 --- a/samples/layouts/avatar/variants/README.md +++ b/samples/layouts/avatar/variants/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Variants feature using [Avatar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Variant Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/avatar/variants ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/avatar/variants/package.json b/samples/layouts/avatar/variants/package.json index 806c6923d2..5f0bbf230a 100644 --- a/samples/layouts/avatar/variants/package.json +++ b/samples/layouts/avatar/variants/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/avatar/variants/sandbox.config.json b/samples/layouts/avatar/variants/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/avatar/variants/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/custom-separator/.devcontainer/devcontainer.json b/samples/layouts/breadcrumbs/custom-separator/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/breadcrumbs/custom-separator/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/custom-separator/.eslintrc.js b/samples/layouts/breadcrumbs/custom-separator/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/breadcrumbs/custom-separator/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/custom-separator/README.md b/samples/layouts/breadcrumbs/custom-separator/README.md index 67047ac32d..75d4fc7723 100644 --- a/samples/layouts/breadcrumbs/custom-separator/README.md +++ b/samples/layouts/breadcrumbs/custom-separator/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Custom Separator feature using [Breadcrumbs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Custom Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/breadcrumbs/custom-separator ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/breadcrumbs/custom-separator/package.json b/samples/layouts/breadcrumbs/custom-separator/package.json index abb059435c..5ab744cf38 100644 --- a/samples/layouts/breadcrumbs/custom-separator/package.json +++ b/samples/layouts/breadcrumbs/custom-separator/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/breadcrumbs/custom-separator/sandbox.config.json b/samples/layouts/breadcrumbs/custom-separator/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/breadcrumbs/custom-separator/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/custom-separator/src/index.tsx b/samples/layouts/breadcrumbs/custom-separator/src/index.tsx index a264af1ab2..306938b1a7 100644 --- a/samples/layouts/breadcrumbs/custom-separator/src/index.tsx +++ b/samples/layouts/breadcrumbs/custom-separator/src/index.tsx @@ -27,5 +27,5 @@ export default function BreadcrumbsCustomSeparator() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/breadcrumbs/custom-separator/tsconfig.json b/samples/layouts/breadcrumbs/custom-separator/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/breadcrumbs/custom-separator/tsconfig.json +++ b/samples/layouts/breadcrumbs/custom-separator/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/breadcrumbs/dropdown/README.md b/samples/layouts/breadcrumbs/dropdown/README.md new file mode 100644 index 0000000000..7e235a1d7a --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Dropdown feature using [Breadcrumbs](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/layouts/breadcrumbs/dropdown +``` + +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/layouts/breadcrumbs/dropdown/index.html b/samples/layouts/breadcrumbs/dropdown/index.html new file mode 100644 index 0000000000..7fd3619850 --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/index.html @@ -0,0 +1,11 @@ + + + + Breadcrumbs Dropdown + + + +
+ + + diff --git a/samples/layouts/breadcrumbs/dropdown/package.json b/samples/layouts/breadcrumbs/dropdown/package.json new file mode 100644 index 0000000000..6465ad5344 --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-breadcrumbs-dropdown", + "description": "This project provides example of Breadcrumbs Dropdown 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/layouts/breadcrumbs/dropdown/src/index.css b/samples/layouts/breadcrumbs/dropdown/src/index.css new file mode 100644 index 0000000000..b261f7739d --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/src/index.css @@ -0,0 +1,41 @@ +.sample { + display: flex; + justify-content: center; + font-family: var(--ig-font-family); +} + +[slot="target"] { + color: var(--text-color); + + &:hover { + color: var(--hover-text-color); + cursor: pointer; + } + + &:focus { + color: var(--focus-text-color); + } +} + +igc-dropdown-item[selected] { + background: var(--background-color); + outline: none; + color: var(--item-text-color); + + igc-icon { + color: var(--item-icon-color); + } + + &:hover { + background: var(--hover-item-background); + color: var(--hover-item-text-color); + + igc-icon { + color: var(--hover-item-icon-color); + } + } +} + +igc-icon { + --ig-size: 2; +} diff --git a/samples/layouts/breadcrumbs/dropdown/src/index.tsx b/samples/layouts/breadcrumbs/dropdown/src/index.tsx new file mode 100644 index 0000000000..9dffa473cb --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/src/index.tsx @@ -0,0 +1,60 @@ +import React, { useEffect } from "react"; +import ReactDOM from "react-dom/client"; +import "./index.css"; +import { + IgrBreadcrumbs, + IgrBreadcrumb, + IgrDropdown, + IgrDropdownItem, + IgrIcon, + registerIconFromText, +} from "igniteui-react"; +import "igniteui-webcomponents/themes/light/bootstrap.css"; + +const threeDotsIcon = + ''; + +const folderIcon = + ''; + +export default function BreadcrumbsDropdown() { + useEffect(() => { + registerIconFromText("three-dots", threeDotsIcon); + registerIconFromText("folder", folderIcon); + }, []); + + return ( +
+ +
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); +root.render(); diff --git a/samples/layouts/breadcrumbs/dropdown/tsconfig.json b/samples/layouts/breadcrumbs/dropdown/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/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/layouts/breadcrumbs/dropdown/vite.config.js b/samples/layouts/breadcrumbs/dropdown/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/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/layouts/breadcrumbs/overview/.devcontainer/devcontainer.json b/samples/layouts/breadcrumbs/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/breadcrumbs/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/overview/.eslintrc.js b/samples/layouts/breadcrumbs/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/breadcrumbs/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/overview/README.md b/samples/layouts/breadcrumbs/overview/README.md index ebf531dc46..b8c18d6d64 100644 --- a/samples/layouts/breadcrumbs/overview/README.md +++ b/samples/layouts/breadcrumbs/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Breadcrumbs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/breadcrumbs/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/breadcrumbs/overview/package.json b/samples/layouts/breadcrumbs/overview/package.json index 2b684a9a4e..624dc481ce 100644 --- a/samples/layouts/breadcrumbs/overview/package.json +++ b/samples/layouts/breadcrumbs/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/breadcrumbs/overview/sandbox.config.json b/samples/layouts/breadcrumbs/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/breadcrumbs/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/overview/src/index.tsx b/samples/layouts/breadcrumbs/overview/src/index.tsx index 87ce1370c7..b1e37e8da3 100644 --- a/samples/layouts/breadcrumbs/overview/src/index.tsx +++ b/samples/layouts/breadcrumbs/overview/src/index.tsx @@ -2,7 +2,7 @@ import React, { useEffect } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { IgrBreadcrumbs, IgrBreadcrumb, IgrIcon, registerIconFromText } from "igniteui-react"; -import "igniteui-webcomponents/themes/light/material.css"; +import "igniteui-webcomponents/themes/light/bootstrap.css"; const homeIcon = ''; @@ -46,5 +46,5 @@ export default function BreadcrumbsOverview() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/breadcrumbs/overview/tsconfig.json b/samples/layouts/breadcrumbs/overview/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/breadcrumbs/overview/tsconfig.json +++ b/samples/layouts/breadcrumbs/overview/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/breadcrumbs/prefix-suffix/.devcontainer/devcontainer.json b/samples/layouts/breadcrumbs/prefix-suffix/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/breadcrumbs/prefix-suffix/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/prefix-suffix/.eslintrc.js b/samples/layouts/breadcrumbs/prefix-suffix/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/breadcrumbs/prefix-suffix/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/prefix-suffix/README.md b/samples/layouts/breadcrumbs/prefix-suffix/README.md index 80b866d8ea..5cd08ab6f0 100644 --- a/samples/layouts/breadcrumbs/prefix-suffix/README.md +++ b/samples/layouts/breadcrumbs/prefix-suffix/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Prefix Suffix feature using [Breadcrumbs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Prefix Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/breadcrumbs/prefix-suffix ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/breadcrumbs/prefix-suffix/package.json b/samples/layouts/breadcrumbs/prefix-suffix/package.json index 3412cdafc1..bc310f23b5 100644 --- a/samples/layouts/breadcrumbs/prefix-suffix/package.json +++ b/samples/layouts/breadcrumbs/prefix-suffix/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/breadcrumbs/prefix-suffix/sandbox.config.json b/samples/layouts/breadcrumbs/prefix-suffix/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/breadcrumbs/prefix-suffix/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/prefix-suffix/src/index.tsx b/samples/layouts/breadcrumbs/prefix-suffix/src/index.tsx index e55745ba38..d8f3bc1c44 100644 --- a/samples/layouts/breadcrumbs/prefix-suffix/src/index.tsx +++ b/samples/layouts/breadcrumbs/prefix-suffix/src/index.tsx @@ -37,5 +37,5 @@ export default function BreadcrumbsPrefixSuffix() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/breadcrumbs/prefix-suffix/tsconfig.json b/samples/layouts/breadcrumbs/prefix-suffix/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/breadcrumbs/prefix-suffix/tsconfig.json +++ b/samples/layouts/breadcrumbs/prefix-suffix/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/breadcrumbs/sizes/.devcontainer/devcontainer.json b/samples/layouts/breadcrumbs/sizes/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/breadcrumbs/sizes/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/sizes/.eslintrc.js b/samples/layouts/breadcrumbs/sizes/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/breadcrumbs/sizes/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/sizes/README.md b/samples/layouts/breadcrumbs/sizes/README.md index d23317e01e..2b1be8feb7 100644 --- a/samples/layouts/breadcrumbs/sizes/README.md +++ b/samples/layouts/breadcrumbs/sizes/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Sizes feature using [Breadcrumbs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Sizes f Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/breadcrumbs/sizes ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/breadcrumbs/sizes/package.json b/samples/layouts/breadcrumbs/sizes/package.json index dead666af9..9d0ed00709 100644 --- a/samples/layouts/breadcrumbs/sizes/package.json +++ b/samples/layouts/breadcrumbs/sizes/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/breadcrumbs/sizes/sandbox.config.json b/samples/layouts/breadcrumbs/sizes/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/breadcrumbs/sizes/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/sizes/src/index.css b/samples/layouts/breadcrumbs/sizes/src/index.css index 3af7bf694f..d2aca01409 100644 --- a/samples/layouts/breadcrumbs/sizes/src/index.css +++ b/samples/layouts/breadcrumbs/sizes/src/index.css @@ -15,7 +15,7 @@ .sample { display: flex; justify-content: center; - font-family: "Aktiv Grotesk", sans-serif; + font-family: var(--ig-font-family); } span { @@ -23,6 +23,7 @@ span { width: 3.75rem; margin-inline-end: 2rem; font-size: 0.875rem; + font-family: "Aktiv Grotesk", sans-serif; } nav { diff --git a/samples/layouts/breadcrumbs/sizes/src/index.tsx b/samples/layouts/breadcrumbs/sizes/src/index.tsx index d2828664f8..00397463b4 100644 --- a/samples/layouts/breadcrumbs/sizes/src/index.tsx +++ b/samples/layouts/breadcrumbs/sizes/src/index.tsx @@ -2,7 +2,7 @@ import React, { useEffect } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { IgrBreadcrumbs, IgrBreadcrumb, IgrIcon, registerIconFromText } from "igniteui-react"; -import "igniteui-webcomponents/themes/light/material.css"; +import "igniteui-webcomponents/themes/light/bootstrap.css"; const homeIcon = ''; @@ -57,5 +57,5 @@ export default function BreadcrumbsSizes() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/breadcrumbs/sizes/tsconfig.json b/samples/layouts/breadcrumbs/sizes/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/breadcrumbs/sizes/tsconfig.json +++ b/samples/layouts/breadcrumbs/sizes/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/breadcrumbs/states/.devcontainer/devcontainer.json b/samples/layouts/breadcrumbs/states/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/breadcrumbs/states/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/states/.eslintrc.js b/samples/layouts/breadcrumbs/states/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/breadcrumbs/states/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/states/README.md b/samples/layouts/breadcrumbs/states/README.md index 3504bc6a18..9ea70f7600 100644 --- a/samples/layouts/breadcrumbs/states/README.md +++ b/samples/layouts/breadcrumbs/states/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of States feature using [Breadcrumbs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of States Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/breadcrumbs/states ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/breadcrumbs/states/package.json b/samples/layouts/breadcrumbs/states/package.json index a690493e67..466fd742ce 100644 --- a/samples/layouts/breadcrumbs/states/package.json +++ b/samples/layouts/breadcrumbs/states/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/breadcrumbs/states/sandbox.config.json b/samples/layouts/breadcrumbs/states/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/breadcrumbs/states/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/states/src/index.css b/samples/layouts/breadcrumbs/states/src/index.css index ed038d662f..24452e765c 100644 --- a/samples/layouts/breadcrumbs/states/src/index.css +++ b/samples/layouts/breadcrumbs/states/src/index.css @@ -15,7 +15,6 @@ a { color: var(--focus-text-color); - text-decoration: underline var(--focus-underline-color); } } @@ -36,7 +35,6 @@ a { color: var(--focus-hover-text-color); - text-decoration: underline var(--focus-hover-underline-color); } } @@ -47,7 +45,6 @@ a { color: var(--focus-pressed-text-color); - text-decoration: underline var(--focus-pressed-underline-color); } } @@ -61,6 +58,44 @@ } } +[data-igd-theme="material"] { + .state-focused-pressed a, + .state-focused-hover a, + .state-focused a { + text-decoration: underline var(--focus-pressed-underline-color); + } +} + +[data-igd-theme="fluent"] { + .state-focused-pressed::part(label), + .state-focused-hover::part(label), + .state-focused::part(label) { + outline: .0625rem solid var(--focus-border-color); + } +} + +[data-igd-theme="bootstrap"] { + .state-focused-pressed::part(label), + .state-focused-hover::part(label), + .state-focused::part(label) { + outline: .25rem solid var(--focus-border-color); + border-radius: 0.25rem; + } +} + +[data-igd-theme="indigo"] { + .state-focused-pressed::part(label), + .state-focused-hover::part(label), + .state-focused::part(label) { + outline: .1875rem solid var(--focus-border-color); + border-radius: 2rem; + } + + .state-disabled igc-icon { + opacity: 0.2; + } +} + :host { overflow: auto; } @@ -74,13 +109,14 @@ justify-content: center; max-height: 15rem; overflow: auto; - font-family: "Aktiv Grotesk", sans-serif; + font-family: var(--ig-font-family); } span { color: #7d8a96; font-size: 0.875rem; margin-block-end: 1rem; + font-family: "Aktiv Grotesk", sans-serif; } nav { diff --git a/samples/layouts/breadcrumbs/states/src/index.tsx b/samples/layouts/breadcrumbs/states/src/index.tsx index 44a8c9cdc3..50f04c776e 100644 --- a/samples/layouts/breadcrumbs/states/src/index.tsx +++ b/samples/layouts/breadcrumbs/states/src/index.tsx @@ -2,7 +2,7 @@ import React, { useEffect } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { IgrBreadcrumbs, IgrBreadcrumb, IgrIcon, registerIconFromText } from "igniteui-react"; -import "igniteui-webcomponents/themes/light/material.css"; +import "igniteui-webcomponents/themes/light/bootstrap.css"; const homeIcon = ''; @@ -77,5 +77,5 @@ export default function BreadcrumbsStates() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/breadcrumbs/states/tsconfig.json b/samples/layouts/breadcrumbs/states/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/breadcrumbs/states/tsconfig.json +++ b/samples/layouts/breadcrumbs/states/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/breadcrumbs/styling/.devcontainer/devcontainer.json b/samples/layouts/breadcrumbs/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/breadcrumbs/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/styling/.eslintrc.js b/samples/layouts/breadcrumbs/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/breadcrumbs/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/styling/README.md b/samples/layouts/breadcrumbs/styling/README.md index 8d92a91f7e..d95b60ffb6 100644 --- a/samples/layouts/breadcrumbs/styling/README.md +++ b/samples/layouts/breadcrumbs/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Breadcrumbs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/breadcrumbs/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/breadcrumbs/styling/package.json b/samples/layouts/breadcrumbs/styling/package.json index c103427e34..5d4e46ebeb 100644 --- a/samples/layouts/breadcrumbs/styling/package.json +++ b/samples/layouts/breadcrumbs/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/breadcrumbs/styling/sandbox.config.json b/samples/layouts/breadcrumbs/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/breadcrumbs/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/styling/src/index.tsx b/samples/layouts/breadcrumbs/styling/src/index.tsx index 0b4e1e5e8f..07837241c2 100644 --- a/samples/layouts/breadcrumbs/styling/src/index.tsx +++ b/samples/layouts/breadcrumbs/styling/src/index.tsx @@ -34,5 +34,5 @@ export default function BreadcrumbsStyling() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/breadcrumbs/styling/tsconfig.json b/samples/layouts/breadcrumbs/styling/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/breadcrumbs/styling/tsconfig.json +++ b/samples/layouts/breadcrumbs/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/breadcrumbs/tailwind-styling/.devcontainer/devcontainer.json b/samples/layouts/breadcrumbs/tailwind-styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/breadcrumbs/tailwind-styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/tailwind-styling/.eslintrc.js b/samples/layouts/breadcrumbs/tailwind-styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/breadcrumbs/tailwind-styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/tailwind-styling/README.md b/samples/layouts/breadcrumbs/tailwind-styling/README.md index acb519b9df..a1f35cf177 100644 --- a/samples/layouts/breadcrumbs/tailwind-styling/README.md +++ b/samples/layouts/breadcrumbs/tailwind-styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Tailwind Styling feature using [Breadcrumbs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Tailwin Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/breadcrumbs/tailwind-styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/breadcrumbs/tailwind-styling/package.json b/samples/layouts/breadcrumbs/tailwind-styling/package.json index 9fff0cb539..76f16f8220 100644 --- a/samples/layouts/breadcrumbs/tailwind-styling/package.json +++ b/samples/layouts/breadcrumbs/tailwind-styling/package.json @@ -12,27 +12,27 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { "@tailwindcss/vite": "^4.3.3", - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "@vitest/browser": "^5.0.2", "tailwindcss": "^4.3.3", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "typescript": "^5.9.3", + "vite": "^8.3.1", + "vitest": "^5.0.2", + "vitest-canvas-mock": "^1.2.0", "worker-loader": "^3.0.8" }, "browserslist": [ diff --git a/samples/layouts/breadcrumbs/tailwind-styling/sandbox.config.json b/samples/layouts/breadcrumbs/tailwind-styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/breadcrumbs/tailwind-styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/tailwind-styling/src/index.tsx b/samples/layouts/breadcrumbs/tailwind-styling/src/index.tsx index b158fd4a43..949a4e4c45 100644 --- a/samples/layouts/breadcrumbs/tailwind-styling/src/index.tsx +++ b/samples/layouts/breadcrumbs/tailwind-styling/src/index.tsx @@ -31,5 +31,5 @@ export default function BreadcrumbsTailwindStyling() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/breadcrumbs/tailwind-styling/tsconfig.json b/samples/layouts/breadcrumbs/tailwind-styling/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/breadcrumbs/tailwind-styling/tsconfig.json +++ b/samples/layouts/breadcrumbs/tailwind-styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/breadcrumbs/wrapping/.devcontainer/devcontainer.json b/samples/layouts/breadcrumbs/wrapping/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/breadcrumbs/wrapping/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/wrapping/.eslintrc.js b/samples/layouts/breadcrumbs/wrapping/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/breadcrumbs/wrapping/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/wrapping/README.md b/samples/layouts/breadcrumbs/wrapping/README.md index d76a83a6e8..286d45d429 100644 --- a/samples/layouts/breadcrumbs/wrapping/README.md +++ b/samples/layouts/breadcrumbs/wrapping/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Wrapping feature using [Breadcrumbs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Wrappin Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/breadcrumbs/wrapping ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/breadcrumbs/wrapping/package.json b/samples/layouts/breadcrumbs/wrapping/package.json index 20d456c42d..8d96ce5054 100644 --- a/samples/layouts/breadcrumbs/wrapping/package.json +++ b/samples/layouts/breadcrumbs/wrapping/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/breadcrumbs/wrapping/sandbox.config.json b/samples/layouts/breadcrumbs/wrapping/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/breadcrumbs/wrapping/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/wrapping/src/index.tsx b/samples/layouts/breadcrumbs/wrapping/src/index.tsx index d348148f89..7bd58fa665 100644 --- a/samples/layouts/breadcrumbs/wrapping/src/index.tsx +++ b/samples/layouts/breadcrumbs/wrapping/src/index.tsx @@ -28,5 +28,5 @@ export default function BreadcrumbsWrapping() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/breadcrumbs/wrapping/tsconfig.json b/samples/layouts/breadcrumbs/wrapping/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/breadcrumbs/wrapping/tsconfig.json +++ b/samples/layouts/breadcrumbs/wrapping/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/card/actions/README.md b/samples/layouts/card/actions/README.md new file mode 100644 index 0000000000..c294ce219c --- /dev/null +++ b/samples/layouts/card/actions/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Actions feature using [Card](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/layouts/card/actions +``` + +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/layouts/card/actions/index.html b/samples/layouts/card/actions/index.html new file mode 100644 index 0000000000..686b0535a1 --- /dev/null +++ b/samples/layouts/card/actions/index.html @@ -0,0 +1,11 @@ + + + + CardActions + + + +
+ + + \ No newline at end of file diff --git a/samples/layouts/card/actions/package.json b/samples/layouts/card/actions/package.json new file mode 100644 index 0000000000..ba861610e2 --- /dev/null +++ b/samples/layouts/card/actions/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-card-actions", + "description": "This project provides example of Card Actions 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/layouts/card/actions/src/index.css b/samples/layouts/card/actions/src/index.css new file mode 100644 index 0000000000..9a44dc01fd --- /dev/null +++ b/samples/layouts/card/actions/src/index.css @@ -0,0 +1,104 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.container.sample { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: flex-start; + justify-content: center; + gap: 3rem; + padding: 2.5rem 1.5rem; +} + +.card-item { + display: flex; + flex-direction: column; + align-items: center; + gap: 1.25rem; +} + +.card-item__label { + color: var(--ig-gray-600); + font-family: "Aktiv Grotesk", sans-serif; + font-size: 13px; + font-weight: 400; + font-style: normal; + line-height: 20px; + letter-spacing: 0.3px; +} + +.post-card { + --ig-card-border-radius: 0.5rem; + + inline-size: 310px; +} + +.post-card igc-card-header { + padding: 1rem 1rem 0; +} + +.post-card [slot="title"] { + color: var(--ig-gray-900); + font-size: 1.25rem; + font-weight: 600; + line-height: 1.5rem; + letter-spacing: 0.15px; +} + +.post-card [slot="subtitle"] { + color: var(--ig-gray-600); + font-size: 0.875rem; + font-weight: 600; + line-height: 1.5rem; + letter-spacing: 0.1px; +} + +.post-card igc-card-content { + padding: 1.5rem 1rem 0; + overflow: visible; +} + +.post-card igc-card-content p { + margin: 0; + color: var(--ig-gray-700); + font-size: 0.875rem; + font-weight: 400; + line-height: 1.25rem; + letter-spacing: 0.25px; +} + +.post-card igc-card-actions { + padding: 0.75rem 1rem 0.5rem; +} + +.post-card igc-icon-button { + --ig-size: var(--ig-size-small); + --ig-flat-icon-button-foreground: var(--ig-gray-900); +} + +.post-card igc-card-actions igc-icon-button:not(:first-of-type) { + margin-inline-start: 0.5rem; +} + +.post-card--vertical { + flex-direction: row; + inline-size: 390px; +} + +.post-card--vertical igc-card-content { + padding-block-end: 1rem; +} + +.post-card__body { + display: flex; + flex: 1 1 auto; + flex-direction: column; + min-inline-size: 0; +} + +.post-card--vertical igc-card-actions { + justify-content: flex-start; + margin-block-start: 0; + padding: 1rem 1rem 1rem 0; +} diff --git a/samples/layouts/card/actions/src/index.tsx b/samples/layouts/card/actions/src/index.tsx new file mode 100644 index 0000000000..a7912d2403 --- /dev/null +++ b/samples/layouts/card/actions/src/index.tsx @@ -0,0 +1,130 @@ +import React, { useEffect } from "react"; +import ReactDOM from "react-dom/client"; +import "./index.css"; +import { + IgrAvatar, + IgrCard, + IgrCardActions, + IgrCardContent, + IgrCardHeader, + IgrIconButton, + registerIconFromText, +} from "igniteui-react"; +import "igniteui-webcomponents/themes/light/bootstrap.css"; + +const favoriteIcon = + ''; + +const bookmarkIcon = + ''; + +const linkedinIcon = + ''; + +export default function CardActions() { + useEffect(() => { + registerIconFromText("favorite", favoriteIcon, "material"); + registerIconFromText("bookmark", bookmarkIcon, "material"); + registerIconFromText("linkedin", linkedinIcon, "material"); + }, []); + + return ( +
+
+ Horizontal actions (default) + + + + + Lena Fischer + @lena · 2h ago + + +

+ Just shipped our new design system 🚀 Six months of tokens, + components, and documentation — and it’s finally live. + So proud of the team. +

+
+ + + + + +
+
+ +
+ Vertical actions + + +
+ + + Lena Fischer + @lena · 2h ago + + +

+ Just shipped our new design system 🚀 Six months of + tokens, components, and documentation — and it’s + finally live. So proud of the team. +

+
+
+ + + + + + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); +root.render(); diff --git a/samples/layouts/card/actions/tsconfig.json b/samples/layouts/card/actions/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/layouts/card/actions/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/layouts/card/actions/vite.config.js b/samples/layouts/card/actions/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/layouts/card/actions/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/layouts/card/horizontal/.devcontainer/devcontainer.json b/samples/layouts/card/horizontal/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/card/horizontal/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/card/horizontal/.eslintrc.js b/samples/layouts/card/horizontal/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/card/horizontal/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/card/horizontal/README.md b/samples/layouts/card/horizontal/README.md deleted file mode 100644 index f2b2bc6479..0000000000 --- a/samples/layouts/card/horizontal/README.md +++ /dev/null @@ -1,56 +0,0 @@ - - - -This folder contains implementation of React application with example of Horizontal feature using [Card](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. - - - - - - View Docs - - - View Code - - - Run Sample - - - 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 -git checkout master -cd ./igniteui-react-examples -cd ./samples/layouts/card/horizontal -``` - -open above folder in VS Code or type: -``` -code . -``` - -In terminal window, run: -``` -npm install --legacy-peer-deps -npm run-script 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/layouts/card/horizontal/index.html b/samples/layouts/card/horizontal/index.html deleted file mode 100644 index 7b1aed8967..0000000000 --- a/samples/layouts/card/horizontal/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - CardHorizontal - - - -
- - - \ No newline at end of file diff --git a/samples/layouts/card/horizontal/package.json b/samples/layouts/card/horizontal/package.json deleted file mode 100644 index 07bc2b9e73..0000000000 --- a/samples/layouts/card/horizontal/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "react-card-horizontal", - "description": "This project provides example of Card Horizontal 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": "^1.17.0", - "igniteui-react": "19.9.0", - "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "tslib": "^2.4.0" - }, - "devDependencies": { - "@types/jest": "^29.2.0", - "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", - "worker-loader": "^3.0.8" - }, - "browserslist": [ - ">0.2%", - "not dead", - "not ie <= 11", - "not op_mini all" - ] -} diff --git a/samples/layouts/card/horizontal/sandbox.config.json b/samples/layouts/card/horizontal/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/card/horizontal/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/card/horizontal/src/CardHorizontal.css b/samples/layouts/card/horizontal/src/CardHorizontal.css deleted file mode 100644 index 996f2a0fbf..0000000000 --- a/samples/layouts/card/horizontal/src/CardHorizontal.css +++ /dev/null @@ -1,23 +0,0 @@ -.card-wrapper { - max-width: 400px; - min-width: 250px; -} - -.card-horizontal { - display: flex; - flex-direction: row; - flex: 1 1 0%; -} - -.card-horizontal img { - width: 64px; - height: 64px; -} - -.card-horizontal igc-card-actions { - justify-content: center; -} - -.divider { - border-right: 1px solid darkgray; -} diff --git a/samples/layouts/card/horizontal/src/index.css b/samples/layouts/card/horizontal/src/index.css deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/samples/layouts/card/horizontal/src/index.tsx b/samples/layouts/card/horizontal/src/index.tsx deleted file mode 100644 index 7cab8d0f14..0000000000 --- a/samples/layouts/card/horizontal/src/index.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import './index.css'; -import './CardHorizontal.css'; -import { IgrCard, IgrCardHeader, IgrCardContent, IgrCardActions } from 'igniteui-react'; -import 'igniteui-webcomponents/themes/light/bootstrap.css'; - -export default function CardHorizontal() { - - return ( -
-
- -
-
- - - Rozes - Under the Grave (2016) - - -

As I have always said: I write what’s real and what’s true, - even if it means throwing myself under the bus.

-
-
-
- - skip_previous - play_arrow - skip_next - -
-
-
-
- ); -} - -// rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); -root.render(); diff --git a/samples/layouts/card/media/README.md b/samples/layouts/card/media/README.md new file mode 100644 index 0000000000..bb5239f662 --- /dev/null +++ b/samples/layouts/card/media/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Media feature using [Card](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/layouts/card/media +``` + +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/layouts/card/media/index.html b/samples/layouts/card/media/index.html new file mode 100644 index 0000000000..411399814f --- /dev/null +++ b/samples/layouts/card/media/index.html @@ -0,0 +1,11 @@ + + + + CardMedia + + + +
+ + + \ No newline at end of file diff --git a/samples/layouts/card/media/package.json b/samples/layouts/card/media/package.json new file mode 100644 index 0000000000..bfa03ab7fa --- /dev/null +++ b/samples/layouts/card/media/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-card-media", + "description": "This project provides example of Card Media 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/layouts/card/media/src/index.css b/samples/layouts/card/media/src/index.css new file mode 100644 index 0000000000..0072aef1b1 --- /dev/null +++ b/samples/layouts/card/media/src/index.css @@ -0,0 +1,80 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.container.sample { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-content: center; + align-items: flex-start; + justify-content: center; + gap: 1.25rem; + padding: 2rem 0.5rem; +} + +.media-card { + --ig-card-border-radius: 0.25rem; + + flex: 1 1 15rem; + max-inline-size: 16rem; +} + +.media-card__media { + block-size: 6.5rem; +} + +.media-card__media img { + inline-size: 100%; + block-size: 100%; + object-fit: cover; +} + +.media-card igc-card-header { + padding: 1rem 1rem 0; +} + +.media-card [slot="title"] { + margin-block-end: 0; + color: var(--ig-gray-900); + font-size: 1.125rem; + font-weight: 600; + line-height: 1.5rem; + letter-spacing: 0.15px; +} + +.media-card [slot="subtitle"] { + color: var(--ig-gray-900); + font-size: 0.875rem; + font-weight: 600; + line-height: 1.5rem; + letter-spacing: 0.1px; +} + +.media-card igc-card-actions { + padding: 1.5rem 1rem 0.75rem; + flex-wrap: nowrap; +} + +.media-card__icons { + display: inline-flex; + align-items: center; + gap: 0.25rem; + color: var(--ig-gray-900); +} + +.media-card__icons igc-icon { + --ig-icon-size: 1rem; +} + +.media-card__action { + --ig-size: var(--ig-size-small); +} + +.media-card__action::part(base) { + padding: 0; + background: transparent; + font-size: 0.8125rem; + font-weight: 600; + letter-spacing: 0.25px; + text-transform: uppercase; +} diff --git a/samples/layouts/card/media/src/index.tsx b/samples/layouts/card/media/src/index.tsx new file mode 100644 index 0000000000..c579e55097 --- /dev/null +++ b/samples/layouts/card/media/src/index.tsx @@ -0,0 +1,126 @@ +import React, { useEffect } from "react"; +import ReactDOM from "react-dom/client"; +import "./index.css"; +import { + IgrButton, + IgrCard, + IgrCardActions, + IgrCardHeader, + IgrCardMedia, + IgrIcon, + registerIconFromText, +} from "igniteui-react"; +import "igniteui-webcomponents/themes/light/bootstrap.css"; + +const videocamIcon = + ''; + +const bluetoothIcon = + ''; + +const volumeOffIcon = + ''; + +const directionsBusIcon = + ''; + +const directionsCarIcon = + ''; + +const flightIcon = + ''; + +const placeIcon = + ''; + +const pinRightIcon = + ''; + +export default function CardMedia() { + useEffect(() => { + registerIconFromText("videocam", videocamIcon, "material"); + registerIconFromText("bluetooth", bluetoothIcon, "material"); + registerIconFromText("volume-off", volumeOffIcon, "material"); + registerIconFromText("directions-bus", directionsBusIcon, "material"); + registerIconFromText("directions-car", directionsCarIcon, "material"); + registerIconFromText("flight", flightIcon, "material"); + registerIconFromText("place", placeIcon, "material"); + registerIconFromText("pin-right", pinRightIcon, "material"); + }, []); + + return ( +
+ + + A meeting room with a long table and chairs + + + Book your meeting room + Max 15 seats / 10 m2 + + +
+ + + +
+ + Book now + +
+
+ + + + A street map with the event space marked + + + Main Event Space + Floor 4, Suite 402 + + +
+ + + +
+ + Get directions + +
+
+ + + + A map of Europe showing the sales region + + + View your coverage area + Sales region + + +
+ + +
+ + See details + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); +root.render(); diff --git a/samples/layouts/card/media/tsconfig.json b/samples/layouts/card/media/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/layouts/card/media/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/layouts/card/media/vite.config.js b/samples/layouts/card/media/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/layouts/card/media/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/layouts/card/overview/.devcontainer/devcontainer.json b/samples/layouts/card/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/card/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/card/overview/.eslintrc.js b/samples/layouts/card/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/card/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/card/overview/README.md b/samples/layouts/card/overview/README.md index 9ca38dd801..4601e42f59 100644 --- a/samples/layouts/card/overview/README.md +++ b/samples/layouts/card/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Card](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/card/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/card/overview/package.json b/samples/layouts/card/overview/package.json index 25260785fb..329b25f61e 100644 --- a/samples/layouts/card/overview/package.json +++ b/samples/layouts/card/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/card/overview/sandbox.config.json b/samples/layouts/card/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/card/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/card/overview/src/CardOverview.css b/samples/layouts/card/overview/src/CardOverview.css deleted file mode 100644 index 42c504d4b8..0000000000 --- a/samples/layouts/card/overview/src/CardOverview.css +++ /dev/null @@ -1,8 +0,0 @@ -.card-wrapper { - max-width: 320px; - min-width: 220px; -} - -.center { - align-items: center; -} \ No newline at end of file diff --git a/samples/layouts/card/overview/src/index.css b/samples/layouts/card/overview/src/index.css index e69de29bb2..54ddbc3852 100644 --- a/samples/layouts/card/overview/src/index.css +++ b/samples/layouts/card/overview/src/index.css @@ -0,0 +1,44 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.container.sample { + display: flex; + flex-direction: column; + align-items: center; + gap: 4.5rem; + padding: 3.5rem 1.5rem; +} + +.card-options { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 2rem; +} + +.card-container { + --ig-size: var(--ig-size-small); + + inline-size: 100%; + max-inline-size: 360px; + min-inline-size: 220px; +} + +.card-container igc-card-media img { + inline-size: 100%; + aspect-ratio: 15 / 8; + object-fit: cover; +} + +.card-container igc-card-content p { + margin: 0; + font-size: 0.875rem; + line-height: 1.5; +} + +.card-actions-start, +.card-actions-end { + display: flex; + align-items: center; + gap: 0.5rem; +} diff --git a/samples/layouts/card/overview/src/index.tsx b/samples/layouts/card/overview/src/index.tsx index 290b71ae79..6f56170999 100644 --- a/samples/layouts/card/overview/src/index.tsx +++ b/samples/layouts/card/overview/src/index.tsx @@ -1,74 +1,101 @@ -import React, { useEffect } from "react"; -import ReactDOM from "react-dom/client"; -import "./index.css"; -import "./CardOverview.css"; +import React, { useEffect, useState } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; import { - IgrCard, - IgrCardMedia, - IgrCardHeader, - IgrCardContent, - IgrCardActions, - IgrIconButton, - IgrButton, - IgrRipple, - registerIconFromText, -} from "igniteui-react"; -import "igniteui-webcomponents/themes/light/bootstrap.css"; + IgrAvatar, + IgrButton, + IgrCard, + IgrCardActions, + IgrCardContent, + IgrCardHeader, + IgrCardMedia, + IgrCheckboxChangeEventArgs, + IgrIconButton, + IgrSwitch, + registerIconFromText +} from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; -const twitterIcon = - ''; -const facebookIcon = - ''; +const addIcon = ''; export default function CardOverview() { - useEffect(() => { - registerIconFromText("twitter", twitterIcon, "material"); - registerIconFromText("facebook", facebookIcon, "material"); - }, []); + const [media, setMedia] = useState(true); + const [header, setHeader] = useState(true); + const [content, setContent] = useState(true); + const [actions, setActions] = useState(true); - return ( -
-
- - - - - - New York City - City in New York - - -

- 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. -

-
- - - Read more - - -
- - - - - - + useEffect(() => { + registerIconFromText('add', addIcon, 'material'); + }, []); + + return ( +
+
+ setMedia(e.detail.checked)}> + Media + + setHeader(e.detail.checked)}> + Header + + setContent(e.detail.checked)}> + Content + + setActions(e.detail.checked)}> + Actions + +
+ +
+ + {media && ( + + Mountain range above the clouds at sunset + + )} + {header && ( + + + Title + Subtitle + + )} + {content && ( + +

+ A paragraph is a self-contained unit of a discourse in writing + dealing with a particular point or idea. +

+
+ )} + {actions && ( + +
+ Button + Button +
+
+ + + +
+
+ )} +
- - -
-
- ); +
+ ); } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); -root.render(); +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render(); diff --git a/samples/layouts/card/position/README.md b/samples/layouts/card/position/README.md new file mode 100644 index 0000000000..f0c99812fc --- /dev/null +++ b/samples/layouts/card/position/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Position feature using [Card](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/layouts/card/position +``` + +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/layouts/card/position/index.html b/samples/layouts/card/position/index.html new file mode 100644 index 0000000000..1c8a1f81f7 --- /dev/null +++ b/samples/layouts/card/position/index.html @@ -0,0 +1,11 @@ + + + + CardPosition + + + +
+ + + \ No newline at end of file diff --git a/samples/layouts/card/position/package.json b/samples/layouts/card/position/package.json new file mode 100644 index 0000000000..a162984f1f --- /dev/null +++ b/samples/layouts/card/position/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-card-position", + "description": "This project provides example of Card Position 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/layouts/card/position/src/index.css b/samples/layouts/card/position/src/index.css new file mode 100644 index 0000000000..341c227a17 --- /dev/null +++ b/samples/layouts/card/position/src/index.css @@ -0,0 +1,104 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.container.sample { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-content: center; + align-items: flex-start; + justify-content: center; + gap: 3.5rem; + padding: 2rem 1rem; +} + +.card-item { + display: flex; + flex-direction: column; + align-items: center; + gap: 1.25rem; +} + +.card-item__label { + color: var(--ig-gray-600); + font-family: "Aktiv Grotesk", sans-serif; + font-size: 13px; + font-weight: 400; + font-style: normal; + line-height: 20px; + letter-spacing: 0.3px; +} + +.position-card { + --ig-card-border-radius: 0.25rem; + + inline-size: 16rem; +} + +.position-card__media { + block-size: 6.5rem; +} + +.position-card__media img { + inline-size: 100%; + block-size: 100%; + object-fit: cover; +} + +.position-card igc-card-header { + padding: 1rem 1rem 0; +} + +.position-card [slot="title"] { + margin-block-end: 0; + color: var(--ig-gray-900); + font-size: 18px; + font-weight: 600; + line-height: 24px; + letter-spacing: 0.15px; +} + +.position-card [slot="subtitle"] { + color: var(--ig-gray-900); + font-size: 14px; + font-weight: 600; + line-height: 24px; + letter-spacing: 0.1px; +} + +.position-card igc-card-actions { + padding: 1.5rem 1.5rem 0.5rem; + flex-wrap: nowrap; +} + +.position-card igc-card-header + igc-card-media { + margin-block-start: 0.5rem; +} + +.position-card igc-card-media + igc-card-actions { + padding-block-start: 1rem; +} + +.position-card__icons { + display: inline-flex; + align-items: center; + gap: 0.375rem; + color: var(--ig-gray-900); +} + +.position-card__icons igc-icon { + --ig-icon-size: 1rem; +} + +.position-card__action { + --ig-size: var(--ig-size-small); +} + +.position-card__action::part(base) { + padding: 0; + background: transparent; + font-size: 0.8125rem; + font-weight: 600; + letter-spacing: 0.25px; + text-transform: uppercase; +} diff --git a/samples/layouts/card/position/src/index.tsx b/samples/layouts/card/position/src/index.tsx new file mode 100644 index 0000000000..9f11e7d73e --- /dev/null +++ b/samples/layouts/card/position/src/index.tsx @@ -0,0 +1,88 @@ +import React, { useEffect } from "react"; +import ReactDOM from "react-dom/client"; +import "./index.css"; +import { + IgrButton, + IgrCard, + IgrCardActions, + IgrCardHeader, + IgrCardMedia, + IgrIcon, + registerIconFromText, +} from "igniteui-react"; +import "igniteui-webcomponents/themes/light/bootstrap.css"; + +const videocamIcon = + ''; + +const bluetoothIcon = + ''; + +const volumeOffIcon = + ''; + +const roomImage = "https://dl.infragistics.com/x/img/card/card-2.png"; + +export default function CardPosition() { + useEffect(() => { + registerIconFromText("videocam", videocamIcon, "material"); + registerIconFromText("bluetooth", bluetoothIcon, "material"); + registerIconFromText("volume-off", volumeOffIcon, "material"); + }, []); + + return ( +
+
+ Media before header + + + + A meeting room with a long table and chairs + + + Book your meeting room + Max 15 seats / 10 m2 + + +
+ + + +
+ + Book now + +
+
+
+ +
+ Media after header + + + + Book your meeting room + Max 15 seats / 10 m2 + + + A meeting room with a long table and chairs + + +
+ + + +
+ + Book now + +
+
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); +root.render(); diff --git a/samples/layouts/card/position/tsconfig.json b/samples/layouts/card/position/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/layouts/card/position/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/layouts/card/position/vite.config.js b/samples/layouts/card/position/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/layouts/card/position/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/layouts/card/semi-horizontal/.devcontainer/devcontainer.json b/samples/layouts/card/semi-horizontal/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/card/semi-horizontal/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/card/semi-horizontal/.eslintrc.js b/samples/layouts/card/semi-horizontal/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/card/semi-horizontal/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/card/semi-horizontal/README.md b/samples/layouts/card/semi-horizontal/README.md deleted file mode 100644 index 8f00962115..0000000000 --- a/samples/layouts/card/semi-horizontal/README.md +++ /dev/null @@ -1,56 +0,0 @@ - - - -This folder contains implementation of React application with example of Semi Horizontal feature using [Card](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. - - - - - - View Docs - - - View Code - - - Run Sample - - - 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 -git checkout master -cd ./igniteui-react-examples -cd ./samples/layouts/card/semi-horizontal -``` - -open above folder in VS Code or type: -``` -code . -``` - -In terminal window, run: -``` -npm install --legacy-peer-deps -npm run-script 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/layouts/card/semi-horizontal/index.html b/samples/layouts/card/semi-horizontal/index.html deleted file mode 100644 index 6c49bd09e2..0000000000 --- a/samples/layouts/card/semi-horizontal/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - CardSemiHorizontal - - - -
- - - \ No newline at end of file diff --git a/samples/layouts/card/semi-horizontal/package.json b/samples/layouts/card/semi-horizontal/package.json deleted file mode 100644 index 308ae336df..0000000000 --- a/samples/layouts/card/semi-horizontal/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "react-card-semi-horizontal", - "description": "This project provides example of Icon Sizing 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": "^1.17.0", - "igniteui-react": "19.9.0", - "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", - "tslib": "^2.4.0" - }, - "devDependencies": { - "@types/jest": "^29.2.0", - "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", - "worker-loader": "^3.0.8" - }, - "browserslist": [ - ">0.2%", - "not dead", - "not ie <= 11", - "not op_mini all" - ] -} diff --git a/samples/layouts/card/semi-horizontal/sandbox.config.json b/samples/layouts/card/semi-horizontal/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/card/semi-horizontal/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/card/semi-horizontal/src/CardSemiHorizontal.css b/samples/layouts/card/semi-horizontal/src/CardSemiHorizontal.css deleted file mode 100644 index 3d7094fc63..0000000000 --- a/samples/layouts/card/semi-horizontal/src/CardSemiHorizontal.css +++ /dev/null @@ -1,23 +0,0 @@ -.card-wrapper { - max-width: 400px; - min-width: 250px; -} - -.semi-horizontal { - display: flex; - flex-direction: row; - flex-grow: 1; -} - -.card-media { - width: 96px; - min-width: 96px; -} - -.divider { - border-right: 1px solid darkgray; -} - -.center { - align-items: center; -} diff --git a/samples/layouts/card/semi-horizontal/src/index.css b/samples/layouts/card/semi-horizontal/src/index.css deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/samples/layouts/card/semi-horizontal/src/index.tsx b/samples/layouts/card/semi-horizontal/src/index.tsx deleted file mode 100644 index 0230d252a5..0000000000 --- a/samples/layouts/card/semi-horizontal/src/index.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import React from "react"; -import ReactDOM from "react-dom/client"; -import "./index.css"; -import "./CardSemiHorizontal.css"; -import { - IgrCard, - IgrCardHeader, - IgrCardContent, - IgrCardActions, - IgrCardMedia, - IgrAvatar, - IgrButton, -} from "igniteui-react"; -import "igniteui-webcomponents/themes/light/bootstrap.css"; - -export default function CardSemiHorizontal() { - return ( -
-
- -
-
- - - HERE - by Mellow D - - - -

- Far far away, behind the word mountains, far from the - countries Vokalia and Consonantia, there live the blind texts. -

-
- - - - Play Album - - -
- - - - -
-
-
-
- ); -} - -// rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); -root.render(); diff --git a/samples/layouts/card/styling/.devcontainer/devcontainer.json b/samples/layouts/card/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/card/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/card/styling/.eslintrc.js b/samples/layouts/card/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/card/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/card/styling/README.md b/samples/layouts/card/styling/README.md index 1dcf812356..ee4f06ba3a 100644 --- a/samples/layouts/card/styling/README.md +++ b/samples/layouts/card/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Card](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/card/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/card/styling/package.json b/samples/layouts/card/styling/package.json index b91c8a5e0c..0730944a58 100644 --- a/samples/layouts/card/styling/package.json +++ b/samples/layouts/card/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/card/styling/sandbox.config.json b/samples/layouts/card/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/card/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/card/styling/src/CardStyling.css b/samples/layouts/card/styling/src/CardStyling.css deleted file mode 100644 index 06d127215e..0000000000 --- a/samples/layouts/card/styling/src/CardStyling.css +++ /dev/null @@ -1,26 +0,0 @@ -.card-wrapper { - max-width: 320px; - min-width: 220px; -} - -igc-card { - background-color: #011627; -} - -igc-card-content, -igc-card-header > *[slot="title"]{ - color: #FEFEFE; -} - -igc-card-header > *[slot="subtitle"] { - color: #ECAA53; - opacity: 0.9; -} - -igc-icon-button+igc-icon-button { - margin-left: 10px; -} - -.center { - align-items: center; -} \ No newline at end of file diff --git a/samples/layouts/card/styling/src/index.css b/samples/layouts/card/styling/src/index.css index e69de29bb2..ee0fc049d2 100644 --- a/samples/layouts/card/styling/src/index.css +++ b/samples/layouts/card/styling/src/index.css @@ -0,0 +1,174 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +@import url("https://use.typekit.net/bng2zgw.css"); + +.container.sample { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 3.75rem; + padding: 2.5rem 1.5rem; +} + +.balance-card { + --ig-card-border-radius: 1rem; + --ig-card-outline-color: #99c9ff; + + position: relative; + inline-size: 312px; + padding: 0.5rem; + background: #e6f2ff; +} + +.balance-card igc-card-header { + padding: 1rem 1rem 0; +} + +.balance-card [slot="title"] { + color: #004699; + font-family: "aktiv-grotesk", "Aktiv Grotesk", Arial, sans-serif; + font-size: 0.875rem; + font-weight: 500; + line-height: 1.5rem; + letter-spacing: 0.1px; +} + +.trend-chip { + position: absolute; + block-size: 24px; + inset-block-start: 1.5rem; + inset-inline-end: 1.5rem; + z-index: 1; +} + +.trend-chip::part(base) { + box-sizing: border-box; + block-size: 24px; + padding: 2px 6px; + border: none; + border-radius: 16px; + background: #cce4ff; + color: #004699; + font-family: "Titillium Web", Verdana, Tahoma, sans-serif; + font-size: 0.875rem; + font-weight: 400; + line-height: 1.25rem; + letter-spacing: 0.25px; +} + +.trend-chip::part(prefix) { + color: #004699; +} + +.trend-chip igc-icon { + --ig-icon-size: 1.25rem; +} + +.balance-card igc-card-content { + padding: 0 1rem; + overflow: visible; +} + +.balance-amount { + display: block; + color: #0176ff; + font-family: "aktiv-grotesk", "Aktiv Grotesk", Arial, sans-serif; + font-size: 2rem; + font-weight: 600; + line-height: 2.5rem; + letter-spacing: 0; +} + +.balance-card igc-card-actions { + padding: 1rem; +} + +.balance-actions { + display: inline-flex; + gap: 0.5rem; +} + +.balance-actions igc-icon-button { + --ig-flat-icon-button-foreground: #004699; +} + +.balance-actions igc-icon-button::part(base) { + inline-size: 2.25rem; + block-size: 2.25rem; + border-radius: 50%; + background: #ffffff; +} + +.support-card { + --ig-card-border-radius: 1rem; + --ig-card-outline-color: #e5ebf3; + + position: relative; + inline-size: 246px; + padding: 0.5rem; + background: #ffffff; +} + +.support-media { + block-size: 124px; + padding: 1rem; + border-radius: 1rem; +} + +.support-media img { + inline-size: 100%; + block-size: 100%; + object-fit: contain; +} + +.support-tag { + position: absolute; + inset-block-start: 0.75rem; + inset-inline-start: 1rem; + z-index: 1; +} + +.support-tag::part(base) { + box-sizing: border-box; + block-size: 24px; + padding: 2px 10px; + border: none; + border-radius: 16px; + background: #e6f2ff; + color: #004699; + font-family: "Titillium Web", Verdana, Tahoma, sans-serif; + font-size: 0.875rem; + font-weight: 400; + line-height: 1.25rem; + letter-spacing: 0.25px; +} + +.support-card igc-card-header { + padding: 1rem 1rem 0; +} + +.support-card [slot="title"] { + color: #004699; + margin-block-end: 0; + font-family: "aktiv-grotesk", "Aktiv Grotesk", Arial, sans-serif; + font-size: 1rem; + font-weight: 700; + line-height: 1.25rem; + letter-spacing: 0; +} + +.support-card igc-card-actions { + padding: 1rem 1rem 0.5rem; +} + +.support-link { + color: #7d91ab; + font-family: "aktiv-grotesk", "Aktiv Grotesk", Arial, sans-serif; + font-size: 0.75rem; + font-weight: 600; + line-height: 1rem; + letter-spacing: 0.15px; +} diff --git a/samples/layouts/card/styling/src/index.tsx b/samples/layouts/card/styling/src/index.tsx index f543934898..fa87a0701e 100644 --- a/samples/layouts/card/styling/src/index.tsx +++ b/samples/layouts/card/styling/src/index.tsx @@ -1,67 +1,81 @@ import React, { useEffect } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; -import "./CardStyling.css"; import { IgrCard, - IgrCardMedia, - IgrCardHeader, - IgrCardContent, IgrCardActions, + IgrCardContent, + IgrCardHeader, + IgrCardMedia, + IgrChip, + IgrIcon, IgrIconButton, - IgrRipple, registerIconFromText, } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -const twitterIcon = - ""; -const facebookIcon = - ""; -const instagramIcon = - ""; +const trendingUpIcon = + ''; + +const linkIcon = + ''; + +const moreVertIcon = + ''; export default function CardStyling() { useEffect(() => { - registerIconFromText("facebook", facebookIcon, "material"); - registerIconFromText("twitter", twitterIcon, "material"); - registerIconFromText("instagram", instagramIcon, "material"); + registerIconFromText("trending-up", trendingUpIcon, "material"); + registerIconFromText("link", linkIcon, "material"); + registerIconFromText("more-vert", moreVertIcon, "material"); }, []); return ( -
-
- - - - - - Jane Doe - Professional Photographer - - -

- Hi! I am Jane, photographer and filmmaker. Photography is a way of - feeling, of touching, of loving. What you have caught on film is - captured forever... it remembers little things, long after you - have forgotten everything. -

-
- -
- - - - - - - - - -
-
-
-
+
+ + + + +12.4% + + + Total balance + + + $24,860 + + +
+ + +
+
+
+ + + Support + + Support agent reviewing system dashboards on a laptop + + + Review the issue and check system logs + + + Find out more + +
); } diff --git a/samples/layouts/card/tailwind-styling/README.md b/samples/layouts/card/tailwind-styling/README.md new file mode 100644 index 0000000000..d39693b3f9 --- /dev/null +++ b/samples/layouts/card/tailwind-styling/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Tailwind Styling feature using [Card](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/layouts/card/tailwind-styling +``` + +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/layouts/card/tailwind-styling/index.html b/samples/layouts/card/tailwind-styling/index.html new file mode 100644 index 0000000000..e142328839 --- /dev/null +++ b/samples/layouts/card/tailwind-styling/index.html @@ -0,0 +1,11 @@ + + + + CardTailwindStyling + + + +
+ + + \ No newline at end of file diff --git a/samples/layouts/card/tailwind-styling/package.json b/samples/layouts/card/tailwind-styling/package.json new file mode 100644 index 0000000000..b8c10d38dd --- /dev/null +++ b/samples/layouts/card/tailwind-styling/package.json @@ -0,0 +1,44 @@ +{ + "name": "react-card-tailwind-styling", + "description": "This project provides example of 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.3.3", + "@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.3.3", + "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/layouts/card/tailwind-styling/src/index.css b/samples/layouts/card/tailwind-styling/src/index.css new file mode 100644 index 0000000000..8596a2ad7e --- /dev/null +++ b/samples/layouts/card/tailwind-styling/src/index.css @@ -0,0 +1,56 @@ +@import "tailwindcss/theme.css" layer(theme); +@import "tailwindcss/utilities.css" layer(utilities); +@source "./index.tsx"; + +.sample { + display: grid; + grid-template-columns: repeat(auto-fit, 21.5rem); + gap: 2.5rem; + place-content: center; + height: 100vh; +} + +igc-card:nth-of-type(2) { + align-self: center; +} + +igc-card-header { + display: flex; + flex-flow: row wrap; + align-items: center; + width: 100%; + padding: 1rem; +} + +igc-card-header::part(header) { + display: flex; + flex-flow: column nowrap; + overflow: hidden; + flex: 1 1 auto; + justify-content: center; +} + +igc-card-header [slot="thumbnail"] { + margin-inline-end: 1rem; +} + +.card-sample-custom-subtitle { + display: block; + color: var(--ig-gray-700); + font-size: 0.875rem; + line-height: 1.25rem; + margin: 0 1rem 0.5rem; +} + +.stats-title { + color: var(--ig-gray-900); + font-size: 1rem; + font-weight: 600; + line-height: 1.5rem; +} + +.stats-subtitle { + color: var(--ig-gray-500); + font-size: 0.875rem; + line-height: 1.25rem; +} diff --git a/samples/layouts/card/tailwind-styling/src/index.tsx b/samples/layouts/card/tailwind-styling/src/index.tsx new file mode 100644 index 0000000000..18690f27a6 --- /dev/null +++ b/samples/layouts/card/tailwind-styling/src/index.tsx @@ -0,0 +1,183 @@ +import React, { useEffect } from "react"; +import ReactDOM from "react-dom/client"; +import "./index.css"; +import { + IgrAvatar, + IgrButton, + IgrCard, + IgrCardActions, + IgrCardContent, + IgrCardHeader, + IgrCardMedia, + IgrDivider, + IgrIcon, + IgrIconButton, + registerIconFromText, +} from "igniteui-react"; +import "igniteui-webcomponents/themes/light/bootstrap.css"; + +const instagramIcon = + ''; + +const berealIcon = + ''; + +const threadsIcon = + ''; + +const plusIcon = + ''; + +const profileStats = [ + { value: "23.9K", label: "Likes" }, + { value: "163", label: "Posts" }, + { value: "23.9K", label: "Views" }, +]; + +export default function CardTailwindStyling() { + useEffect(() => { + registerIconFromText("instagram", instagramIcon, "material"); + registerIconFromText("bereal", berealIcon, "material"); + registerIconFromText("threads", threadsIcon, "material"); + registerIconFromText("plus", plusIcon, "material"); + }, []); + + return ( +
+ + + Cafe interior + + + + Kate Thompson + +

+ 3D Artist. Turning polygons into worlds and immersive digital + realities +

+ +
+ {profileStats.map((stat, index) => ( + +
+ {stat.value} + {stat.label} +
+ {index < profileStats.length - 1 && ( + + )} +
+ ))} +
+
+ + + + FOLLOW + + + +
+ + + +
+
+
+ + + + + + + Kate Thompson + +

+ 3D Artist. Turning polygons into worlds and immersive digital + realities +

+ +
+ {profileStats.map((stat, index) => ( + +
+ {stat.value} + {stat.label} +
+ {index < profileStats.length - 1 && ( + + )} +
+ ))} +
+
+ + + + FOLLOW + + + +
+ + + +
+
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); +root.render(); diff --git a/samples/layouts/card/tailwind-styling/tsconfig.json b/samples/layouts/card/tailwind-styling/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/layouts/card/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/layouts/card/tailwind-styling/vite.config.js b/samples/layouts/card/tailwind-styling/vite.config.js new file mode 100644 index 0000000000..c1fff0c83c --- /dev/null +++ b/samples/layouts/card/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 + }, +}); diff --git a/samples/layouts/carousel/animations/.devcontainer/devcontainer.json b/samples/layouts/carousel/animations/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/carousel/animations/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/carousel/animations/.eslintrc.js b/samples/layouts/carousel/animations/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/carousel/animations/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/carousel/animations/README.md b/samples/layouts/carousel/animations/README.md index a156089bf6..9ea0c275bd 100644 --- a/samples/layouts/carousel/animations/README.md +++ b/samples/layouts/carousel/animations/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Animations feature using [Carousel](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Animati Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/carousel/animations ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/carousel/animations/package.json b/samples/layouts/carousel/animations/package.json index 777ead03f7..8da5dfa7a6 100644 --- a/samples/layouts/carousel/animations/package.json +++ b/samples/layouts/carousel/animations/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/carousel/animations/sandbox.config.json b/samples/layouts/carousel/animations/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/carousel/animations/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/carousel/components/.devcontainer/devcontainer.json b/samples/layouts/carousel/components/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/carousel/components/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/carousel/components/.eslintrc.js b/samples/layouts/carousel/components/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/carousel/components/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/carousel/components/README.md b/samples/layouts/carousel/components/README.md index ebdddd2be5..2dc2c56b28 100644 --- a/samples/layouts/carousel/components/README.md +++ b/samples/layouts/carousel/components/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Components feature using [Carousel](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Compone Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/carousel/components ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/carousel/components/package.json b/samples/layouts/carousel/components/package.json index 9f98bf5f37..6ca61e8f74 100644 --- a/samples/layouts/carousel/components/package.json +++ b/samples/layouts/carousel/components/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/carousel/components/sandbox.config.json b/samples/layouts/carousel/components/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/carousel/components/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/carousel/configuration/.devcontainer/devcontainer.json b/samples/layouts/carousel/configuration/.devcontainer/devcontainer.json deleted file mode 100644 index ff434ecd44..0000000000 --- a/samples/layouts/carousel/configuration/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} diff --git a/samples/layouts/carousel/configuration/.eslintrc.js b/samples/layouts/carousel/configuration/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/carousel/configuration/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/carousel/configuration/README.md b/samples/layouts/carousel/configuration/README.md index 510d93ba01..589901cabe 100644 --- a/samples/layouts/carousel/configuration/README.md +++ b/samples/layouts/carousel/configuration/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Configuration feature using [Carousel](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Configu Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/carousel/configuration ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/carousel/configuration/package.json b/samples/layouts/carousel/configuration/package.json index 7d47971ea5..bd96f63f52 100644 --- a/samples/layouts/carousel/configuration/package.json +++ b/samples/layouts/carousel/configuration/package.json @@ -12,24 +12,24 @@ "test": "vitest" }, "dependencies": { - "igniteui-react": "19.7.0", + "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.2.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/carousel/configuration/sandbox.config.json b/samples/layouts/carousel/configuration/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/carousel/configuration/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/carousel/configuration/src/index.tsx b/samples/layouts/carousel/configuration/src/index.tsx index bddc36b78f..a2285ad287 100644 --- a/samples/layouts/carousel/configuration/src/index.tsx +++ b/samples/layouts/carousel/configuration/src/index.tsx @@ -76,5 +76,5 @@ export default function CarouselConfiguration() { ); } -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/carousel/configuration/tsconfig.json b/samples/layouts/carousel/configuration/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/carousel/configuration/tsconfig.json +++ b/samples/layouts/carousel/configuration/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/carousel/overview/.devcontainer/devcontainer.json b/samples/layouts/carousel/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/carousel/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/carousel/overview/.eslintrc.js b/samples/layouts/carousel/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/carousel/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/carousel/overview/README.md b/samples/layouts/carousel/overview/README.md index 06ccc684e5..fe7134c34e 100644 --- a/samples/layouts/carousel/overview/README.md +++ b/samples/layouts/carousel/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Carousel](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/carousel/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/carousel/overview/package.json b/samples/layouts/carousel/overview/package.json index dd2287540c..56731bc101 100644 --- a/samples/layouts/carousel/overview/package.json +++ b/samples/layouts/carousel/overview/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/carousel/overview/sandbox.config.json b/samples/layouts/carousel/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/carousel/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/carousel/styling/README.md b/samples/layouts/carousel/styling/README.md index a98f566cc8..c0651d2195 100644 --- a/samples/layouts/carousel/styling/README.md +++ b/samples/layouts/carousel/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Carousel](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/carousel/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/carousel/styling/package.json b/samples/layouts/carousel/styling/package.json index 9d14d32eae..d57fc8e2f4 100644 --- a/samples/layouts/carousel/styling/package.json +++ b/samples/layouts/carousel/styling/package.json @@ -12,24 +12,24 @@ "test": "vitest" }, "dependencies": { - "igniteui-react": "19.7.0", + "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.2.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/carousel/styling/sandbox.config.json b/samples/layouts/carousel/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/carousel/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/carousel/styling/src/index.tsx b/samples/layouts/carousel/styling/src/index.tsx index 57cce06660..8dcda138ad 100644 --- a/samples/layouts/carousel/styling/src/index.tsx +++ b/samples/layouts/carousel/styling/src/index.tsx @@ -78,5 +78,5 @@ export default function CarouselStyling() { ); } -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/carousel/styling/tsconfig.json b/samples/layouts/carousel/styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/carousel/styling/tsconfig.json +++ b/samples/layouts/carousel/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/carousel/tailwind-styling/README.md b/samples/layouts/carousel/tailwind-styling/README.md index 9f663fd281..ea04c12cd7 100644 --- a/samples/layouts/carousel/tailwind-styling/README.md +++ b/samples/layouts/carousel/tailwind-styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Tailwind Styling feature using [Carousel](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Tailwin Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/carousel/tailwind-styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/carousel/tailwind-styling/package.json b/samples/layouts/carousel/tailwind-styling/package.json index eec40021ee..1a49b94849 100644 --- a/samples/layouts/carousel/tailwind-styling/package.json +++ b/samples/layouts/carousel/tailwind-styling/package.json @@ -12,26 +12,26 @@ "test": "vitest" }, "dependencies": { - "igniteui-react": "19.7.0", + "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.2.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { "@tailwindcss/vite": "^4.3.3", - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "@vitest/browser": "^5.0.2", "tailwindcss": "^4.3.3", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "typescript": "^5.9.3", + "vite": "^8.3.1", + "vitest": "^5.0.2", + "vitest-canvas-mock": "^1.2.0", "worker-loader": "^3.0.8" }, "browserslist": [ diff --git a/samples/layouts/carousel/tailwind-styling/sandbox.config.json b/samples/layouts/carousel/tailwind-styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/carousel/tailwind-styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/carousel/tailwind-styling/src/index.tsx b/samples/layouts/carousel/tailwind-styling/src/index.tsx index 29a71c4242..3c42b8f8cf 100644 --- a/samples/layouts/carousel/tailwind-styling/src/index.tsx +++ b/samples/layouts/carousel/tailwind-styling/src/index.tsx @@ -107,5 +107,5 @@ export default function CarouselTailwindStyling() { ); } -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/carousel/tailwind-styling/tsconfig.json b/samples/layouts/carousel/tailwind-styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/carousel/tailwind-styling/tsconfig.json +++ b/samples/layouts/carousel/tailwind-styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/carousel/thumbnail/.devcontainer/devcontainer.json b/samples/layouts/carousel/thumbnail/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/carousel/thumbnail/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/carousel/thumbnail/.eslintrc.js b/samples/layouts/carousel/thumbnail/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/carousel/thumbnail/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/carousel/thumbnail/README.md b/samples/layouts/carousel/thumbnail/README.md index 5b94abc5a8..145d4558ed 100644 --- a/samples/layouts/carousel/thumbnail/README.md +++ b/samples/layouts/carousel/thumbnail/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Thumbnail feature using [Carousel](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Thumbna Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/carousel/thumbnail ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/carousel/thumbnail/package.json b/samples/layouts/carousel/thumbnail/package.json index fc270427fd..22d3c028cf 100644 --- a/samples/layouts/carousel/thumbnail/package.json +++ b/samples/layouts/carousel/thumbnail/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/carousel/thumbnail/sandbox.config.json b/samples/layouts/carousel/thumbnail/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/carousel/thumbnail/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/divider/dashed/.devcontainer/devcontainer.json b/samples/layouts/divider/dashed/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/divider/dashed/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/divider/dashed/.eslintrc.js b/samples/layouts/divider/dashed/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/divider/dashed/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/divider/dashed/README.md b/samples/layouts/divider/dashed/README.md index 658d3e033a..904ae5ae5f 100644 --- a/samples/layouts/divider/dashed/README.md +++ b/samples/layouts/divider/dashed/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Dashed feature using [Divider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Dashed Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/divider/dashed ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/divider/dashed/package.json b/samples/layouts/divider/dashed/package.json index d396a2bb6a..ec5d60a149 100644 --- a/samples/layouts/divider/dashed/package.json +++ b/samples/layouts/divider/dashed/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/divider/dashed/sandbox.config.json b/samples/layouts/divider/dashed/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/divider/dashed/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/divider/dashed/src/index.tsx b/samples/layouts/divider/dashed/src/index.tsx index f4b88f2bd4..c2712cde9e 100644 --- a/samples/layouts/divider/dashed/src/index.tsx +++ b/samples/layouts/divider/dashed/src/index.tsx @@ -1,30 +1,18 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrDividerModule, IgrDivider } from 'igniteui-react'; +import { IgrDivider } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -IgrDividerModule.register(); - -export default class DividerDashed extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
-

First paragraph

- -

Second paragraph

-
- ); - } - - +export default function DividerDashed() { + return ( +
+

First paragraph

+ +

Second paragraph

+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/divider/dashed/tsconfig.json b/samples/layouts/divider/dashed/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/divider/dashed/tsconfig.json +++ b/samples/layouts/divider/dashed/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/divider/middle/.devcontainer/devcontainer.json b/samples/layouts/divider/middle/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/divider/middle/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/divider/middle/.eslintrc.js b/samples/layouts/divider/middle/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/divider/middle/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/divider/middle/README.md b/samples/layouts/divider/middle/README.md index 650cb5d3f7..8bea29700f 100644 --- a/samples/layouts/divider/middle/README.md +++ b/samples/layouts/divider/middle/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Middle feature using [Divider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Middle Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/divider/middle ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/divider/middle/package.json b/samples/layouts/divider/middle/package.json index d396a2bb6a..ec5d60a149 100644 --- a/samples/layouts/divider/middle/package.json +++ b/samples/layouts/divider/middle/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/divider/middle/sandbox.config.json b/samples/layouts/divider/middle/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/divider/middle/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/divider/middle/src/index.tsx b/samples/layouts/divider/middle/src/index.tsx index 784dac7fb4..9214951ee3 100644 --- a/samples/layouts/divider/middle/src/index.tsx +++ b/samples/layouts/divider/middle/src/index.tsx @@ -1,37 +1,27 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrDividerModule, IgrDivider } from 'igniteui-react'; +import { IgrDivider } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -IgrDividerModule.register(); - -export default class DividerMiddle extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
-
-
-

Both sides inset.

- -

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias at consectetur dolor magnam maiores nihil quasi quod repudiandae similique. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Assumenda, culpa delectus eius fuga ipsa iste laborum nemo, numquam omnis perferendis soluta sunt. Animi asperiores aspernatur assumenda doloribus eligendi.

-
-
-

Left side only(default).

- -

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias at consectetur dolor magnam maiores nihil quasi quod repudiandae similique. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Assumenda, culpa delectus eius fuga ipsa iste laborum nemo, numquam omnis perferendis soluta sunt. Animi asperiores aspernatur assumenda doloribus eligendi.

-
+export default function DividerMiddle() { + return ( +
+
+
+

Both sides inset.

+ +

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias at consectetur dolor magnam maiores nihil quasi quod repudiandae similique. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Assumenda, culpa delectus eius fuga ipsa iste laborum nemo, numquam omnis perferendis soluta sunt. Animi asperiores aspernatur assumenda doloribus eligendi.

+
+
+

Left side only(default).

+ +

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad alias at consectetur dolor magnam maiores nihil quasi quod repudiandae similique. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Assumenda, culpa delectus eius fuga ipsa iste laborum nemo, numquam omnis perferendis soluta sunt. Animi asperiores aspernatur assumenda doloribus eligendi.

- ); - } +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/divider/middle/tsconfig.json b/samples/layouts/divider/middle/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/divider/middle/tsconfig.json +++ b/samples/layouts/divider/middle/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/divider/overview/.devcontainer/devcontainer.json b/samples/layouts/divider/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/divider/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/divider/overview/.eslintrc.js b/samples/layouts/divider/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/divider/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/divider/overview/README.md b/samples/layouts/divider/overview/README.md index 28cbb1dc08..f6b0b30cdf 100644 --- a/samples/layouts/divider/overview/README.md +++ b/samples/layouts/divider/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Divider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/divider/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/divider/overview/package.json b/samples/layouts/divider/overview/package.json index d396a2bb6a..ec5d60a149 100644 --- a/samples/layouts/divider/overview/package.json +++ b/samples/layouts/divider/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/divider/overview/sandbox.config.json b/samples/layouts/divider/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/divider/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/divider/overview/src/index.tsx b/samples/layouts/divider/overview/src/index.tsx index 10436d2148..353da85798 100644 --- a/samples/layouts/divider/overview/src/index.tsx +++ b/samples/layouts/divider/overview/src/index.tsx @@ -1,28 +1,18 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrDividerModule, IgrDivider } from 'igniteui-react'; +import { IgrDivider } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -IgrDividerModule.register(); - -export default class DividerOverview extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
-

First paragraph

- -

Second paragraph

-
- ); - } +export default function DividerOverview() { + return ( +
+

First paragraph

+ +

Second paragraph

+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/divider/overview/tsconfig.json b/samples/layouts/divider/overview/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/divider/overview/tsconfig.json +++ b/samples/layouts/divider/overview/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/divider/select/.devcontainer/devcontainer.json b/samples/layouts/divider/select/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/divider/select/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/divider/select/.eslintrc.js b/samples/layouts/divider/select/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/divider/select/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/divider/select/README.md b/samples/layouts/divider/select/README.md index c427ca2770..5112136df2 100644 --- a/samples/layouts/divider/select/README.md +++ b/samples/layouts/divider/select/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Select feature using [Divider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Select Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/divider/select ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/divider/select/package.json b/samples/layouts/divider/select/package.json index d396a2bb6a..ec5d60a149 100644 --- a/samples/layouts/divider/select/package.json +++ b/samples/layouts/divider/select/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/divider/select/sandbox.config.json b/samples/layouts/divider/select/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/divider/select/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/divider/select/src/index.tsx b/samples/layouts/divider/select/src/index.tsx index bb1663cc3e..c7f1c01f54 100644 --- a/samples/layouts/divider/select/src/index.tsx +++ b/samples/layouts/divider/select/src/index.tsx @@ -1,40 +1,25 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { - IgrDividerModule, IgrDivider, - IgrSelectModule, - IgrSelectItemModule, IgrSelect, IgrSelectItem, } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -IgrDividerModule.register(); -IgrSelectModule.register(); -IgrSelectItemModule.register(); - -export default class DividerSelect extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- - Item 1 - Item 2 - - Item 3 - -
- ); - } +export default function DividerSelect() { + return ( +
+ + Item 1 + Item 2 + + Item 3 + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/divider/select/tsconfig.json b/samples/layouts/divider/select/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/divider/select/tsconfig.json +++ b/samples/layouts/divider/select/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/divider/vertical/.devcontainer/devcontainer.json b/samples/layouts/divider/vertical/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/divider/vertical/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/divider/vertical/.eslintrc.js b/samples/layouts/divider/vertical/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/divider/vertical/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/divider/vertical/README.md b/samples/layouts/divider/vertical/README.md index f511b2b483..6c88e3cd2c 100644 --- a/samples/layouts/divider/vertical/README.md +++ b/samples/layouts/divider/vertical/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Vertical feature using [Divider](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Vertica Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/divider/vertical ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/divider/vertical/package.json b/samples/layouts/divider/vertical/package.json index d396a2bb6a..ec5d60a149 100644 --- a/samples/layouts/divider/vertical/package.json +++ b/samples/layouts/divider/vertical/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/divider/vertical/sandbox.config.json b/samples/layouts/divider/vertical/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/divider/vertical/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/divider/vertical/src/index.tsx b/samples/layouts/divider/vertical/src/index.tsx index fe0831a63f..b8d228e920 100644 --- a/samples/layouts/divider/vertical/src/index.tsx +++ b/samples/layouts/divider/vertical/src/index.tsx @@ -1,44 +1,34 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrDividerModule, IgrDivider } from 'igniteui-react'; +import { IgrDivider } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -IgrDividerModule.register(); - -export default class DividerVertical extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
-
-

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa officiis - suscipit veniam vitae. Ab ad, dolores iure nostrum quo ratione rerum - sapiente ullam. Adipisci alias architecto eligendi est, expedita, - explicabo fugiat iure laudantium minima molestiae molestias nam - obcaecati placeat provident, quam repellendus vitae! Cupiditate eveniet, - facere harum hic quisquam sed. -

- -

- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa officiis - suscipit veniam vitae. Ab ad, dolores iure nostrum quo ratione rerum - sapiente ullam. Adipisci alias architecto eligendi est, expedita, - explicabo fugiat iure laudantium minima molestiae molestias nam - obcaecati placeat provident, quam repellendus vitae! Cupiditate eveniet, - facere harum hic quisquam sed. -

-
+export default function DividerVertical() { + return ( +
+
+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa officiis + suscipit veniam vitae. Ab ad, dolores iure nostrum quo ratione rerum + sapiente ullam. Adipisci alias architecto eligendi est, expedita, + explicabo fugiat iure laudantium minima molestiae molestias nam + obcaecati placeat provident, quam repellendus vitae! Cupiditate eveniet, + facere harum hic quisquam sed. +

+ +

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa officiis + suscipit veniam vitae. Ab ad, dolores iure nostrum quo ratione rerum + sapiente ullam. Adipisci alias architecto eligendi est, expedita, + explicabo fugiat iure laudantium minima molestiae molestias nam + obcaecati placeat provident, quam repellendus vitae! Cupiditate eveniet, + facere harum hic quisquam sed. +

- ); - } +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/divider/vertical/tsconfig.json b/samples/layouts/divider/vertical/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/divider/vertical/tsconfig.json +++ b/samples/layouts/divider/vertical/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/dock-manager/customize-buttons/.devcontainer/devcontainer.json b/samples/layouts/dock-manager/customize-buttons/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/dock-manager/customize-buttons/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/dock-manager/customize-buttons/.eslintrc.js b/samples/layouts/dock-manager/customize-buttons/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/dock-manager/customize-buttons/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/dock-manager/customize-buttons/README.md b/samples/layouts/dock-manager/customize-buttons/README.md index 5aaeada223..76a1deead4 100644 --- a/samples/layouts/dock-manager/customize-buttons/README.md +++ b/samples/layouts/dock-manager/customize-buttons/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Customize Buttons feature using [Dock Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Customi Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/dock-manager/customize-buttons ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/dock-manager/customize-buttons/package.json b/samples/layouts/dock-manager/customize-buttons/package.json index d8ee419e25..798c17fb4f 100644 --- a/samples/layouts/dock-manager/customize-buttons/package.json +++ b/samples/layouts/dock-manager/customize-buttons/package.json @@ -13,22 +13,22 @@ }, "dependencies": { "igniteui-react-core": "19.6.0", - "igniteui-react-dockmanager": "19.7.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-react-dockmanager": "19.9.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/dock-manager/customize-buttons/sandbox.config.json b/samples/layouts/dock-manager/customize-buttons/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/dock-manager/customize-buttons/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/dock-manager/customize-buttons/src/index.tsx b/samples/layouts/dock-manager/customize-buttons/src/index.tsx index 618ae35f3d..a9b8696181 100644 --- a/samples/layouts/dock-manager/customize-buttons/src/index.tsx +++ b/samples/layouts/dock-manager/customize-buttons/src/index.tsx @@ -1,93 +1,81 @@ -import React from 'react'; +import { useLayoutEffect, useRef } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import './DockManagerStyles.css'; -import { IgrDockManager, IgrDockManagerPaneType, IgrSplitPaneOrientation } from 'igniteui-react-dockmanager'; - -export default class DockManagerOverview extends React.Component { - - public dockManager: IgrDockManager; - - public render(): JSX.Element { - return ( -
- -
Content 1
-
Content 2
-
Content 3
-
Content 4
-
Content 5
-
Content 6
-
Content 7
-
Content 8
-
Content 9
-
-
- ); - } +import { + IgrContentPane, + IgrDockManager, + IgrDockManagerPane, + IgrDockManagerPaneType, + IgrDocumentHost, + IgrSplitPane, + IgrSplitPaneOrientation +} from 'igniteui-react-dockmanager'; + +function createContentPane(contentID: string, paneHeader: string): IgrContentPane { + const pane: IgrContentPane = { + // size: 150, + header: paneHeader, + type: IgrDockManagerPaneType.contentPane, + contentId: contentID + }; + return pane; +} - public createContentPane(contentID: string, paneHeader: string): any { - const pane = { - // size: 150, - header: paneHeader, - type: IgrDockManagerPaneType.contentPane, - contentId: contentID - }; - return pane; - } +function createSplitPane(orientation: IgrSplitPaneOrientation, contentPanes: IgrDockManagerPane[], size?: number): IgrSplitPane { + const pane: IgrSplitPane = { + type: IgrDockManagerPaneType.splitPane, + orientation: orientation, + panes: contentPanes, + size: size + }; + return pane; +} - public createSplitPane(orientation: IgrSplitPaneOrientation, contentPanes: any[], size?: number): any { - const pane = { +function createTabPane(orientation: IgrSplitPaneOrientation, contentPanes: IgrContentPane[], size?: number): IgrDocumentHost { + const pane: IgrDocumentHost = { + type: IgrDockManagerPaneType.documentHost, + size: size, + rootPane: { type: IgrDockManagerPaneType.splitPane, orientation: orientation, - panes: contentPanes, - size: size - }; - return pane; - } - - public createTabPane(orientation: IgrSplitPaneOrientation, contentPanes: any[], size?: number): any { - const pane = { - type: IgrDockManagerPaneType.documentHost, - size: size, - rootPane: { - type: IgrDockManagerPaneType.splitPane, - orientation: orientation, - panes: [ - { - type: IgrDockManagerPaneType.tabGroupPane, - panes: contentPanes - } - ] - } - }; - return pane; - } + panes: [ + { + type: IgrDockManagerPaneType.tabGroupPane, + panes: contentPanes + } + ] + } + }; + return pane; +} - public componentDidMount() { +export default function DockManagerOverview() { + const dockManagerRef = useRef(null); - const pane1 = this.createContentPane('content1', 'Content Pane 1'); - const pane2 = this.createContentPane('content2', 'Unpinned Pane 1'); + // Before paint, like componentDidMount: no empty dock manager frame. + useLayoutEffect(() => { + const pane1 = createContentPane('content1', 'Content Pane 1'); + const pane2 = createContentPane('content2', 'Unpinned Pane 1'); pane2.isPinned = false; - const pane3 = this.createContentPane('content3', 'Document 1'); - const pane4 = this.createContentPane('content4', 'Document 2'); + const pane3 = createContentPane('content3', 'Document 1'); + const pane4 = createContentPane('content4', 'Document 2'); - const contentPane5 = this.createContentPane('content5', 'Unpinned Pane 2'); + const contentPane5 = createContentPane('content5', 'Unpinned Pane 2'); contentPane5.isPinned = false; - const pane6 = this.createContentPane('content6', 'Tab 1'); - const pane7 = this.createContentPane('content7', 'Tab 2'); - const pane8 = this.createContentPane('content8', 'Content Pane 2'); - const pane9 = this.createContentPane('content9', 'Floating Pane'); + const pane6 = createContentPane('content6', 'Tab 1'); + const pane7 = createContentPane('content7', 'Tab 2'); + const pane8 = createContentPane('content8', 'Content Pane 2'); + const pane9 = createContentPane('content9', 'Floating Pane'); - const tabPane1 = this.createTabPane(IgrSplitPaneOrientation.horizontal, [ pane3, pane4 ], 200); + const tabPane1 = createTabPane(IgrSplitPaneOrientation.horizontal, [ pane3, pane4 ], 200); - const splitPane1 = this.createSplitPane(IgrSplitPaneOrientation.vertical, [ pane1, pane2 ]); - const splitPane2 = this.createSplitPane(IgrSplitPaneOrientation.vertical, [ tabPane1, contentPane5 ], 200); + const splitPane1 = createSplitPane(IgrSplitPaneOrientation.vertical, [ pane1, pane2 ]); + const splitPane2 = createSplitPane(IgrSplitPaneOrientation.vertical, [ tabPane1, contentPane5 ], 200); - this.dockManager = document.getElementById("dockManager") as IgrDockManager; - this.dockManager.layout = { + dockManagerRef.current!.layout = { rootPane: { type: IgrDockManagerPaneType.splitPane, orientation: IgrSplitPaneOrientation.horizontal, @@ -133,10 +121,25 @@ export default class DockManagerOverview extends React.Component { } ] }; - } - + }, []); + + return ( +
+ +
Content 1
+
Content 2
+
Content 3
+
Content 4
+
Content 5
+
Content 6
+
Content 7
+
Content 8
+
Content 9
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/dock-manager/customize-buttons/tsconfig.json b/samples/layouts/dock-manager/customize-buttons/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/dock-manager/customize-buttons/tsconfig.json +++ b/samples/layouts/dock-manager/customize-buttons/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/dock-manager/embedding-frames/.devcontainer/devcontainer.json b/samples/layouts/dock-manager/embedding-frames/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/dock-manager/embedding-frames/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/dock-manager/embedding-frames/.eslintrc.js b/samples/layouts/dock-manager/embedding-frames/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/dock-manager/embedding-frames/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/dock-manager/embedding-frames/README.md b/samples/layouts/dock-manager/embedding-frames/README.md index a1afb45053..6abeccc931 100644 --- a/samples/layouts/dock-manager/embedding-frames/README.md +++ b/samples/layouts/dock-manager/embedding-frames/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Embedding Frames feature using [Dock Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Embeddi Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/dock-manager/embedding-frames ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/dock-manager/embedding-frames/package.json b/samples/layouts/dock-manager/embedding-frames/package.json index e303a919de..134cf4e696 100644 --- a/samples/layouts/dock-manager/embedding-frames/package.json +++ b/samples/layouts/dock-manager/embedding-frames/package.json @@ -13,22 +13,22 @@ }, "dependencies": { "igniteui-react-core": "19.6.0", - "igniteui-react-dockmanager": "19.7.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-react-dockmanager": "19.9.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/dock-manager/embedding-frames/sandbox.config.json b/samples/layouts/dock-manager/embedding-frames/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/dock-manager/embedding-frames/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/dock-manager/embedding-frames/src/index.tsx b/samples/layouts/dock-manager/embedding-frames/src/index.tsx index 46bbf30cd8..ff01d06e85 100644 --- a/samples/layouts/dock-manager/embedding-frames/src/index.tsx +++ b/samples/layouts/dock-manager/embedding-frames/src/index.tsx @@ -1,69 +1,38 @@ -import React from 'react'; +import { useLayoutEffect, useRef } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import './DockManagerStyles.css'; import { IgrContentPane, IgrDockManager, IgrDockManagerPaneType, IgrSplitPaneOrientation } from 'igniteui-react-dockmanager'; -export default class DockManagerEmbeddingFrames extends React.Component { +export default function DockManagerEmbeddingFrames() { + const dockManagerRef = useRef(null); - public dockManager: IgrDockManager; - public geoMapPane: IgrContentPane; - public gaugePane: IgrContentPane; - public doughnutChartPane: IgrContentPane; - - constructor(props: any) { - super(props); - - // this.onMapRef = this.onMapRef.bind(this); - } - - public render(): JSX.Element { - return ( -
- -
- -
-
- -
-
- -
-
-
- ); - } - - public componentDidMount() { + // Before paint, like componentDidMount: no empty dock manager frame. + useLayoutEffect(() => { // fetching JSON data with geographic locations from public folder - this.gaugePane = { + const gaugePane: IgrContentPane = { // size: 150, header: 'ANGULAR RADIAL GAUGE', type: IgrDockManagerPaneType.contentPane, contentId: 'gaugeContainer' }; - this.doughnutChartPane = { + const doughnutChartPane: IgrContentPane = { // size: 150, header: 'WEB COMPONENT DOUGHNUT CHART', type: IgrDockManagerPaneType.contentPane, contentId: 'doughnutChartContainer' }; - this.geoMapPane = { + const geoMapPane: IgrContentPane = { // size: 200, header: 'REACT GEOGRAPHIC MAP', type: IgrDockManagerPaneType.contentPane, contentId: 'geoMapContainer' }; - this.dockManager = document.getElementById("dockManager") as IgrDockManager; - this.dockManager.layout = { + dockManagerRef.current!.layout = { rootPane: { type: IgrDockManagerPaneType.splitPane, orientation: IgrSplitPaneOrientation.vertical, @@ -72,24 +41,42 @@ export default class DockManagerEmbeddingFrames extends React.Component { type: IgrDockManagerPaneType.splitPane, orientation: IgrSplitPaneOrientation.horizontal, // size: 250, - panes: [ this.gaugePane, this.doughnutChartPane] + panes: [ gaugePane, doughnutChartPane] }, { type: IgrDockManagerPaneType.splitPane, orientation: IgrSplitPaneOrientation.vertical, // size: 200, panes: [ - // this.financialChartPane, - this.geoMapPane ] + // financialChartPane, + geoMapPane ] }, ] }, }; - } + }, []); + return ( +
+ +
+ +
+
+ +
+
+ +
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/dock-manager/embedding-frames/tsconfig.json b/samples/layouts/dock-manager/embedding-frames/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/dock-manager/embedding-frames/tsconfig.json +++ b/samples/layouts/dock-manager/embedding-frames/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/dock-manager/overview/.devcontainer/devcontainer.json b/samples/layouts/dock-manager/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/dock-manager/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/dock-manager/overview/.eslintrc.js b/samples/layouts/dock-manager/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/dock-manager/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/dock-manager/overview/README.md b/samples/layouts/dock-manager/overview/README.md index 5323f52a74..653afef25d 100644 --- a/samples/layouts/dock-manager/overview/README.md +++ b/samples/layouts/dock-manager/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Dock Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/dock-manager/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/dock-manager/overview/package.json b/samples/layouts/dock-manager/overview/package.json index d8ee419e25..798c17fb4f 100644 --- a/samples/layouts/dock-manager/overview/package.json +++ b/samples/layouts/dock-manager/overview/package.json @@ -13,22 +13,22 @@ }, "dependencies": { "igniteui-react-core": "19.6.0", - "igniteui-react-dockmanager": "19.7.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-react-dockmanager": "19.9.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/dock-manager/overview/sandbox.config.json b/samples/layouts/dock-manager/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/dock-manager/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/dock-manager/overview/src/index.tsx b/samples/layouts/dock-manager/overview/src/index.tsx index 142f8b5e2e..b8a700e6b9 100644 --- a/samples/layouts/dock-manager/overview/src/index.tsx +++ b/samples/layouts/dock-manager/overview/src/index.tsx @@ -1,93 +1,81 @@ -import React from 'react'; +import { useLayoutEffect, useRef } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import './DockManagerStyles.css'; -import { IgrDockManager, IgrDockManagerPaneType, IgrSplitPaneOrientation } from 'igniteui-react-dockmanager'; - -export default class DockManagerOverview extends React.Component { - - public dockManager: IgrDockManager; - - public render(): JSX.Element { - return ( -
- -
Content 1
-
Content 2
-
Content 3
-
Content 4
-
Content 5
-
Content 6
-
Content 7
-
Content 8
-
Content 9
-
-
- ); - } +import { + IgrContentPane, + IgrDockManager, + IgrDockManagerPane, + IgrDockManagerPaneType, + IgrDocumentHost, + IgrSplitPane, + IgrSplitPaneOrientation +} from 'igniteui-react-dockmanager'; + +function createContentPane(contentID: string, paneHeader: string): IgrContentPane { + const pane: IgrContentPane = { + // size: 150, + header: paneHeader, + type: IgrDockManagerPaneType.contentPane, + contentId: contentID + }; + return pane; +} - public createContentPane(contentID: string, paneHeader: string): any { - const pane = { - // size: 150, - header: paneHeader, - type: IgrDockManagerPaneType.contentPane, - contentId: contentID - }; - return pane; - } +function createSplitPane(orientation: IgrSplitPaneOrientation, contentPanes: IgrDockManagerPane[], size?: number): IgrSplitPane { + const pane: IgrSplitPane = { + type: IgrDockManagerPaneType.splitPane, + orientation: orientation, + panes: contentPanes, + size: size + }; + return pane; +} - public createSplitPane(orientation: IgrSplitPaneOrientation, contentPanes: any[], size?: number): any { - const pane = { +function createTabPane(orientation: IgrSplitPaneOrientation, contentPanes: IgrContentPane[], size?: number): IgrDocumentHost { + const pane: IgrDocumentHost = { + type: IgrDockManagerPaneType.documentHost, + size: size, + rootPane: { type: IgrDockManagerPaneType.splitPane, orientation: orientation, - panes: contentPanes, - size: size - }; - return pane; - } - - public createTabPane(orientation: IgrSplitPaneOrientation, contentPanes: any[], size?: number): any { - const pane = { - type: IgrDockManagerPaneType.documentHost, - size: size, - rootPane: { - type: IgrDockManagerPaneType.splitPane, - orientation: orientation, - panes: [ - { - type: IgrDockManagerPaneType.tabGroupPane, - panes: contentPanes - } - ] - } - }; - return pane; - } + panes: [ + { + type: IgrDockManagerPaneType.tabGroupPane, + panes: contentPanes + } + ] + } + }; + return pane; +} - public componentDidMount() { +export default function DockManagerOverview() { + const dockManagerRef = useRef(null); - const pane1 = this.createContentPane('content1', 'Content Pane 1'); - const pane2 = this.createContentPane('content2', 'Unpinned Pane 1'); + // Before paint, like componentDidMount: no empty dock manager frame. + useLayoutEffect(() => { + const pane1 = createContentPane('content1', 'Content Pane 1'); + const pane2 = createContentPane('content2', 'Unpinned Pane 1'); pane2.isPinned = false; - const pane3 = this.createContentPane('content3', 'Document 1'); - const pane4 = this.createContentPane('content4', 'Document 2'); + const pane3 = createContentPane('content3', 'Document 1'); + const pane4 = createContentPane('content4', 'Document 2'); - const contentPane5 = this.createContentPane('content5', 'Unpinned Pane 2'); + const contentPane5 = createContentPane('content5', 'Unpinned Pane 2'); contentPane5.isPinned = false; - const pane6 = this.createContentPane('content6', 'Tab 1'); - const pane7 = this.createContentPane('content7', 'Tab 2'); - const pane8 = this.createContentPane('content8', 'Content Pane 2'); - const pane9 = this.createContentPane('content9', 'Floating Pane'); + const pane6 = createContentPane('content6', 'Tab 1'); + const pane7 = createContentPane('content7', 'Tab 2'); + const pane8 = createContentPane('content8', 'Content Pane 2'); + const pane9 = createContentPane('content9', 'Floating Pane'); - const tabPane1 = this.createTabPane(IgrSplitPaneOrientation.horizontal, [ pane3, pane4 ], 200); + const tabPane1 = createTabPane(IgrSplitPaneOrientation.horizontal, [ pane3, pane4 ], 200); - const splitPane1 = this.createSplitPane(IgrSplitPaneOrientation.vertical, [ pane1, pane2 ]); - const splitPane2 = this.createSplitPane(IgrSplitPaneOrientation.vertical, [ tabPane1, contentPane5 ], 200); + const splitPane1 = createSplitPane(IgrSplitPaneOrientation.vertical, [ pane1, pane2 ]); + const splitPane2 = createSplitPane(IgrSplitPaneOrientation.vertical, [ tabPane1, contentPane5 ], 200); - this.dockManager = document.getElementById("dockManager") as IgrDockManager; - this.dockManager.layout = { + dockManagerRef.current!.layout = { rootPane: { type: IgrDockManagerPaneType.splitPane, orientation: IgrSplitPaneOrientation.horizontal, @@ -133,10 +121,25 @@ export default class DockManagerOverview extends React.Component { } ] }; - } - + }, []); + + return ( +
+ +
Content 1
+
Content 2
+
Content 3
+
Content 4
+
Content 5
+
Content 6
+
Content 7
+
Content 8
+
Content 9
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/dock-manager/overview/tsconfig.json b/samples/layouts/dock-manager/overview/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/dock-manager/overview/tsconfig.json +++ b/samples/layouts/dock-manager/overview/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/dock-manager/styling/.devcontainer/devcontainer.json b/samples/layouts/dock-manager/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/dock-manager/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/dock-manager/styling/.eslintrc.js b/samples/layouts/dock-manager/styling/.eslintrc.js deleted file mode 100644 index 987fe9a05c..0000000000 --- a/samples/layouts/dock-manager/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/dock-manager/styling/README.md b/samples/layouts/dock-manager/styling/README.md index b56bcdaee0..d31700da5c 100644 --- a/samples/layouts/dock-manager/styling/README.md +++ b/samples/layouts/dock-manager/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Dock Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/dock-manager/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/dock-manager/styling/package.json b/samples/layouts/dock-manager/styling/package.json index 4488f23bda..a06d94e4b8 100644 --- a/samples/layouts/dock-manager/styling/package.json +++ b/samples/layouts/dock-manager/styling/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-dockmanager": "19.7.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-react-dockmanager": "19.9.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/dock-manager/styling/sandbox.config.json b/samples/layouts/dock-manager/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/dock-manager/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/dock-manager/styling/src/index.tsx b/samples/layouts/dock-manager/styling/src/index.tsx index d97668270d..f555395113 100644 --- a/samples/layouts/dock-manager/styling/src/index.tsx +++ b/samples/layouts/dock-manager/styling/src/index.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import { useLayoutEffect, useRef } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import './DockManagerStyles.css'; @@ -6,6 +6,7 @@ import { IgrDockManager, IgrContentPane, IgrDockManagerLayout, + IgrDockManagerPane, IgrDockManagerPaneType, IgrSplitPane, IgrSplitPaneOrientation, @@ -17,774 +18,770 @@ import 'igniteui-webcomponents/themes/light/bootstrap.css'; const arrowDown = ""; const arrowUp = ""; -export default class DockManagerStyling extends React.Component { +registerIconFromText("arrow-down", arrowDown, "material"); +registerIconFromText("arrow-up", arrowUp, "material"); + +// Split pane whose `panes` is never null, so the layout builders can push to it +type SplitPane = IgrSplitPane & { panes: IgrDockManagerPane[] }; + +function getContentPane(header: string, contentId: string, headerId: string, floatingHeaderId: string): IgrContentPane { + const pane: IgrContentPane = { + type: IgrDockManagerPaneType.contentPane, + header: header, + contentId: contentId, + headerId: headerId, + floatingHeaderId: floatingHeaderId, + isPinned: true, + allowMaximize: false, + allowPinning: false, + allowClose: false + }; + + return pane; +} + +function getLayout1() : IgrDockManagerLayout{ + + const accountPane = getContentPane("ACCOUNTS", "content1", "accountHeader", "accountFloatingHeader"); + const topMoversPane = getContentPane("TODAY'S TOP MOVERS", "content2", "todayTopMovers", "todayTopMoversFloatingHeader"); + const transactionsPane = getContentPane("TRANSACTIONS", "content3", "transactionsHeader", "transactionsFloatingHeader"); + const popularStocksPane = getContentPane("POPULAR STOCKS", "content4", "popularStocksHeader", "popularStocksFloatingHeader"); + const cardsPane = getContentPane("PHYSICAL CARDS", "content5", "cardsHeader", "cardsFloatingHeader"); + + const splitPane1: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.horizontal, + panes: [] + }; + + const splitPane2: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.vertical, + size: 300, + panes: [] + }; + + const splitPane3: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.horizontal, + size: 300, + panes: [] + }; + + //AccountPane, CardsPane + const splitPane4: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.vertical, + size: 300, + panes: [] + }; + + //TransactionsPane + const splitPane5: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.vertical, + size: 300, + panes: [] + }; + + //Top Movers + const splitPane6: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.horizontal, + size: 130, + panes: [] + }; + + //Popular Stocks + const splitPane7: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.vertical, + size: 200, + panes: [] + }; + + splitPane4.panes.push(accountPane); + splitPane4.panes.push(cardsPane); + + splitPane5.panes.push(transactionsPane); + + splitPane6.panes.push(topMoversPane); - public dockManager: IgrDockManager; - public layouts: any[]; + splitPane7.panes.push(popularStocksPane); - constructor(props: any){ - super(props); - this.onSampleResize = this.onSampleResize.bind(this); - registerIconFromText("arrow-down", arrowDown, "material"); - registerIconFromText("arrow-up", arrowUp, "material"); + splitPane3.panes.push(splitPane4); + splitPane3.panes.push(splitPane5); + + splitPane2.panes.push(splitPane3); + splitPane2.panes.push(splitPane6); + + splitPane1.panes.push(splitPane2); + splitPane1.panes.push(splitPane7); + + const layout: IgrDockManagerLayout = { + rootPane: splitPane1 } - public render(): JSX.Element { - return ( -
- -
- ACCOUNTS - {/* */} -
-
- ACCOUNTS - -
-
- - -
-
-

$2980.00

- United States Dollar -
+ return layout; +} - - USA - -
-
+function getLayout2() : IgrDockManagerLayout +{ + const accountPane = getContentPane("ACCOUNTS", "content1", "accountHeader", "accountFloatingHeader"); + const topMoversPane = getContentPane("TODAY'S TOP MOVERS", "content2", "todayTopMovers", "todayTopMoversFloatingHeader"); + const transactionsPane = getContentPane("TRANSACTIONS", "content3", "transactionsHeader", "transactionsFloatingHeader"); + const popularStocksPane = getContentPane("POPULAR STOCKS", "content4", "popularStocksHeader", "popularStocksFloatingHeader"); + const cardsPane = getContentPane("PHYSICAL CARDS", "content5", "cardsHeader", "cardsFloatingHeader"); - -
-
- - Add Money - -
-
- - Send - -
-
-
-
-
-
- TODAY'S TOP MOVERS - {/* */} -
-
- TODAY'S TOP MOVERS - + const splitPane1: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.horizontal, + panes: [] + }; + + const splitPane2: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.vertical, + size: 300, + panes: [] + }; + + const splitPane3: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.horizontal, + size: 300, + panes: [] + }; + + //Transactions Pane, TGP1 + const splitPane4: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.vertical, + size: 300, + panes: [] + }; + + //Popular Stocks Pane + const splitPane5: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.vertical, + size: 300, + panes: [] + }; + + //Top Movers + const splitPane6: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.horizontal, + size: 130, + panes: [] + }; + + //AccountPane, CardsPane + const tabGroupPane1: IgrTabGroupPane = + { + type: IgrDockManagerPaneType.tabGroupPane, + size: 100, + panes: [] + }; + + tabGroupPane1.panes.push(accountPane); + tabGroupPane1.panes.push(cardsPane); + + splitPane4.panes.push(tabGroupPane1); + splitPane4.panes.push(transactionsPane); + + splitPane5.panes.push(popularStocksPane); + + splitPane6.panes.push(topMoversPane); + + splitPane3.panes.push(splitPane4); + splitPane3.panes.push(splitPane5); + + splitPane2.panes.push(splitPane3); + splitPane2.panes.push(splitPane6); + + splitPane1.panes.push(splitPane2); + + const layout: IgrDockManagerLayout = { + rootPane: splitPane1 + }; + + return layout; +} + +function getLayout3() : IgrDockManagerLayout +{ + const accountPane = getContentPane("ACCOUNTS", "content1", "accountHeader", "accountFloatingHeader"); + const topMoversPane = getContentPane("TODAY'S TOP MOVERS", "content2", "todayTopMovers", "todayTopMoversFloatingHeader"); + const transactionsPane = getContentPane("TRANSACTIONS", "content3", "transactionsHeader", "transactionsFloatingHeader"); + const popularStocksPane = getContentPane("POPULAR STOCKS", "content4", "popularStocksHeader", "popularStocksFloatingHeader"); + const cardsPane = getContentPane("PHYSICAL CARDS", "content5", "cardsHeader", "cardsFloatingHeader"); + + const splitPane1: SplitPane = + { + type: IgrDockManagerPaneType.splitPane, + orientation: IgrSplitPaneOrientation.vertical, + panes: [] + }; + + const tabGroupPane1: IgrTabGroupPane = + { + type: IgrDockManagerPaneType.tabGroupPane, + size: 200, + panes: [] + }; + + const tabGroupPane2: IgrTabGroupPane = + { + type: IgrDockManagerPaneType.tabGroupPane, + size: 300, + panes: [] + }; + + tabGroupPane1.panes.push(accountPane); + tabGroupPane1.panes.push(cardsPane); + tabGroupPane1.panes.push(transactionsPane); + + tabGroupPane2.panes.push(popularStocksPane); + tabGroupPane2.panes.push(topMoversPane); + + splitPane1.panes.push(tabGroupPane1); + splitPane1.panes.push(tabGroupPane2); + + const layout: IgrDockManagerLayout = { + rootPane: splitPane1 + }; + + return layout; +} + +export default function DockManagerStyling() { + const dockManagerRef = useRef(null); + + // Before paint, like componentDidMount: no empty dock manager frame. + useLayoutEffect(() => { + + const layout1: IgrDockManagerLayout = getLayout1(); + const layout2: IgrDockManagerLayout = getLayout2(); + const layout3: IgrDockManagerLayout = getLayout3(); + const layouts = [layout1, layout2, layout3]; + + const dockManager = dockManagerRef.current!; + + // Picks a layout per sample width breakpoint + function onSampleResize() { + const width = dockManager.offsetWidth; + + if (width > 1200) { + dockManager.layout = layouts[0]; + } + if (width <= 1200) { + dockManager.layout = layouts[1]; + } + if (width <= 800) { + dockManager.layout = layouts[2]; + } + } + + window.onresize = onSampleResize; + + dockManager.layout = layout1; + }, []); + + return ( +
+ +
+ ACCOUNTS + {/* */} +
+
+ ACCOUNTS + +
+
+ + +
+
+

$2980.00

+ United States Dollar +
+ + + USA + +
+
+ + +
+
+ + Add Money + +
+
+ + Send + +
+
+
+
+
+ +
+ TODAY'S TOP MOVERS + {/* */} +
+
+ TODAY'S TOP MOVERS + +
+
+
+
+ + TSLA + + 1017,08$ +
12,54%
+
+
+ + AMC + + 39,33$ +
12,72%
+
+
+ + GOEV + + 12,33$ +
45,92%
+
+
+ + LCID + + 58,14$ +
29,42%
+
+
+ + NIO + + 21,67$ +
7,25%
+
+
+ + STNE + + 22,48$ +
28,68%
+
+
+ + ROKU + + 249,35$ +
9,5%
+
+
+ + MAXR + + 33,14$ +
8,12%
+
-
-
-
+
+
+ TRANSACTIONS + {/* */} +
+
+ TRANSACTIONS + +
+
+ + +
+ + AMZN + +
+

Money added via **0000

+ 14:40 +
+ + 2000$ +
+
+ +
+ + SET + +
+

Sports Event Tickets

+ Jun 21, 06:15, Declined because your card is inactive +
+ 1017,08 $ + 900,08 $ +
+
+ +
+ + AT + +
+

Airplane Tickets

+ Jun 21, 06:15, Declined because your card is inactive +
+ 985,00 $ + 980,00 $ +
+
+ +
+ + H + +
+

Hotel

+ Jun 21, 06:15 +
+ - 400,00 $ +
+
+ +
+ + ATM + +
+

Cash at ATM 000000

+ 14:40 +
+ - 140$ +
+
+ +
+ + U + +
+

Utilities

+ 21/06/2021 16:00 +
+ - 200$ +
+
+ +
+ + ATM + +
+

Cash at ATM 000001

+ 10:10 +
+ - 280$ +
+
+ +
+ + MA + +
+

Money added via **0000

+ 14:40 +
+ + 2000$ +
+
+
+
+ +
+ POPULAR STOCKS + {/* */} +
+
+ POPULAR STOCKS + +
+
+ + +
TSLA - 1017,08$ +
+

Tesla

+ TSLA - Electric Vehicles +
+ 1017,08 $
12,54%
-
+ + +
+ + APPL + +
+

Apple

+ APPL - iPhones and Macs +
+ 150,47 $ +
0,2%
+
+
+ +
+ + NIO + +
+

NIO

+ NIO - Electric Vehicles +
+ 40,07 $ +
7,25%
+
+
+ +
+ + AMZN + +
+

Amazon

+ AMZN - E-Commerce +
+ 3582,32 $ +
2,68%
+
+
+ +
+ + GME + +
+

Game Stop

+ GME - Video Games Retail +
+ 205,60 $ +
5,96%
+
+
+ +
AMC - 39,33$ +
+

AMC

+ AMC - Entertainment +
+ 39,33 $
12,72%
-
- - GOEV + + +
+ + MSFT - 12,33$ -
45,92%
-
- - LCID +

Microsoft

+ MSFT - Tech Giant +
+ 335,66 $ +
0,39%
+
+ + +
+ + SPCE - 58,14$ -
29,42%
-
- - NIO +

Virgin Galactic

+ SPCE - Space Tourism +
+ 18,90 $ +
1,66%
+
+ + +
+ + PFE - 21,67$ -
7,25%
-
- - STNE +

Pfizer

+ PFE - Pharmaceuticals +
+ 49,43 $ +
0,60%
+
+ + +
+ + GOOGL - 22,48$ -
28,68%
-
- - ROKU +

Alpabet (Class A)

+ GOOGL - Tech Giant +
+ 2972,88 $ +
0,02%
+
+ + +
+ + META - 249,35$ -
9,5%
-
- - MAXR +

Meta Platforms

+ FB - Tech Giant +
+ 347,86 $ +
2,04%
+
+ + +
+ + PLTR - 33,14$ -
8,12%
-
-
-
- TRANSACTIONS - {/* */} -
-
- TRANSACTIONS - -
-
- - -
- - AMZN - -
-

Money added via **0000

- 14:40 -
- + 2000$ -
-
- -
- - SET - -
-

Sports Event Tickets

- Jun 21, 06:15, Declined because your card is inactive -
- 1017,08 $ - 900,08 $ -
-
- -
- - AT - -
-

Airplane Tickets

- Jun 21, 06:15, Declined because your card is inactive -
- 985,00 $ - 980,00 $ -
-
- -
- - H - -
-

Hotel

- Jun 21, 06:15 -
- - 400,00 $ -
-
- -
- - ATM - -
-

Cash at ATM 000000

- 14:40 -
- - 140$ -
-
- -
- - U - -
-

Utilities

- 21/06/2021 16:00 -
- - 200$ -
-
- -
- - ATM - -
-

Cash at ATM 000001

- 10:10 -
- - 280$ -
-
- -
- - MA - -
-

Money added via **0000

- 14:40 -
- + 2000$ -
-
-
-
- -
- POPULAR STOCKS - {/* */} -
-
- POPULAR STOCKS - -
-
- - -
- - TSLA - -
-

Tesla

- TSLA - Electric Vehicles -
- 1017,08 $ -
12,54%
-
-
- -
- - APPL - -
-

Apple

- APPL - iPhones and Macs -
- 150,47 $ -
0,2%
-
-
- -
- - NIO - -
-

NIO

- NIO - Electric Vehicles -
- 40,07 $ -
7,25%
-
-
- -
- - AMZN - -
-

Amazon

- AMZN - E-Commerce -
- 3582,32 $ -
2,68%
-
-
- -
- - GME - -
-

Game Stop

- GME - Video Games Retail -
- 205,60 $ -
5,96%
-
-
- -
- - AMC - -
-

AMC

- AMC - Entertainment -
- 39,33 $ -
12,72%
-
-
- -
- - MSFT - -
-

Microsoft

- MSFT - Tech Giant -
- 335,66 $ -
0,39%
-
-
- -
- - SPCE - -
-

Virgin Galactic

- SPCE - Space Tourism -
- 18,90 $ -
1,66%
-
-
- -
- - PFE - -
-

Pfizer

- PFE - Pharmaceuticals -
- 49,43 $ -
0,60%
-
-
- -
- - GOOGL - -
-

Alpabet (Class A)

- GOOGL - Tech Giant -
- 2972,88 $ -
0,02%
-
-
- -
- - META - -
-

Meta Platforms

- FB - Tech Giant -
- 347,86 $ -
2,04%
-
-
- -
- - PLTR - -
-

Palantir

- PLTR - Data Analytics -
- 23,30 $ -
2,06%
-
-
- -
- - AAL - -
-

American Airlines

- AAL - Airline Service -
- 20,45 $ -
0.79%
-
-
- -
- - NFLX - -
-

Netflix

- NFLX - TV Streaming -
- 679,39 $ -
0,47%
-
-
-
-
- -
- PHYSICAL CARDS - {/* */} -
-
- TODAY'S TOP MOVERS - -
-
- - - - + Add Card - - - -
- - MC - -
-

Standard **0000

- Expires on 11/26 -
- -
- - VISA - -
-

Rose gold **0000

- Expires on 11/24 -
- -
- - VISA - -
-

Virtual card **0000

- Expires on 10/22 -
-
-
- -
-
- -
- ); - } - - public getContentPane(header: string, contentId: string, headerId: string, floatingHeaderId: string): IgrContentPane { - const pane: IgrContentPane = { - type: IgrDockManagerPaneType.contentPane, - header: header, - contentId: contentId, - headerId: headerId, - floatingHeaderId: floatingHeaderId, - isPinned: true, - allowMaximize: false, - allowPinning: false, - allowClose: false - }; - - return pane; - } - - public getLayout1() : IgrDockManagerLayout{ - - const accountPane = this.getContentPane("ACCOUNTS", "content1", "accountHeader", "accountFloatingHeader"); - const topMoversPane = this.getContentPane("TODAY'S TOP MOVERS", "content2", "todayTopMovers", "todayTopMoversFloatingHeader"); - const transactionsPane = this.getContentPane("TRANSACTIONS", "content3", "transactionsHeader", "transactionsFloatingHeader"); - const popularStocksPane = this.getContentPane("POPULAR STOCKS", "content4", "popularStocksHeader", "popularStocksFloatingHeader"); - const cardsPane = this.getContentPane("PHYSICAL CARDS", "content5", "cardsHeader", "cardsFloatingHeader"); - - const splitPane1: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.horizontal, - panes: [] - }; - - const splitPane2: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.vertical, - size: 300, - panes: [] - }; - - const splitPane3: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.horizontal, - size: 300, - panes: [] - }; - - //AccountPane, CardsPane - const splitPane4: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.vertical, - size: 300, - panes: [] - }; - - //TransactionsPane - const splitPane5: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.vertical, - size: 300, - panes: [] - }; - - //Top Movers - const splitPane6: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.horizontal, - size: 130, - panes: [] - }; - - //Popular Stocks - const splitPane7: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.vertical, - size: 200, - panes: [] - }; - - splitPane4.panes.push(accountPane); - splitPane4.panes.push(cardsPane); - - splitPane5.panes.push(transactionsPane); - - splitPane6.panes.push(topMoversPane); - - splitPane7.panes.push(popularStocksPane); - - splitPane3.panes.push(splitPane4); - splitPane3.panes.push(splitPane5); - - splitPane2.panes.push(splitPane3); - splitPane2.panes.push(splitPane6); - - splitPane1.panes.push(splitPane2); - splitPane1.panes.push(splitPane7); - - const layout: IgrDockManagerLayout = { - rootPane: splitPane1 - } - - return layout; - } - - public getLayout2() : IgrDockManagerLayout - { - const accountPane = this.getContentPane("ACCOUNTS", "content1", "accountHeader", "accountFloatingHeader"); - const topMoversPane = this.getContentPane("TODAY'S TOP MOVERS", "content2", "todayTopMovers", "todayTopMoversFloatingHeader"); - const transactionsPane = this.getContentPane("TRANSACTIONS", "content3", "transactionsHeader", "transactionsFloatingHeader"); - const popularStocksPane = this.getContentPane("POPULAR STOCKS", "content4", "popularStocksHeader", "popularStocksFloatingHeader"); - const cardsPane = this.getContentPane("PHYSICAL CARDS", "content5", "cardsHeader", "cardsFloatingHeader"); - - - const splitPane1: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.horizontal, - panes: [] - }; - - const splitPane2: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.vertical, - size: 300, - panes: [] - }; - - const splitPane3: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.horizontal, - size: 300, - panes: [] - }; - - //Transactions Pane, TGP1 - const splitPane4: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.vertical, - size: 300, - panes: [] - }; - - //Popular Stocks Pane - const splitPane5: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.vertical, - size: 300, - panes: [] - }; - - //Top Movers - const splitPane6: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.horizontal, - size: 130, - panes: [] - }; - - //AccountPane, CardsPane - const tabGroupPane1: IgrTabGroupPane = - { - type: IgrDockManagerPaneType.tabGroupPane, - size: 100, - panes: [] - }; - - tabGroupPane1.panes.push(accountPane); - tabGroupPane1.panes.push(cardsPane); - - splitPane4.panes.push(tabGroupPane1); - splitPane4.panes.push(transactionsPane); - - splitPane5.panes.push(popularStocksPane); - - splitPane6.panes.push(topMoversPane); - - splitPane3.panes.push(splitPane4); - splitPane3.panes.push(splitPane5); - - splitPane2.panes.push(splitPane3); - splitPane2.panes.push(splitPane6); - - splitPane1.panes.push(splitPane2); - - const layout: IgrDockManagerLayout = { - rootPane: splitPane1 - }; - - return layout; - } - - public getLayout3() : IgrDockManagerLayout - { - const accountPane = this.getContentPane("ACCOUNTS", "content1", "accountHeader", "accountFloatingHeader"); - const topMoversPane = this.getContentPane("TODAY'S TOP MOVERS", "content2", "todayTopMovers", "todayTopMoversFloatingHeader"); - const transactionsPane = this.getContentPane("TRANSACTIONS", "content3", "transactionsHeader", "transactionsFloatingHeader"); - const popularStocksPane = this.getContentPane("POPULAR STOCKS", "content4", "popularStocksHeader", "popularStocksFloatingHeader"); - const cardsPane = this.getContentPane("PHYSICAL CARDS", "content5", "cardsHeader", "cardsFloatingHeader"); - - const splitPane1: IgrSplitPane = - { - type: IgrDockManagerPaneType.splitPane, - orientation: IgrSplitPaneOrientation.vertical, - panes: [] - }; - - const tabGroupPane1: IgrTabGroupPane = - { - type: IgrDockManagerPaneType.tabGroupPane, - size: 200, - panes: [] - }; - - const tabGroupPane2: IgrTabGroupPane = - { - type: IgrDockManagerPaneType.tabGroupPane, - size: 300, - panes: [] - }; - - tabGroupPane1.panes.push(accountPane); - tabGroupPane1.panes.push(cardsPane); - tabGroupPane1.panes.push(transactionsPane); - - tabGroupPane2.panes.push(popularStocksPane); - tabGroupPane2.panes.push(topMoversPane); - - splitPane1.panes.push(tabGroupPane1); - splitPane1.panes.push(tabGroupPane2); - - const layout: IgrDockManagerLayout = { - rootPane: splitPane1 - }; - - return layout; - } - - public onSampleResize() { - const width = this.dockManager.offsetWidth; - - if (width > 1200) { - this.dockManager.layout = this.layouts[0]; - } - if (width <= 1200) { - this.dockManager.layout = this.layouts[1]; - } - if (width <= 800) { - this.dockManager.layout = this.layouts[2]; - } - } - - public componentDidMount() { - - const layout1: IgrDockManagerLayout = this.getLayout1(); - const layout2: IgrDockManagerLayout = this.getLayout2(); - const layout3: IgrDockManagerLayout = this.getLayout3(); - - this.dockManager = document.getElementById("dockManager") as IgrDockManager; - - window.onresize = this.onSampleResize; - - this.dockManager.layout = layout1; - - this.layouts = [layout1, layout2, layout3]; - } +

Palantir

+ PLTR - Data Analytics +
+ 23,30 $ +
2,06%
+
+
+ +
+ + AAL + +
+

American Airlines

+ AAL - Airline Service +
+ 20,45 $ +
0.79%
+
+
+ +
+ + NFLX + +
+

Netflix

+ NFLX - TV Streaming +
+ 679,39 $ +
0,47%
+
+
+ +
+ +
+ PHYSICAL CARDS + {/* */} +
+
+ TODAY'S TOP MOVERS + +
+
+ + + + + Add Card + + + +
+ + MC + +
+

Standard **0000

+ Expires on 11/26 +
+ +
+ + VISA + +
+

Rose gold **0000

+ Expires on 11/24 +
+ +
+ + VISA + +
+

Virtual card **0000

+ Expires on 10/22 +
+
+
+ +
+
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/dock-manager/styling/tsconfig.json b/samples/layouts/dock-manager/styling/tsconfig.json index 668ad2b988..e27a22be9b 100644 --- a/samples/layouts/dock-manager/styling/tsconfig.json +++ b/samples/layouts/dock-manager/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/dock-manager/updating-panes/.devcontainer/devcontainer.json b/samples/layouts/dock-manager/updating-panes/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/dock-manager/updating-panes/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/dock-manager/updating-panes/.eslintrc.js b/samples/layouts/dock-manager/updating-panes/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/dock-manager/updating-panes/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/dock-manager/updating-panes/README.md b/samples/layouts/dock-manager/updating-panes/README.md index 43fae11700..59822f4b91 100644 --- a/samples/layouts/dock-manager/updating-panes/README.md +++ b/samples/layouts/dock-manager/updating-panes/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Updating Panes feature using [Dock Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Updatin Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/dock-manager/updating-panes ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/dock-manager/updating-panes/package.json b/samples/layouts/dock-manager/updating-panes/package.json index 0b2c4fb338..4a4487616d 100644 --- a/samples/layouts/dock-manager/updating-panes/package.json +++ b/samples/layouts/dock-manager/updating-panes/package.json @@ -14,23 +14,23 @@ "dependencies": { "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", - "igniteui-react-dockmanager": "19.7.0", + "igniteui-react-dockmanager": "19.9.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/dock-manager/updating-panes/sandbox.config.json b/samples/layouts/dock-manager/updating-panes/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/dock-manager/updating-panes/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/dock-manager/updating-panes/src/index.tsx b/samples/layouts/dock-manager/updating-panes/src/index.tsx index 243411505d..add0338f88 100644 --- a/samples/layouts/dock-manager/updating-panes/src/index.tsx +++ b/samples/layouts/dock-manager/updating-panes/src/index.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import { useLayoutEffect, useRef, useState } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import './DockManagerStyles.css'; @@ -8,7 +8,7 @@ import { IgrGeographicMap, IgrGeographicMapModule } from "igniteui-react-maps"; import { IgrGeographicSymbolSeries } from 'igniteui-react-maps'; import { IgrArcGISOnlineMapImagery } from 'igniteui-react-maps'; import { IgrDataChartInteractivityModule } from 'igniteui-react-charts'; -import { IgrDataContext } from 'igniteui-react-core'; +import type { IChartTooltipProps, IgRect } from 'igniteui-react-core'; import { IgrCategoryChartModule, MarkerType, ToolTipType, YAxisLabelLocation } from "igniteui-react-charts"; import { IgrCategoryChart, CategoryTransitionInMode, CategoryChartType } from "igniteui-react-charts"; import { IgrLegendModule } from "igniteui-react-charts"; @@ -19,125 +19,97 @@ IgrGeographicMapModule.register(); IgrDataChartInteractivityModule.register(); IgrLegendModule.register(); -export default class DockManagerUpdatingPanes extends React.Component { - private chart: IgrCategoryChart; - private map: IgrGeographicMap; - private dockManager: IgrDockManager; - private employeesDatabase = DockManagerSharedData.getEmployees(60); - - private employeeListContainer: HTMLDivElement; - private employeeListPane: IgrContentPane; - private employeesList: HTMLDivElement[] = []; - - private productivityChart: IgrCategoryChart; - private productivityChartPane: IgrContentPane; - private productivityChartContainer: HTMLDivElement; - - private geoLocationMap: IgrGeographicMap; - private geoLocationMapPane: IgrContentPane; - private geoLocationMapContainer: HTMLDivElement; - private geoLocationSeries: IgrGeographicSymbolSeries; - - constructor(props: any) { - super(props); - - this.mapRef = this.mapRef.bind(this); - this.chartRef = this.chartRef.bind(this); - this.dockManagerRef = this.dockManagerRef.bind(this); +// Fields of DockManagerSharedData.getEmployees() items this sample reads +interface Employee { + ID: string; + Name: string; + Photo: string; + City: string; + CountryFlag: string; + Latitude: number; + Longitude: number; + Productivity: object[]; +} - this.createEmployeeList = this.createEmployeeList.bind(this); - this.createLocationMapTooltip = this.createLocationMapTooltip.bind(this); - this.createProductivityChart = this.createProductivityChart.bind(this); +function createLocationMapTooltip(tooltipProps: IChartTooltipProps) { + const dataContext = tooltipProps.dataContext; + if (!dataContext) { + return null; + } - this.createLocationMap = this.createLocationMap.bind(this); - this.onEmployeeClick = this.onEmployeeClick.bind(this); + const dataItem = dataContext.item as Employee; + if (!dataItem) { + return null; } - public render(): JSX.Element { - return ( -
- -
-
- -
-
- -
- + const lbl = dataItem.City; + const scr = dataItem.CountryFlag; + const lat = WorldUtils.toStringLat(dataItem.Latitude); + const lon = WorldUtils.toStringLon(dataItem.Longitude); + + return
+ +
+
+
Latitude:
+
{lat}
- ); - } +
+
Longitude:
+
{lon}
+
+
+
City:
+
{lbl}
+
+
+
+} - private chartRef(chart: IgrCategoryChart) { - this.chart = chart; - if (this.chart && this.map && this.dockManager) { - this.onReady(); - } - } +export default function DockManagerUpdatingPanes() { + const chartRef = useRef(null); + const mapRef = useRef(null); + const dockManagerRef = useRef(null); - private mapRef(map: IgrGeographicMap) { - this.map = map; - if (this.chart && this.map && this.dockManager) { - this.onReady(); - } - } + const [employeesDatabase] = useState(() => DockManagerSharedData.getEmployees(60)); + const employeesList = useRef([]); + const geoLocationSeries = useRef(null); - private dockManagerRef(dockManager: IgrDockManager) { - this.dockManager = dockManager; - if (this.chart && this.map && this.dockManager) { - this.onReady(); - } - } + // Layout effect: runs in the same commit that attaches the refs, like the + // callback refs that used to trigger onReady + useLayoutEffect(() => { + onReady(); + }, []); - private onReady() { - this.createEmployeeList(); - this.createLocationMap(); - this.createProductivityChart(); + function onReady() { + createEmployeeList(); + createLocationMap(); + createProductivityChart(); - this.employeeListContainer = document.getElementById("employeeListContainer") as HTMLDivElement; - this.geoLocationMapContainer = document.getElementById("geoLocationMapContainer") as HTMLDivElement; - this.productivityChartContainer = document.getElementById("productivityChartContainer") as HTMLDivElement; - this.productivityChartContainer.style.overflow = "hidden"; + const productivityChartContainer = document.getElementById("productivityChartContainer") as HTMLDivElement; + productivityChartContainer.style.overflow = "hidden"; - this.productivityChartPane = { + const productivityChartPane: IgrContentPane = { size: 150, header: "EMPLOYEE PRODUCTIVITY", type: IgrDockManagerPaneType.contentPane, contentId: "productivityChartContainer" }; - this.geoLocationMapPane = { + const geoLocationMapPane: IgrContentPane = { size: 150, header: "EMPLOYEE LOCATIONS", type: IgrDockManagerPaneType.contentPane, contentId: "geoLocationMapContainer" }; - this.employeeListPane = { + const employeeListPane: IgrContentPane = { header: "EMPLOYEE LIST", type: IgrDockManagerPaneType.contentPane, contentId: "employeeListContainer" }; - this.dockManager.layout = { + dockManagerRef.current!.layout = { rootPane: { type: IgrDockManagerPaneType.splitPane, orientation: IgrSplitPaneOrientation.horizontal, @@ -146,45 +118,45 @@ export default class DockManagerUpdatingPanes extends React.Component type: IgrDockManagerPaneType.splitPane, orientation: IgrSplitPaneOrientation.vertical, size: 100, - panes: [this.employeeListPane] + panes: [employeeListPane] }, { type: IgrDockManagerPaneType.splitPane, orientation: IgrSplitPaneOrientation.vertical, size: 300, - panes: [this.productivityChartPane, this.geoLocationMapPane] + panes: [productivityChartPane, geoLocationMapPane] } ] } }; - this.onEmployeeClick(this.employeesDatabase[0]); + onEmployeeClick(employeesDatabase[0]); } - public createProductivityChart() { - this.productivityChart = this.chart; - this.productivityChart.includedProperties = ["Value", "Month"]; - this.productivityChart.chartType = CategoryChartType.Column; - this.productivityChart.thickness = 1; - this.productivityChart.yAxisLabelLocation = YAxisLabelLocation.OutsideRight; - this.productivityChart.yAxisLabelRightMargin = 20; - this.productivityChart.yAxisMinimumValue = 25; - this.productivityChart.yAxisMaximumValue = 100; - this.productivityChart.yAxisInterval = 25; - this.productivityChart.xAxisInterval = 1; - this.productivityChart.width = "100%"; - this.productivityChart.height = "100%"; - this.productivityChart.transitionDuration = 100; - this.productivityChart.transitionInDuration = 1000; - this.productivityChart.isSeriesHighlightingEnabled = true; - this.productivityChart.crosshairsAnnotationEnabled = true; - this.productivityChart.crosshairsSnapToData = true; - this.productivityChart.toolTipType = ToolTipType.Item; - - this.productivityChart.transitionInMode = CategoryTransitionInMode.AccordionFromBottom; + function createProductivityChart() { + const productivityChart = chartRef.current!; + productivityChart.includedProperties = ["Value", "Month"]; + productivityChart.chartType = CategoryChartType.Column; + productivityChart.thickness = 1; + productivityChart.yAxisLabelLocation = YAxisLabelLocation.OutsideRight; + productivityChart.yAxisLabelRightMargin = 20; + productivityChart.yAxisMinimumValue = 25; + productivityChart.yAxisMaximumValue = 100; + productivityChart.yAxisInterval = 25; + productivityChart.xAxisInterval = 1; + productivityChart.width = "100%"; + productivityChart.height = "100%"; + productivityChart.transitionDuration = 100; + productivityChart.transitionInDuration = 1000; + productivityChart.isSeriesHighlightingEnabled = true; + productivityChart.crosshairsAnnotationEnabled = true; + productivityChart.crosshairsSnapToData = true; + productivityChart.toolTipType = ToolTipType.Item; + + productivityChart.transitionInMode = CategoryTransitionInMode.AccordionFromBottom; } - public createEmployeeList() { + function createEmployeeList() { let employeeListContainer = document.getElementById("employeeListContainer") as HTMLDivElement; employeeListContainer.style.width = "calc(100% - 1rem)"; @@ -193,7 +165,7 @@ export default class DockManagerUpdatingPanes extends React.Component employeeListContainer.style.display = "flex"; employeeListContainer.style.flexDirection = "column"; - for (const employee of this.employeesDatabase) { + for (const employee of employeesDatabase) { let employeeName = document.createElement("div"); employeeName.style.paddingLeft = "1rem"; employeeName.textContent = employee.Name; @@ -217,104 +189,107 @@ export default class DockManagerUpdatingPanes extends React.Component employeeListItem.style.cursor = "pointer"; employeeListItem.appendChild(employeePhoto); employeeListItem.appendChild(employeeName); - employeeListItem.addEventListener("click", e => - this.onEmployeeClick(employee) + employeeListItem.addEventListener("click", () => + onEmployeeClick(employee) ); // employeeListItem.appendChild(employeeSurname); employeeListContainer.appendChild(employeeListItem); - this.employeesList.push(employeeListItem); + employeesList.current.push(employeeListItem); } } - public createLocationMap() { + function createLocationMap() { let allLocationSeries = new IgrGeographicSymbolSeries({ name: "symbolSeries1" }); allLocationSeries.latitudeMemberPath = "Latitude"; allLocationSeries.longitudeMemberPath = "Longitude"; - allLocationSeries.dataSource = this.employeesDatabase; + allLocationSeries.dataSource = employeesDatabase; allLocationSeries.markerType = MarkerType.Circle; allLocationSeries.markerBrush = "white"; allLocationSeries.markerOutline = "Red"; - allLocationSeries.tooltipTemplate = this.createLocationMapTooltip; + allLocationSeries.tooltipTemplate = createLocationMapTooltip; - this.geoLocationSeries = new IgrGeographicSymbolSeries({ + const series = new IgrGeographicSymbolSeries({ name: "symbolSeries2" }); - this.geoLocationSeries.latitudeMemberPath = "Latitude"; - this.geoLocationSeries.longitudeMemberPath = "Longitude"; - this.geoLocationSeries.dataSource = []; - this.geoLocationSeries.markerType = MarkerType.Circle; - this.geoLocationSeries.markerBrush = "white"; - this.geoLocationSeries.markerOutline = "LimeGreen"; - this.geoLocationSeries.tooltipTemplate = this.createLocationMapTooltip; + series.latitudeMemberPath = "Latitude"; + series.longitudeMemberPath = "Longitude"; + series.dataSource = []; + series.markerType = MarkerType.Circle; + series.markerBrush = "white"; + series.markerOutline = "LimeGreen"; + series.tooltipTemplate = createLocationMapTooltip; + geoLocationSeries.current = series; const tileSource = new IgrArcGISOnlineMapImagery(); tileSource.mapServerUri = "https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"; - this.geoLocationMap = this.map; - this.geoLocationMap.height = "100%"; - this.geoLocationMap.width = "100%"; - this.geoLocationMap.series.add(allLocationSeries); - this.geoLocationMap.series.add(this.geoLocationSeries); - this.geoLocationMap.backgroundContent = tileSource; - } - - public createLocationMapTooltip(tooltipProps: any) { - const dataContext = tooltipProps.dataContext as IgrDataContext; - if (!dataContext) return null; - - const dataItem = dataContext.item as any; - if (!dataItem) return null; - - const lbl = dataItem.City; - const scr = dataItem.CountryFlag; - const lat = WorldUtils.toStringLat(dataItem.Latitude); - const lon = WorldUtils.toStringLon(dataItem.Longitude); - - return
- -
-
-
Latitude:
-
{lat}
-
-
-
Longitude:
-
{lon}
-
-
-
City:
-
{lbl}
-
-
-
+ const geoLocationMap = mapRef.current!; + geoLocationMap.height = "100%"; + geoLocationMap.width = "100%"; + geoLocationMap.series.add(allLocationSeries); + geoLocationMap.series.add(series); + geoLocationMap.backgroundContent = tileSource; } - public onEmployeeClick(employee: any) { + function onEmployeeClick(employee: Employee) { - for (const employeeListItem of this.employeesList) { + for (const employeeListItem of employeesList.current) { if (employeeListItem.id !== employee.ID) { employeeListItem.style.background = "transparent"; } else { employeeListItem.style.background = "#a8d3fd"; - this.geoLocationSeries.dataSource = [employee]; - this.productivityChart.dataSource = employee.Productivity; - - let geoZoom: any = {}; - geoZoom.width = 50; - geoZoom.height = 25; - geoZoom.left = employee.Longitude - geoZoom.width / 2; - geoZoom.top = employee.Latitude - geoZoom.height / 2; - this.geoLocationMap.zoomToGeographic(geoZoom); + geoLocationSeries.current!.dataSource = [employee]; + chartRef.current!.dataSource = employee.Productivity; + + const width = 50; + const height = 25; + const geoZoom: IgRect = { + width, + height, + left: employee.Longitude - width / 2, + top: employee.Latitude - height / 2, + }; + mapRef.current!.zoomToGeographic(geoZoom); } } } + return ( +
+ +
+
+ +
+
+ +
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/dock-manager/updating-panes/tsconfig.json b/samples/layouts/dock-manager/updating-panes/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/dock-manager/updating-panes/tsconfig.json +++ b/samples/layouts/dock-manager/updating-panes/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/expansion-panel/component-customization/.devcontainer/devcontainer.json b/samples/layouts/expansion-panel/component-customization/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/expansion-panel/component-customization/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/expansion-panel/component-customization/.eslintrc.js b/samples/layouts/expansion-panel/component-customization/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/expansion-panel/component-customization/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/expansion-panel/component-customization/README.md b/samples/layouts/expansion-panel/component-customization/README.md index a57c0b44bb..a9388365c5 100644 --- a/samples/layouts/expansion-panel/component-customization/README.md +++ b/samples/layouts/expansion-panel/component-customization/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Component Customization feature using [Expansion Panel](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Compone Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/expansion-panel/component-customization ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/expansion-panel/component-customization/package.json b/samples/layouts/expansion-panel/component-customization/package.json index 21f1dada24..8fa3cdec7d 100644 --- a/samples/layouts/expansion-panel/component-customization/package.json +++ b/samples/layouts/expansion-panel/component-customization/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/expansion-panel/component-customization/sandbox.config.json b/samples/layouts/expansion-panel/component-customization/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/expansion-panel/component-customization/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/expansion-panel/component-customization/src/index.tsx b/samples/layouts/expansion-panel/component-customization/src/index.tsx index 1130df3737..71e839692e 100644 --- a/samples/layouts/expansion-panel/component-customization/src/index.tsx +++ b/samples/layouts/expansion-panel/component-customization/src/index.tsx @@ -1,48 +1,39 @@ -import React from 'react'; +import { useState } from 'react'; import ReactDOM from 'react-dom/client'; import './ExpansionPanelCustomization.css'; import { IgrExpansionPanel, IgrButton } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class ExpansionPanelComponentCustomization extends React.Component { +export default function ExpansionPanelComponentCustomization() { + const [expansionText, setExpansionText] = useState("Show more"); - constructor(props: any) { - super(props); - this.state = { expansionText: "Show more" }; - - this.onExpansionPanelClosed = this.onExpansionPanelClosed.bind(this); - this.onExpansionPanelOpened = this.onExpansionPanelOpened.bind(this); - } - - public render(): JSX.Element { - return ( -
- - Golden Retriever - Medium-large gun dog -
{this.state.expansionText}
- - The Golden Retriever is a medium-large gun dog that retrieves shot waterfowl, such as ducks - and upland game birds, during hunting and shooting parties.[3] The name retriever refers to the breeds ability - to retrieve shot game undamaged due to their soft mouth. Golden retrievers have an instinctive love of water, and - are easy to train to basic or advanced obedience standards. - - Read more - -
-
- ); + function onExpansionPanelClosed() { + setExpansionText("Show more"); } - public onExpansionPanelClosed() { - this.setState({ expansionText: "Show more"}); + function onExpansionPanelOpened() { + setExpansionText("Show less"); } - public onExpansionPanelOpened() { - this.setState({ expansionText: "Show less"}); - } + return ( +
+ + Golden Retriever + Medium-large gun dog +
{expansionText}
+ + The Golden Retriever is a medium-large gun dog that retrieves shot waterfowl, such as ducks + and upland game birds, during hunting and shooting parties.[3] The name retriever refers to the breeds ability + to retrieve shot game undamaged due to their soft mouth. Golden retrievers have an instinctive love of water, and + are easy to train to basic or advanced obedience standards. + + Read more + +
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/expansion-panel/component-customization/tsconfig.json b/samples/layouts/expansion-panel/component-customization/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/expansion-panel/component-customization/tsconfig.json +++ b/samples/layouts/expansion-panel/component-customization/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/expansion-panel/properties-and-events/.devcontainer/devcontainer.json b/samples/layouts/expansion-panel/properties-and-events/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/expansion-panel/properties-and-events/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/expansion-panel/properties-and-events/.eslintrc.js b/samples/layouts/expansion-panel/properties-and-events/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/expansion-panel/properties-and-events/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/expansion-panel/properties-and-events/README.md b/samples/layouts/expansion-panel/properties-and-events/README.md index d817f734bb..a9cdb83a52 100644 --- a/samples/layouts/expansion-panel/properties-and-events/README.md +++ b/samples/layouts/expansion-panel/properties-and-events/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Properties And Events feature using [Expansion Panel](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Propert Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/expansion-panel/properties-and-events ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/expansion-panel/properties-and-events/package.json b/samples/layouts/expansion-panel/properties-and-events/package.json index 481b184404..a1083f621a 100644 --- a/samples/layouts/expansion-panel/properties-and-events/package.json +++ b/samples/layouts/expansion-panel/properties-and-events/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/expansion-panel/properties-and-events/sandbox.config.json b/samples/layouts/expansion-panel/properties-and-events/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/expansion-panel/properties-and-events/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/expansion-panel/properties-and-events/src/index.tsx b/samples/layouts/expansion-panel/properties-and-events/src/index.tsx index 60193a4051..2e0d16cc58 100644 --- a/samples/layouts/expansion-panel/properties-and-events/src/index.tsx +++ b/samples/layouts/expansion-panel/properties-and-events/src/index.tsx @@ -1,59 +1,56 @@ -import React from 'react'; +import { useState } from 'react'; import ReactDOM from 'react-dom/client'; import './ExpansionPanelPropsAndEvents.css'; import { IgrExpansionPanel } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class ExpansionPanelPropertiesAndEvents extends React.Component { +export default function ExpansionPanelPropertiesAndEvents() { + const [subtitleClass, setSubtitleClass] = useState(""); + const [eventSpanClass, setEventSpanClass] = useState("eventSpanHidden"); + const [eventSpanText, setEventSpanText] = useState("none"); - constructor(props: any) { - super(props); - this.state = { subtitleClass: "", eventSpanClass: "eventSpanHidden", eventSpanText: "none" }; + function onExpansionPanelClosed() { - this.onExpansionPanelClosed = this.onExpansionPanelClosed.bind(this); - this.onExpansionPanelOpened = this.onExpansionPanelOpened.bind(this); - } - - public render(): JSX.Element { - return ( -
- - Golden Retriever - Medium-large gun dog -
{this.state.expansionText}
- The Golden Retriever is a medium-large gun dog that retrieves shot waterfowl, such as ducks - and upland game birds, during hunting and shooting parties.[3] The name retriever refers to the breeds ability - to retrieve shot game undamaged due to their soft mouth. Golden retrievers have an instinctive love of water, and - are easy to train to basic or advanced obedience standards. -
- - {this.state.eventSpanText} -
- ); - } - - public onExpansionPanelClosed() { - - this.setState({ subtitleClass: "", eventSpanClass: "eventSpanShown", eventSpanText: "Closed event fired!"}); + setSubtitleClass(""); + setEventSpanClass("eventSpanShown"); + setEventSpanText("Closed event fired!"); window.clearTimeout(undefined); window.setTimeout(() => { - this.setState({eventSpanClass: "eventSpanHidden"}); + setEventSpanClass("eventSpanHidden"); }, 2000); } - public onExpansionPanelOpened() { - this.setState({ subtitleClass: "subtitleHidden", eventSpanClass: "eventSpanShown", eventSpanText: "Opened event fired!"}); + function onExpansionPanelOpened() { + setSubtitleClass("subtitleHidden"); + setEventSpanClass("eventSpanShown"); + setEventSpanText("Opened event fired!"); window.clearTimeout(undefined); window.setTimeout(() => { - this.setState({eventSpanClass: "eventSpanHidden"}); + setEventSpanClass("eventSpanHidden"); }, 2000); } + + return ( +
+ + Golden Retriever + Medium-large gun dog +
+ The Golden Retriever is a medium-large gun dog that retrieves shot waterfowl, such as ducks + and upland game birds, during hunting and shooting parties.[3] The name retriever refers to the breeds ability + to retrieve shot game undamaged due to their soft mouth. Golden retrievers have an instinctive love of water, and + are easy to train to basic or advanced obedience standards. +
+ + {eventSpanText} +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/expansion-panel/properties-and-events/tsconfig.json b/samples/layouts/expansion-panel/properties-and-events/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/expansion-panel/properties-and-events/tsconfig.json +++ b/samples/layouts/expansion-panel/properties-and-events/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/expansion-panel/styling/.devcontainer/devcontainer.json b/samples/layouts/expansion-panel/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/expansion-panel/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/expansion-panel/styling/.eslintrc.js b/samples/layouts/expansion-panel/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/expansion-panel/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/expansion-panel/styling/README.md b/samples/layouts/expansion-panel/styling/README.md index 87a6fdea2b..7c488f08c4 100644 --- a/samples/layouts/expansion-panel/styling/README.md +++ b/samples/layouts/expansion-panel/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Expansion Panel](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/expansion-panel/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/expansion-panel/styling/package.json b/samples/layouts/expansion-panel/styling/package.json index 17665bc4e9..891fc8c842 100644 --- a/samples/layouts/expansion-panel/styling/package.json +++ b/samples/layouts/expansion-panel/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/expansion-panel/styling/sandbox.config.json b/samples/layouts/expansion-panel/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/expansion-panel/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/expansion-panel/styling/src/index.tsx b/samples/layouts/expansion-panel/styling/src/index.tsx index c9b5b1af06..ffbc921042 100644 --- a/samples/layouts/expansion-panel/styling/src/index.tsx +++ b/samples/layouts/expansion-panel/styling/src/index.tsx @@ -1,35 +1,27 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './ExpansionPanelStyling.css'; import { IgrExpansionPanel, IgrButton } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class ExpansionPanelStyling extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- - Golden Retriever - Medium-large gun dog - - The Golden Retriever is a medium-large gun dog that retrieves shot waterfowl, such as ducks - and upland game birds, during hunting and shooting parties.[3] The name retriever refers to the breeds ability - to retrieve shot game undamaged due to their soft mouth. Golden retrievers have an instinctive love of water, and - are easy to train to basic or advanced obedience standards. - - Read more - - -
- ); - } +export default function ExpansionPanelStyling() { + return ( +
+ + Golden Retriever + Medium-large gun dog + + The Golden Retriever is a medium-large gun dog that retrieves shot waterfowl, such as ducks + and upland game birds, during hunting and shooting parties.[3] The name retriever refers to the breeds ability + to retrieve shot game undamaged due to their soft mouth. Golden retrievers have an instinctive love of water, and + are easy to train to basic or advanced obedience standards. + + Read more + + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/expansion-panel/styling/tsconfig.json b/samples/layouts/expansion-panel/styling/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/expansion-panel/styling/tsconfig.json +++ b/samples/layouts/expansion-panel/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/expansion-panel/usage/.devcontainer/devcontainer.json b/samples/layouts/expansion-panel/usage/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/expansion-panel/usage/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/expansion-panel/usage/.eslintrc.js b/samples/layouts/expansion-panel/usage/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/expansion-panel/usage/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/expansion-panel/usage/README.md b/samples/layouts/expansion-panel/usage/README.md index affa50aebd..46b77057a6 100644 --- a/samples/layouts/expansion-panel/usage/README.md +++ b/samples/layouts/expansion-panel/usage/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Usage feature using [Expansion Panel](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Usage f Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/expansion-panel/usage ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/expansion-panel/usage/package.json b/samples/layouts/expansion-panel/usage/package.json index 01f8c937b3..4e10330240 100644 --- a/samples/layouts/expansion-panel/usage/package.json +++ b/samples/layouts/expansion-panel/usage/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/expansion-panel/usage/sandbox.config.json b/samples/layouts/expansion-panel/usage/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/expansion-panel/usage/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/expansion-panel/usage/src/index.tsx b/samples/layouts/expansion-panel/usage/src/index.tsx index 7bb7280609..21d34e9668 100644 --- a/samples/layouts/expansion-panel/usage/src/index.tsx +++ b/samples/layouts/expansion-panel/usage/src/index.tsx @@ -1,31 +1,23 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './ExpansionPanelUsage.css'; import { IgrExpansionPanel } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class ExpansionPanelUsage extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- - Golden Retriever - Medium-large gun dog - The Golden Retriever is a medium-large gun dog that retrieves shot waterfowl, such as ducks - and upland game birds, during hunting and shooting parties.[3] The name retriever refers to the breeds ability - to retrieve shot game undamaged due to their soft mouth. Golden retrievers have an instinctive love of water, and - are easy to train to basic or advanced obedience standards. - -
- ); - } +export default function ExpansionPanelUsage() { + return ( +
+ + Golden Retriever + Medium-large gun dog + The Golden Retriever is a medium-large gun dog that retrieves shot waterfowl, such as ducks + and upland game birds, during hunting and shooting parties.[3] The name retriever refers to the breeds ability + to retrieve shot game undamaged due to their soft mouth. Golden retrievers have an instinctive love of water, and + are easy to train to basic or advanced obedience standards. + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/expansion-panel/usage/tsconfig.json b/samples/layouts/expansion-panel/usage/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/expansion-panel/usage/tsconfig.json +++ b/samples/layouts/expansion-panel/usage/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/icon/sizing/.devcontainer/devcontainer.json b/samples/layouts/icon/sizing/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/icon/sizing/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/icon/sizing/.eslintrc.js b/samples/layouts/icon/sizing/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/icon/sizing/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/icon/sizing/README.md b/samples/layouts/icon/sizing/README.md index 7e6e54e9a1..a200ffbacc 100644 --- a/samples/layouts/icon/sizing/README.md +++ b/samples/layouts/icon/sizing/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Sizing feature using [Icon](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Sizing Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/icon/sizing ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/icon/sizing/package.json b/samples/layouts/icon/sizing/package.json index f08bf4a29f..a0eeba9b0e 100644 --- a/samples/layouts/icon/sizing/package.json +++ b/samples/layouts/icon/sizing/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/icon/sizing/sandbox.config.json b/samples/layouts/icon/sizing/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/icon/sizing/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/icon/sizing/src/index.tsx b/samples/layouts/icon/sizing/src/index.tsx index 3c1952ac27..1387849302 100644 --- a/samples/layouts/icon/sizing/src/index.tsx +++ b/samples/layouts/icon/sizing/src/index.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import './IconSizing.css'; @@ -8,26 +7,20 @@ import 'igniteui-webcomponents/themes/light/bootstrap.css'; const buildIcon = ''; -export default class IconSizing extends React.Component { +registerIconFromText("build", buildIcon, "material"); - constructor(props: any) { - super(props); - registerIconFromText("build", buildIcon, "material"); - } - - public render(): JSX.Element { - return ( -
-
- - - -
+export default function IconSizing() { + return ( +
+
+ + +
- ); - } +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/icon/sizing/tsconfig.json b/samples/layouts/icon/sizing/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/icon/sizing/tsconfig.json +++ b/samples/layouts/icon/sizing/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/icon/styling/.devcontainer/devcontainer.json b/samples/layouts/icon/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/icon/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/icon/styling/.eslintrc.js b/samples/layouts/icon/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/icon/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/icon/styling/README.md b/samples/layouts/icon/styling/README.md index 4a2c83cf95..3d9458f1da 100644 --- a/samples/layouts/icon/styling/README.md +++ b/samples/layouts/icon/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Icon](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/icon/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/icon/styling/package.json b/samples/layouts/icon/styling/package.json index 70ab83d937..a61512662f 100644 --- a/samples/layouts/icon/styling/package.json +++ b/samples/layouts/icon/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/icon/styling/sandbox.config.json b/samples/layouts/icon/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/icon/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/icon/styling/src/index.tsx b/samples/layouts/icon/styling/src/index.tsx index 0136db33a3..ff75a3a1ce 100644 --- a/samples/layouts/icon/styling/src/index.tsx +++ b/samples/layouts/icon/styling/src/index.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import './IconStyling.css'; @@ -8,24 +7,18 @@ import 'igniteui-webcomponents/themes/light/bootstrap.css'; const searchIcon = ''; -export default class IconStyling extends React.Component { +registerIconFromText("search", searchIcon, "material"); - constructor(props: any) { - super(props); - registerIconFromText("search", searchIcon, "material"); - } - - public render(): JSX.Element { - return ( -
-
- -
+export default function IconStyling() { + return ( +
+
+
- ); - } +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/icon/styling/tsconfig.json b/samples/layouts/icon/styling/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/icon/styling/tsconfig.json +++ b/samples/layouts/icon/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, + "module": "esnext", + "moduleResolution": "bundler", "jsx": "react-jsx", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/splitter/base/.devcontainer/devcontainer.json b/samples/layouts/splitter/base/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/splitter/base/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/splitter/base/.eslintrc.js b/samples/layouts/splitter/base/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/splitter/base/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/splitter/base/README.md b/samples/layouts/splitter/base/README.md index 599fb36278..f6a0441a10 100644 --- a/samples/layouts/splitter/base/README.md +++ b/samples/layouts/splitter/base/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Base feature using [Splitter](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Base fe Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/splitter/base ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/splitter/base/package.json b/samples/layouts/splitter/base/package.json index 497ced19da..ec7027ddf7 100644 --- a/samples/layouts/splitter/base/package.json +++ b/samples/layouts/splitter/base/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/splitter/base/sandbox.config.json b/samples/layouts/splitter/base/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/splitter/base/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/splitter/base/src/index.tsx b/samples/layouts/splitter/base/src/index.tsx index 3d7cb085d5..1b8c52aba4 100644 --- a/samples/layouts/splitter/base/src/index.tsx +++ b/samples/layouts/splitter/base/src/index.tsx @@ -1,78 +1,63 @@ -import React from 'react'; +import { useState } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrSplitter, IgrSwitch, - IgrSwitchChangeEventArgs, + IgrCheckboxChangeEventArgs, SplitterOrientation, } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export interface SplitterOverviewState { - orientation: SplitterOrientation; - disableCollapse: boolean; - disableResize: boolean; - hideDragHandle: boolean; - hideCollapseButtons: boolean; -} - -export default class SplitterOverview extends React.Component { - constructor(props: any) { - super(props); - this.state = { - orientation: 'horizontal', - disableCollapse: false, - disableResize: false, - hideDragHandle: false, - hideCollapseButtons: false, - }; - } +export default function SplitterOverview() { + const [orientation, setOrientation] = useState('horizontal'); + const [disableCollapse, setDisableCollapse] = useState(false); + const [disableResize, setDisableResize] = useState(false); + const [hideDragHandle, setHideDragHandle] = useState(false); + const [hideCollapseButtons, setHideCollapseButtons] = useState(false); - public render(): JSX.Element { - return ( -
-
- this.setState({ orientation: e.detail.checked ? 'vertical' : 'horizontal' })}> - Make Splitter Vertical - - this.setState({ disableCollapse: e.detail.checked })}> - Disable Collapse - - this.setState({ disableResize: e.detail.checked })}> - Disable Resize - - this.setState({ hideDragHandle: e.detail.checked })}> - Hide Drag Handle - - this.setState({ hideCollapseButtons: e.detail.checked })}> - Hide Collapse Buttons - -
- -
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris in lacus eget turpis congue fermentum. Aliquam sollicitudin massa vel ullamcorper bibendum. Donec sit amet augue in justo fermentum facilisis vel quis quam. Vivamus eget iaculis nisi, vitae dignissim leo. Donec eget consectetur lacus. In viverra vehicula libero, quis dictum odio varius in. Phasellus aliquam elit et lectus ornare placerat. Aliquam vitae sapien facilisis, auctor enim quis, consectetur dui. Cras elementum velit eros, ut efficitur ante pellentesque in. Proin vulputate lacus dui, vitae imperdiet dui pharetra ac. Nunc sagittis, sapien et posuere varius, mauris justo tincidunt odio, in interdum lorem libero sed enim. Nulla placerat scelerisque felis vitae accumsan. -

-
-
-

- Duis auctor, diam id vehicula consequat, lacus tellus molestie magna, sed varius nisi quam eget nisl. Donec dignissim mi et elementum laoreet. Nam dignissim quis justo eu fermentum. Proin vestibulum, neque quis elementum tincidunt, nibh mi gravida purus, eget volutpat ipsum magna in orci. Donec id mauris vitae lectus molestie blandit. Praesent non quam interdum, efficitur lacus nec, gravida mauris. Ut ac ante maximus, ultrices turpis a, aliquam magna. Praesent blandit ante ut nulla malesuada lobortis. Praesent a lobortis justo. Morbi congue, dui sed ornare faucibus, turpis felis vulputate arcu, lobortis posuere sem leo eget risus. Duis risus augue, dignissim ac tincidunt a, ullamcorper rutrum nisl. Ut ut ipsum vel purus viverra dapibus. -

-
-
+ return ( +
+
+ setOrientation(e.detail.checked ? 'vertical' : 'horizontal')}> + Make Splitter Vertical + + setDisableCollapse(e.detail.checked)}> + Disable Collapse + + setDisableResize(e.detail.checked)}> + Disable Resize + + setHideDragHandle(e.detail.checked)}> + Hide Drag Handle + + setHideCollapseButtons(e.detail.checked)}> + Hide Collapse Buttons +
- ); - } + +
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris in lacus eget turpis congue fermentum. Aliquam sollicitudin massa vel ullamcorper bibendum. Donec sit amet augue in justo fermentum facilisis vel quis quam. Vivamus eget iaculis nisi, vitae dignissim leo. Donec eget consectetur lacus. In viverra vehicula libero, quis dictum odio varius in. Phasellus aliquam elit et lectus ornare placerat. Aliquam vitae sapien facilisis, auctor enim quis, consectetur dui. Cras elementum velit eros, ut efficitur ante pellentesque in. Proin vulputate lacus dui, vitae imperdiet dui pharetra ac. Nunc sagittis, sapien et posuere varius, mauris justo tincidunt odio, in interdum lorem libero sed enim. Nulla placerat scelerisque felis vitae accumsan. +

+
+
+

+ Duis auctor, diam id vehicula consequat, lacus tellus molestie magna, sed varius nisi quam eget nisl. Donec dignissim mi et elementum laoreet. Nam dignissim quis justo eu fermentum. Proin vestibulum, neque quis elementum tincidunt, nibh mi gravida purus, eget volutpat ipsum magna in orci. Donec id mauris vitae lectus molestie blandit. Praesent non quam interdum, efficitur lacus nec, gravida mauris. Ut ac ante maximus, ultrices turpis a, aliquam magna. Praesent blandit ante ut nulla malesuada lobortis. Praesent a lobortis justo. Morbi congue, dui sed ornare faucibus, turpis felis vulputate arcu, lobortis posuere sem leo eget risus. Duis risus augue, dignissim ac tincidunt a, ullamcorper rutrum nisl. Ut ut ipsum vel purus viverra dapibus. +

+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/splitter/base/tsconfig.json b/samples/layouts/splitter/base/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/splitter/base/tsconfig.json +++ b/samples/layouts/splitter/base/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/splitter/nested/.devcontainer/devcontainer.json b/samples/layouts/splitter/nested/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/splitter/nested/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/splitter/nested/.eslintrc.js b/samples/layouts/splitter/nested/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/splitter/nested/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/splitter/nested/README.md b/samples/layouts/splitter/nested/README.md index cced1f3184..00a1f43e16 100644 --- a/samples/layouts/splitter/nested/README.md +++ b/samples/layouts/splitter/nested/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Nested feature using [Splitter](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Nested Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/splitter/nested ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/splitter/nested/package.json b/samples/layouts/splitter/nested/package.json index bd9a164206..3baae94734 100644 --- a/samples/layouts/splitter/nested/package.json +++ b/samples/layouts/splitter/nested/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/splitter/nested/sandbox.config.json b/samples/layouts/splitter/nested/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/splitter/nested/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/splitter/nested/src/index.tsx b/samples/layouts/splitter/nested/src/index.tsx index 3f5f8b9a9a..13f6d0e522 100644 --- a/samples/layouts/splitter/nested/src/index.tsx +++ b/samples/layouts/splitter/nested/src/index.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { @@ -6,45 +5,39 @@ import { } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class SplitterOverview extends React.Component { - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- - -
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris in lacus eget turpis congue fermentum. Aliquam sollicitudin massa vel ullamcorper bibendum. Donec sit amet augue in justo fermentum facilisis vel quis quam. Vivamus eget iaculis nisi, vitae dignissim leo. Donec eget consectetur lacus. In viverra vehicula libero, quis dictum odio varius in. Phasellus aliquam elit et lectus ornare placerat. Aliquam vitae sapien facilisis, auctor enim quis, consectetur dui. Cras elementum velit eros, ut efficitur ante pellentesque in. Proin vulputate lacus dui, vitae imperdiet dui pharetra ac. Nunc sagittis, sapien et posuere varius, mauris justo tincidunt odio, in interdum lorem libero sed enim. Nulla placerat scelerisque felis vitae accumsan. -

-
-
-

- Suspendisse potenti. Mauris vehicula neque ullamcorper tortor pulvinar gravida. Integer porttitor orci ex, ac vehicula nisi ultricies vel. Phasellus feugiat, urna eget congue sollicitudin, augue mi vulputate velit, in porttitor lacus orci sit amet eros. Donec mollis tempor mi. Ut sed justo consectetur, laoreet orci id, vestibulum velit. Aliquam ultricies arcu nec placerat eleifend. Integer ornare auctor mauris, vitae placerat est hendrerit ut. -

-
-
- -
-

- Duis auctor, diam id vehicula consequat, lacus tellus molestie magna, sed varius nisi quam eget nisl. Donec dignissim mi et elementum laoreet. Nam dignissim quis justo eu fermentum. Proin vestibulum, neque quis elementum tincidunt, nibh mi gravida purus, eget volutpat ipsum magna in orci. Donec id mauris vitae lectus molestie blandit. Praesent non quam interdum, efficitur lacus nec, gravida mauris. Ut ac ante maximus, ultrices turpis a, aliquam magna. Praesent blandit ante ut nulla malesuada lobortis. Praesent a lobortis justo. Morbi congue, dui sed ornare faucibus, turpis felis vulputate arcu, lobortis posuere sem leo eget risus. Duis risus augue, dignissim ac tincidunt a, ullamcorper rutrum nisl. Ut ut ipsum vel purus viverra dapibus. -

-
-
-

- Suspendisse potenti. Proin faucibus venenatis purus in pellentesque. Nunc eget justo pretium massa pellentesque sodales. Phasellus orci ligula, condimentum et faucibus id, faucibus sit amet mauris. Praesent consequat cursus mauris, eget tempus lorem. Quisque vel leo nec massa aliquam pellentesque sit amet vel erat. Phasellus at mauris laoreet, egestas magna eget, dignissim nisl. Etiam non nibh nec orci elementum facilisis a vel tortor. Praesent sagittis mattis risus non tincidunt. -

-
-
+export default function SplitterOverview() { + return ( +
+ + +
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris in lacus eget turpis congue fermentum. Aliquam sollicitudin massa vel ullamcorper bibendum. Donec sit amet augue in justo fermentum facilisis vel quis quam. Vivamus eget iaculis nisi, vitae dignissim leo. Donec eget consectetur lacus. In viverra vehicula libero, quis dictum odio varius in. Phasellus aliquam elit et lectus ornare placerat. Aliquam vitae sapien facilisis, auctor enim quis, consectetur dui. Cras elementum velit eros, ut efficitur ante pellentesque in. Proin vulputate lacus dui, vitae imperdiet dui pharetra ac. Nunc sagittis, sapien et posuere varius, mauris justo tincidunt odio, in interdum lorem libero sed enim. Nulla placerat scelerisque felis vitae accumsan. +

+
+
+

+ Suspendisse potenti. Mauris vehicula neque ullamcorper tortor pulvinar gravida. Integer porttitor orci ex, ac vehicula nisi ultricies vel. Phasellus feugiat, urna eget congue sollicitudin, augue mi vulputate velit, in porttitor lacus orci sit amet eros. Donec mollis tempor mi. Ut sed justo consectetur, laoreet orci id, vestibulum velit. Aliquam ultricies arcu nec placerat eleifend. Integer ornare auctor mauris, vitae placerat est hendrerit ut. +

+
+
+ +
+

+ Duis auctor, diam id vehicula consequat, lacus tellus molestie magna, sed varius nisi quam eget nisl. Donec dignissim mi et elementum laoreet. Nam dignissim quis justo eu fermentum. Proin vestibulum, neque quis elementum tincidunt, nibh mi gravida purus, eget volutpat ipsum magna in orci. Donec id mauris vitae lectus molestie blandit. Praesent non quam interdum, efficitur lacus nec, gravida mauris. Ut ac ante maximus, ultrices turpis a, aliquam magna. Praesent blandit ante ut nulla malesuada lobortis. Praesent a lobortis justo. Morbi congue, dui sed ornare faucibus, turpis felis vulputate arcu, lobortis posuere sem leo eget risus. Duis risus augue, dignissim ac tincidunt a, ullamcorper rutrum nisl. Ut ut ipsum vel purus viverra dapibus. +

+
+
+

+ Suspendisse potenti. Proin faucibus venenatis purus in pellentesque. Nunc eget justo pretium massa pellentesque sodales. Phasellus orci ligula, condimentum et faucibus id, faucibus sit amet mauris. Praesent consequat cursus mauris, eget tempus lorem. Quisque vel leo nec massa aliquam pellentesque sit amet vel erat. Phasellus at mauris laoreet, egestas magna eget, dignissim nisl. Etiam non nibh nec orci elementum facilisis a vel tortor. Praesent sagittis mattis risus non tincidunt. +

+
-
- ); - } +
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/splitter/nested/tsconfig.json b/samples/layouts/splitter/nested/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/splitter/nested/tsconfig.json +++ b/samples/layouts/splitter/nested/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/splitter/styling/.devcontainer/devcontainer.json b/samples/layouts/splitter/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/splitter/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/splitter/styling/.eslintrc.js b/samples/layouts/splitter/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/splitter/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/splitter/styling/README.md b/samples/layouts/splitter/styling/README.md index c6f7a6be32..344e87139c 100644 --- a/samples/layouts/splitter/styling/README.md +++ b/samples/layouts/splitter/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Splitter](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/splitter/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/splitter/styling/package.json b/samples/layouts/splitter/styling/package.json index d1e6204666..588317780a 100644 --- a/samples/layouts/splitter/styling/package.json +++ b/samples/layouts/splitter/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/splitter/styling/sandbox.config.json b/samples/layouts/splitter/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/splitter/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/splitter/styling/src/index.tsx b/samples/layouts/splitter/styling/src/index.tsx index b2bfc5a6d9..5c6ee84859 100644 --- a/samples/layouts/splitter/styling/src/index.tsx +++ b/samples/layouts/splitter/styling/src/index.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { @@ -6,31 +5,25 @@ import { } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class SplitterOverview extends React.Component { - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- -
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris in lacus eget turpis congue fermentum. Aliquam sollicitudin massa vel ullamcorper bibendum. Donec sit amet augue in justo fermentum facilisis vel quis quam. Vivamus eget iaculis nisi, vitae dignissim leo. Donec eget consectetur lacus. In viverra vehicula libero, quis dictum odio varius in. Phasellus aliquam elit et lectus ornare placerat. Aliquam vitae sapien facilisis, auctor enim quis, consectetur dui. Cras elementum velit eros, ut efficitur ante pellentesque in. Proin vulputate lacus dui, vitae imperdiet dui pharetra ac. Nunc sagittis, sapien et posuere varius, mauris justo tincidunt odio, in interdum lorem libero sed enim. Nulla placerat scelerisque felis vitae accumsan. Curabitur id tortor laoreet, luctus justo sit amet, viverra mi. Nunc laoreet auctor metus eget suscipit. Vestibulum vestibulum imperdiet pharetra. Sed ac dignissim dui. In vitae suscipit nunc. Praesent vel felis nulla. Nullam non justo elit. Ut quis eleifend libero. Morbi ut maximus dui, non tristique risus. -

-
-
-

- Duis auctor, diam id vehicula consequat, lacus tellus molestie magna, sed varius nisi quam eget nisl. Donec dignissim mi et elementum laoreet. Nam dignissim quis justo eu fermentum. Proin vestibulum, neque quis elementum tincidunt, nibh mi gravida purus, eget volutpat ipsum magna in orci. Donec id mauris vitae lectus molestie blandit. Praesent non quam interdum, efficitur lacus nec, gravida mauris. Ut ac ante maximus, ultrices turpis a, aliquam magna. Praesent blandit ante ut nulla malesuada lobortis. Praesent a lobortis justo. Morbi congue, dui sed ornare faucibus, turpis felis vulputate arcu, lobortis posuere sem leo eget risus. Duis risus augue, dignissim ac tincidunt a, ullamcorper rutrum nisl. Ut ut ipsum vel purus viverra dapibus. Maecenas efficitur nibh elementum, pellentesque sapien sit amet, fermentum sem. Pellentesque nisl mi, porta eget viverra a, tincidunt ac ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. -

-
-
-
- ); - } +export default function SplitterOverview() { + return ( +
+ +
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris in lacus eget turpis congue fermentum. Aliquam sollicitudin massa vel ullamcorper bibendum. Donec sit amet augue in justo fermentum facilisis vel quis quam. Vivamus eget iaculis nisi, vitae dignissim leo. Donec eget consectetur lacus. In viverra vehicula libero, quis dictum odio varius in. Phasellus aliquam elit et lectus ornare placerat. Aliquam vitae sapien facilisis, auctor enim quis, consectetur dui. Cras elementum velit eros, ut efficitur ante pellentesque in. Proin vulputate lacus dui, vitae imperdiet dui pharetra ac. Nunc sagittis, sapien et posuere varius, mauris justo tincidunt odio, in interdum lorem libero sed enim. Nulla placerat scelerisque felis vitae accumsan. Curabitur id tortor laoreet, luctus justo sit amet, viverra mi. Nunc laoreet auctor metus eget suscipit. Vestibulum vestibulum imperdiet pharetra. Sed ac dignissim dui. In vitae suscipit nunc. Praesent vel felis nulla. Nullam non justo elit. Ut quis eleifend libero. Morbi ut maximus dui, non tristique risus. +

+
+
+

+ Duis auctor, diam id vehicula consequat, lacus tellus molestie magna, sed varius nisi quam eget nisl. Donec dignissim mi et elementum laoreet. Nam dignissim quis justo eu fermentum. Proin vestibulum, neque quis elementum tincidunt, nibh mi gravida purus, eget volutpat ipsum magna in orci. Donec id mauris vitae lectus molestie blandit. Praesent non quam interdum, efficitur lacus nec, gravida mauris. Ut ac ante maximus, ultrices turpis a, aliquam magna. Praesent blandit ante ut nulla malesuada lobortis. Praesent a lobortis justo. Morbi congue, dui sed ornare faucibus, turpis felis vulputate arcu, lobortis posuere sem leo eget risus. Duis risus augue, dignissim ac tincidunt a, ullamcorper rutrum nisl. Ut ut ipsum vel purus viverra dapibus. Maecenas efficitur nibh elementum, pellentesque sapien sit amet, fermentum sem. Pellentesque nisl mi, porta eget viverra a, tincidunt ac ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. +

+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/splitter/styling/tsconfig.json b/samples/layouts/splitter/styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/splitter/styling/tsconfig.json +++ b/samples/layouts/splitter/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/stepper/animations/.devcontainer/devcontainer.json b/samples/layouts/stepper/animations/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/stepper/animations/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/stepper/animations/.eslintrc.js b/samples/layouts/stepper/animations/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/stepper/animations/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/stepper/animations/README.md b/samples/layouts/stepper/animations/README.md index 53a440f3ce..8c46fb0e1c 100644 --- a/samples/layouts/stepper/animations/README.md +++ b/samples/layouts/stepper/animations/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Animations feature using [Stepper](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Animati Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/stepper/animations ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/stepper/animations/package.json b/samples/layouts/stepper/animations/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/stepper/animations/package.json +++ b/samples/layouts/stepper/animations/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/stepper/animations/sandbox.config.json b/samples/layouts/stepper/animations/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/stepper/animations/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/stepper/linear/.devcontainer/devcontainer.json b/samples/layouts/stepper/linear/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/stepper/linear/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/stepper/linear/.eslintrc.js b/samples/layouts/stepper/linear/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/stepper/linear/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/stepper/linear/README.md b/samples/layouts/stepper/linear/README.md index e6e5769673..d4cf633426 100644 --- a/samples/layouts/stepper/linear/README.md +++ b/samples/layouts/stepper/linear/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Linear feature using [Stepper](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Linear Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/stepper/linear ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/stepper/linear/package.json b/samples/layouts/stepper/linear/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/stepper/linear/package.json +++ b/samples/layouts/stepper/linear/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/stepper/linear/sandbox.config.json b/samples/layouts/stepper/linear/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/stepper/linear/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/stepper/linear/src/index.tsx b/samples/layouts/stepper/linear/src/index.tsx index 43fb7ba84a..0e5b6ff2bc 100644 --- a/samples/layouts/stepper/linear/src/index.tsx +++ b/samples/layouts/stepper/linear/src/index.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import { useEffect, useRef, useState } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { @@ -9,259 +9,248 @@ import { IgrButton, IgrSwitch, IgrCheckboxChangeEventArgs, - IgrComponentValueChangedEventArgs, IgrInput, } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -export default class LinearStepper extends React.Component { - private stepperRef = React.createRef(); - private InfoForm = React.createRef(); - private AddressForm = React.createRef(); - private activeStepIndex = 0; +// Checks empty inputs without leaving them visibly marked invalid +function checkFormValidity(form: HTMLFormElement) { + let isInvalidForm = false; + for (const element of form.children) { + const input = element as IgrInput; + if ( + element.tagName.toLowerCase() === "igc-input" && + input.value === "" + ) { + const oldInvalid = input.invalid; + const isElementInvalid = !input.checkValidity(); + input.invalid = oldInvalid; + if (isElementInvalid) { + isInvalidForm = true; + break; + } + } + } + return isInvalidForm; +} + +export default function LinearStepper() { + const stepperRef = useRef(null); + const infoFormRef = useRef(null); + const addressFormRef = useRef(null); + + const [linear, setLinear] = useState(false); + const [firstStepInvalid, setFirstStepInvalid] = useState(true); + const [secondStepInvalid, setSecondStepInvalid] = useState(true); - constructor(props: any) { - super(props); - this.state = { - linear: false, - firstStepInvalid: true, - secondStepInvalid: true, + // Re-subscribed on each toggle so the listener sees the current `linear` + useEffect(() => { + const forms = [infoFormRef.current!, addressFormRef.current!]; + forms.forEach((form) => form.addEventListener("igcInput", onInput)); + + return () => { + forms.forEach((form) => form.removeEventListener("igcInput", onInput)); }; - this.onSwitchChange = this.onSwitchChange.bind(this); + }, [linear]); + + function onSwitchChange(e: IgrCheckboxChangeEventArgs) { + setLinear(e.detail.checked); + if (e.detail.checked) { + checkActiveStepValidity(); + } + } + + function onInput() { + if (!linear) { + return; + } + + checkActiveStepValidity(); } - componentDidMount() { - this.InfoForm.current.addEventListener("igcInput", this.onInput.bind(this)); - this.AddressForm.current.addEventListener( - "igcInput", - this.onInput.bind(this) + function checkActiveStepValidity() { + const activeStepIndex = stepperRef.current!.steps.findIndex( + (step: IgrStep) => step.active ); + if (activeStepIndex === 0) { + const isInvalidForm = checkFormValidity(infoFormRef.current!); + setFirstStepInvalid(isInvalidForm); + } + if (activeStepIndex === 1) { + const isInvalidForm = checkFormValidity(addressFormRef.current!); + setSecondStepInvalid(isInvalidForm); + } } - public render(): JSX.Element { - return ( -
- - Linear - + return ( +
+ + Linear + - - - - Personal Info - -
- - + + + + Personal Info + + + + - { - this.stepperRef.current.next(); - }} - > - NEXT - - - - - - Delivery address - -
- - - { - this.stepperRef.current.prev(); - }} - > - PREVIOUS - - { - this.stepperRef.current.next(); - }} - > - NEXT - -
-
- - - Billing address - - - (optional) - -
- - - { - this.stepperRef.current.prev(); - }} - > - PREVIOUS - - { - this.stepperRef.current.next(); - }} - > - NEXT - -
-
- - - Payment - - - - PayPal (n@mail.com; 18/02/2021) - - - Visa (**** **** **** 1234; 12/23) - - - - MasterCard (**** **** **** 5678; 12/24) - - - { - this.stepperRef.current.prev(); + stepperRef.current!.next(); + }} + > + NEXT + + + + + + Delivery address + +
+ + + { + stepperRef.current!.prev(); }} > PREVIOUS { - this.stepperRef.current.next(); + stepperRef.current!.next(); }} > - SUBMIT + NEXT - - - - Delivery status - -

- Your order is on its way. Expect delivery on 25th September 2021. - Delivery address: San Jose, CA 94243. -

+ +
+ + + Billing address + + + (optional) + +
+ + { - this.stepperRef.current.prev(); + stepperRef.current!.prev(); }} > PREVIOUS { - this.stepperRef.current.reset(); + stepperRef.current!.next(); }} > - RESET + NEXT - - -
- ); - } - - public onSwitchChange(e: IgrCheckboxChangeEventArgs) { - this.setState({ linear: e.detail.checked }); - if (e.detail.checked) { - this.checkActiveStepValidity(); - } - } - - public onInput(s: IgrInput, e: IgrComponentValueChangedEventArgs) { - if (!this.state.linear) return; - - this.checkActiveStepValidity(); - } - - private checkActiveStepValidity() { - const activeStep = this.activeStep; - if (activeStep && this.activeStepIndex === 0) { - const isInvalidForm = this.checkFormValidity(this.InfoForm); - this.setState({ firstStepInvalid: isInvalidForm }); - } - if (activeStep && this.activeStepIndex === 1) { - const isInvalidForm = this.checkFormValidity(this.AddressForm); - this.setState({ secondStepInvalid: isInvalidForm }); - } - } - - private checkFormValidity(form: any) { - let isInvalidForm = false; - for (const element of form.current.children) { - if ( - element.tagName.toLowerCase() === "igc-input" && - element.value === "" - ) { - const oldInvalid = element.invalid; - const isElementInvalid = !element.checkValidity(); - element.invalid = oldInvalid; - if (isElementInvalid) { - isInvalidForm = true; - break; - } - } - } - return isInvalidForm; - } - - private get activeStep(): IgrStep | undefined { - return this.stepperRef.current.steps.find( - (step: IgrStep, index: number) => { - this.activeStepIndex = index; - return step.active; - } - ); - } + + + + + Payment + + + + PayPal (n@mail.com; 18/02/2021) + + + Visa (**** **** **** 1234; 12/23) + + + + MasterCard (**** **** **** 5678; 12/24) + + + + { + stepperRef.current!.prev(); + }} + > + PREVIOUS + + { + stepperRef.current!.next(); + }} + > + SUBMIT + + + + + Delivery status + +

+ Your order is on its way. Expect delivery on 25th September 2021. + Delivery address: San Jose, CA 94243. +

+ { + stepperRef.current!.prev(); + }} + > + PREVIOUS + + { + stepperRef.current!.reset(); + }} + > + RESET + +
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/stepper/linear/tsconfig.json b/samples/layouts/stepper/linear/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/stepper/linear/tsconfig.json +++ b/samples/layouts/stepper/linear/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/stepper/orientation/.devcontainer/devcontainer.json b/samples/layouts/stepper/orientation/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/stepper/orientation/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/stepper/orientation/.eslintrc.js b/samples/layouts/stepper/orientation/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/stepper/orientation/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/stepper/orientation/README.md b/samples/layouts/stepper/orientation/README.md index d164580276..1f454dbb07 100644 --- a/samples/layouts/stepper/orientation/README.md +++ b/samples/layouts/stepper/orientation/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Orientation feature using [Stepper](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Orienta Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/stepper/orientation ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/stepper/orientation/package.json b/samples/layouts/stepper/orientation/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/stepper/orientation/package.json +++ b/samples/layouts/stepper/orientation/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/stepper/orientation/sandbox.config.json b/samples/layouts/stepper/orientation/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/stepper/orientation/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/stepper/orientation/src/index.tsx b/samples/layouts/stepper/orientation/src/index.tsx index a335fbe064..d3607cc3ec 100644 --- a/samples/layouts/stepper/orientation/src/index.tsx +++ b/samples/layouts/stepper/orientation/src/index.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import { useRef, useState } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { @@ -13,78 +13,67 @@ import { } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export interface StepperOrientationProps { - orientation: StepperOrientation; - titlePosition: StepperTitlePosition; - } +export default function StepperOrientationSample() { + const stepperRef = useRef(null); + const [orientation, setOrientation] = useState("horizontal"); + const [titlePosition, setTitlePosition] = useState("auto"); -export default class StepperOrientationSample extends React.Component { - private stepperRef = React.createRef(); + function handleTitlePositionChange(e: IgrRadioChangeEventArgs) { + const newTitlePosition = e.detail.value as StepperTitlePosition; + setTitlePosition(newTitlePosition); + } - constructor(props: StepperOrientationProps) { - super(props); - this.state = { orientation: "horizontal", titlePosition: "auto" }; - this.handleTitlePositionChange = this.handleTitlePositionChange.bind(this); - this.handleOrientationChange = this.handleOrientationChange.bind(this); + function handleOrientationChange(e: IgrRadioChangeEventArgs) { + const newOrientation = e.detail.value as StepperOrientation; + setOrientation(newOrientation); + setTitlePosition("auto"); } - public render(): JSX.Element { - return ( -
-
-
- -
- - Top - Bottom - Start - End - Auto (default) - -
+ return ( +
+
+
+ +
+ + Top + Bottom + Start + End + Auto (default) +
-
- -
- - Horizontal - Vertical - -
+
+
+ +
+ + Horizontal + Vertical +
- - - Order - { this.stepperRef.current.next(); }}>NEXT - - - Payment - { this.stepperRef.current.prev(); }}>PREVIOUS - { this.stepperRef.current.next(); }}>NEXT - - - Confirmation - { this.stepperRef.current.prev(); }}>PREVIOUS - { this.stepperRef.current.reset(); }}>RESET - -
- ); - } - - public handleTitlePositionChange(e: IgrRadioChangeEventArgs) { - const newTitlePosition = e.detail.value as StepperTitlePosition; - this.setState({ titlePosition: newTitlePosition }); - } - - public handleOrientationChange(e: IgrRadioChangeEventArgs) { - const newOrientation = e.detail.value as StepperOrientation; - this.setState({ orientation: newOrientation, titlePosition: "auto" }); - } + + + Order + { stepperRef.current!.next(); }}>NEXT + + + Payment + { stepperRef.current!.prev(); }}>PREVIOUS + { stepperRef.current!.next(); }}>NEXT + + + Confirmation + { stepperRef.current!.prev(); }}>PREVIOUS + { stepperRef.current!.reset(); }}>RESET + + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/layouts/stepper/orientation/tsconfig.json b/samples/layouts/stepper/orientation/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/stepper/orientation/tsconfig.json +++ b/samples/layouts/stepper/orientation/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/stepper/step-height/.devcontainer/devcontainer.json b/samples/layouts/stepper/step-height/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/stepper/step-height/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/stepper/step-height/.eslintrc.js b/samples/layouts/stepper/step-height/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/stepper/step-height/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/stepper/step-height/README.md b/samples/layouts/stepper/step-height/README.md index e802da8301..71795e06ab 100644 --- a/samples/layouts/stepper/step-height/README.md +++ b/samples/layouts/stepper/step-height/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Step Height feature using [Stepper](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Step He Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/stepper/step-height ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/stepper/step-height/package.json b/samples/layouts/stepper/step-height/package.json index c4b3aab72c..14142e2062 100644 --- a/samples/layouts/stepper/step-height/package.json +++ b/samples/layouts/stepper/step-height/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/stepper/step-height/sandbox.config.json b/samples/layouts/stepper/step-height/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/stepper/step-height/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/stepper/steptypes/.devcontainer/devcontainer.json b/samples/layouts/stepper/steptypes/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/stepper/steptypes/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/stepper/steptypes/.eslintrc.js b/samples/layouts/stepper/steptypes/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/stepper/steptypes/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/stepper/steptypes/README.md b/samples/layouts/stepper/steptypes/README.md index 87dd303ee9..d70491dc27 100644 --- a/samples/layouts/stepper/steptypes/README.md +++ b/samples/layouts/stepper/steptypes/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Steptypes feature using [Stepper](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Steptyp Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/stepper/steptypes ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/stepper/steptypes/package.json b/samples/layouts/stepper/steptypes/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/stepper/steptypes/package.json +++ b/samples/layouts/stepper/steptypes/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/stepper/steptypes/sandbox.config.json b/samples/layouts/stepper/steptypes/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/stepper/steptypes/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/stepper/styling/.devcontainer/devcontainer.json b/samples/layouts/stepper/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/stepper/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/stepper/styling/.eslintrc.js b/samples/layouts/stepper/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/stepper/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/stepper/styling/README.md b/samples/layouts/stepper/styling/README.md index be622145ec..c2e91bdc12 100644 --- a/samples/layouts/stepper/styling/README.md +++ b/samples/layouts/stepper/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Stepper](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/stepper/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/stepper/styling/package.json b/samples/layouts/stepper/styling/package.json index 9a3ae50f72..51d7191f17 100644 --- a/samples/layouts/stepper/styling/package.json +++ b/samples/layouts/stepper/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/stepper/styling/sandbox.config.json b/samples/layouts/stepper/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/stepper/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tabs/alignment/.devcontainer/devcontainer.json b/samples/layouts/tabs/alignment/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tabs/alignment/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tabs/alignment/.eslintrc.js b/samples/layouts/tabs/alignment/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tabs/alignment/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tabs/alignment/README.md b/samples/layouts/tabs/alignment/README.md index 3f6106ab7d..9ed23432ae 100644 --- a/samples/layouts/tabs/alignment/README.md +++ b/samples/layouts/tabs/alignment/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Alignment feature using [Tabs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Alignme Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tabs/alignment ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tabs/alignment/package.json b/samples/layouts/tabs/alignment/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tabs/alignment/package.json +++ b/samples/layouts/tabs/alignment/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tabs/alignment/sandbox.config.json b/samples/layouts/tabs/alignment/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tabs/alignment/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tabs/alignment/src/index.tsx b/samples/layouts/tabs/alignment/src/index.tsx index 3642364397..21bc953af6 100644 --- a/samples/layouts/tabs/alignment/src/index.tsx +++ b/samples/layouts/tabs/alignment/src/index.tsx @@ -1,49 +1,42 @@ -import React from "react"; +import { useState } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; -import { IgrTabs, IgrTab, TabsAlignment, IgrRadio, IgrRadioGroup } from "igniteui-react"; +import { IgrTabs, IgrTab, TabsAlignment, IgrRadio, IgrRadioGroup, IgrRadioChangeEventArgs } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -export default class Alignment extends React.Component { +export default function Alignment() { + const [alignment, setAlignment] = useState("start"); - constructor(props) { - super(props); - this.state = { alignment: "start" }; + function onRadioChange(e: IgrRadioChangeEventArgs) { + setAlignment(e.detail.value as TabsAlignment); } - public render(): JSX.Element { - return ( -
- - Start - Center - End - Justify - - - - Basics tab panel - - - Details tab panel - - - Custom tab panel - - - Disabled tab panel will not be displayed - - -
- ); - } - - public onRadioChange = (e: any) => { - this.setState({ alignment: e.detail.value }); - } + return ( +
+ + Start + Center + End + Justify + + + + Basics tab panel + + + Details tab panel + + + Custom tab panel + + + Disabled tab panel will not be displayed + + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); - diff --git a/samples/layouts/tabs/alignment/tsconfig.json b/samples/layouts/tabs/alignment/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tabs/alignment/tsconfig.json +++ b/samples/layouts/tabs/alignment/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/tabs/overview/.devcontainer/devcontainer.json b/samples/layouts/tabs/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tabs/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tabs/overview/.eslintrc.js b/samples/layouts/tabs/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tabs/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tabs/overview/README.md b/samples/layouts/tabs/overview/README.md index fb43f65169..c0cfcc9cab 100644 --- a/samples/layouts/tabs/overview/README.md +++ b/samples/layouts/tabs/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Tabs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tabs/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tabs/overview/package.json b/samples/layouts/tabs/overview/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tabs/overview/package.json +++ b/samples/layouts/tabs/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tabs/overview/sandbox.config.json b/samples/layouts/tabs/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tabs/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tabs/overview/src/index.tsx b/samples/layouts/tabs/overview/src/index.tsx index 2895c9f154..5f3ae62db1 100644 --- a/samples/layouts/tabs/overview/src/index.tsx +++ b/samples/layouts/tabs/overview/src/index.tsx @@ -1,4 +1,3 @@ -import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { IgrTabs, IgrTab, IgrIcon, registerIconFromText } from "igniteui-react"; @@ -11,35 +10,27 @@ registerIconFromText("home", home, "material"); registerIconFromText("search", search, "material"); registerIconFromText("favorite", favorite, "material"); -export default class Overview extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- - - - Home tab panel - - - - Search tab panel - - - - Favorite tab panel - - -
- ); - } - +export default function Overview() { + return ( +
+ + + + Home tab panel + + + + Search tab panel + + + + Favorite tab panel + + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/tabs/overview/tsconfig.json b/samples/layouts/tabs/overview/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tabs/overview/tsconfig.json +++ b/samples/layouts/tabs/overview/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/tabs/prefix-suffix/.devcontainer/devcontainer.json b/samples/layouts/tabs/prefix-suffix/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tabs/prefix-suffix/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tabs/prefix-suffix/.eslintrc.js b/samples/layouts/tabs/prefix-suffix/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tabs/prefix-suffix/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tabs/prefix-suffix/README.md b/samples/layouts/tabs/prefix-suffix/README.md index ba593981ce..64b3335be7 100644 --- a/samples/layouts/tabs/prefix-suffix/README.md +++ b/samples/layouts/tabs/prefix-suffix/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Prefix Suffix feature using [Tabs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Prefix Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tabs/prefix-suffix ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tabs/prefix-suffix/package.json b/samples/layouts/tabs/prefix-suffix/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tabs/prefix-suffix/package.json +++ b/samples/layouts/tabs/prefix-suffix/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tabs/prefix-suffix/sandbox.config.json b/samples/layouts/tabs/prefix-suffix/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tabs/prefix-suffix/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tabs/prefix-suffix/src/index.tsx b/samples/layouts/tabs/prefix-suffix/src/index.tsx index 0a1e43e938..3dc7bd47b3 100644 --- a/samples/layouts/tabs/prefix-suffix/src/index.tsx +++ b/samples/layouts/tabs/prefix-suffix/src/index.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import { useState } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { IgrTabs, IgrTab, IgrButton, IgrIcon, IgrIconButton, registerIconFromText } from "igniteui-react"; @@ -13,53 +13,47 @@ registerIconFromText("search", search, "material"); registerIconFromText("favorite", favorite, "material"); registerIconFromText("close", close, "material"); -export default class PrefixSuffix extends React.Component { +const initialTabs = ['Home','Search', 'Favorite']; - constructor(props: any) { - super(props); - this.state = { - tabs: ['Home','Search', 'Favorite'] - }; - } +export default function PrefixSuffix() { + const [tabs, setTabs] = useState(initialTabs); - public render(): JSX.Element { - return ( -
- - {this.state.tabs.map((tab, index) => ( - - - - {tab} - - this.onCloseClicked(index)} - > - - {tab} tab panel - - ))} - - Reset -
- ); - } - - public onCloseClicked = (index: number) => { - const updatedTabs = [...this.state.tabs]; + function onCloseClicked(index: number) { + const updatedTabs = [...tabs]; updatedTabs.splice(index, 1); - this.setState({ tabs: updatedTabs }); + setTabs(updatedTabs); } - public onResetClick = () => { - this.setState({ tabs: ['Home','Search', 'Favorite'] }); + function onResetClick() { + setTabs(initialTabs); } + + return ( +
+ + {tabs.map((tab, index) => ( + + + + {tab} + + onCloseClicked(index)} + > + + {tab} tab panel + + ))} + + Reset +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/tabs/prefix-suffix/tsconfig.json b/samples/layouts/tabs/prefix-suffix/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tabs/prefix-suffix/tsconfig.json +++ b/samples/layouts/tabs/prefix-suffix/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/tabs/scrolling/.devcontainer/devcontainer.json b/samples/layouts/tabs/scrolling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tabs/scrolling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tabs/scrolling/.eslintrc.js b/samples/layouts/tabs/scrolling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tabs/scrolling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tabs/scrolling/README.md b/samples/layouts/tabs/scrolling/README.md index 9e078f1fe2..d81a42d2bc 100644 --- a/samples/layouts/tabs/scrolling/README.md +++ b/samples/layouts/tabs/scrolling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Scrolling feature using [Tabs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Scrolli Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tabs/scrolling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tabs/scrolling/package.json b/samples/layouts/tabs/scrolling/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tabs/scrolling/package.json +++ b/samples/layouts/tabs/scrolling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tabs/scrolling/sandbox.config.json b/samples/layouts/tabs/scrolling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tabs/scrolling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tabs/scrolling/src/index.tsx b/samples/layouts/tabs/scrolling/src/index.tsx index 26cebb27c6..241ca4c6e8 100644 --- a/samples/layouts/tabs/scrolling/src/index.tsx +++ b/samples/layouts/tabs/scrolling/src/index.tsx @@ -1,28 +1,23 @@ -import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { IgrTabs, IgrTab} from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -export default class Scrolling extends React.Component { - - public render(): JSX.Element { - return ( -
- - {Array.from({length: 18}, (_, index) => index + 1).map(number => ( - - Tab {number} - Tab {number} panel - - ))} - -
- ); - } +export default function Scrolling() { + return ( +
+ + {Array.from({length: 18}, (_, index) => index + 1).map(number => ( + + Tab {number} + Tab {number} panel + + ))} + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); - diff --git a/samples/layouts/tabs/scrolling/tsconfig.json b/samples/layouts/tabs/scrolling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tabs/scrolling/tsconfig.json +++ b/samples/layouts/tabs/scrolling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/tabs/styling/.devcontainer/devcontainer.json b/samples/layouts/tabs/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tabs/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tabs/styling/.eslintrc.js b/samples/layouts/tabs/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tabs/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tabs/styling/README.md b/samples/layouts/tabs/styling/README.md index 08c1d914d9..f2b05ddd90 100644 --- a/samples/layouts/tabs/styling/README.md +++ b/samples/layouts/tabs/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Tabs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tabs/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tabs/styling/package.json b/samples/layouts/tabs/styling/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tabs/styling/package.json +++ b/samples/layouts/tabs/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tabs/styling/sandbox.config.json b/samples/layouts/tabs/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tabs/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tabs/styling/src/index.tsx b/samples/layouts/tabs/styling/src/index.tsx index c08c2f2689..6cc0129b18 100644 --- a/samples/layouts/tabs/styling/src/index.tsx +++ b/samples/layouts/tabs/styling/src/index.tsx @@ -1,4 +1,3 @@ -import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import { IgrTabs, IgrTab, IgrIcon, registerIconFromText } from "igniteui-react"; @@ -11,35 +10,27 @@ registerIconFromText("home", home, "material"); registerIconFromText("search", search, "material"); registerIconFromText("favorite", favorite, "material"); -export default class TabsStyling extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- - - - Home tab panel - - - - Search tab panel - - - - Favorite tab panel - - -
- ); - } - +export default function TabsStyling() { + return ( +
+ + + + Home tab panel + + + + Search tab panel + + + + Favorite tab panel + + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/tabs/styling/tsconfig.json b/samples/layouts/tabs/styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tabs/styling/tsconfig.json +++ b/samples/layouts/tabs/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/tile-manager/actions/.devcontainer/devcontainer.json b/samples/layouts/tile-manager/actions/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tile-manager/actions/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/actions/.eslintrc.js b/samples/layouts/tile-manager/actions/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tile-manager/actions/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tile-manager/actions/README.md b/samples/layouts/tile-manager/actions/README.md index 6e4235b15c..f94ce0da2e 100644 --- a/samples/layouts/tile-manager/actions/README.md +++ b/samples/layouts/tile-manager/actions/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Actions feature using [Tile Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Actions Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tile-manager/actions ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tile-manager/actions/package.json b/samples/layouts/tile-manager/actions/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tile-manager/actions/package.json +++ b/samples/layouts/tile-manager/actions/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tile-manager/actions/sandbox.config.json b/samples/layouts/tile-manager/actions/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tile-manager/actions/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/actions/src/index.tsx b/samples/layouts/tile-manager/actions/src/index.tsx index ffc2f07cd5..3d5fc304e9 100644 --- a/samples/layouts/tile-manager/actions/src/index.tsx +++ b/samples/layouts/tile-manager/actions/src/index.tsx @@ -1,29 +1,25 @@ -import React from "react"; +import type { MouseEvent } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import "./layout.css"; import { IgrTileManager, IgrTile, IgrIconButton, registerIconFromText } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -export default class Actions extends React.Component { - - constructor(props: any) { - super(props); - const northEast = - ''; - registerIconFromText('north_east', northEast, 'material'); - const southWest = - ''; - registerIconFromText('south_west', southWest, 'material'); - const more = - ''; - registerIconFromText('more', more, 'material'); - const chart = - ''; - registerIconFromText('chart', chart, 'material'); - } - - private onCustomOneClick = (event: React.MouseEvent) => { +const northEast = + ''; +registerIconFromText('north_east', northEast, 'material'); +const southWest = + ''; +registerIconFromText('south_west', southWest, 'material'); +const more = + ''; +registerIconFromText('more', more, 'material'); +const chart = + ''; +registerIconFromText('chart', chart, 'material'); + +export default function Actions() { + function onCustomOneClick(event: MouseEvent) { const tile = (event.currentTarget as HTMLElement).closest('igc-tile'); @@ -68,9 +64,9 @@ export default class Actions extends React.Component { } } } - }; + } - private onCustomTwoClick = (event: React.MouseEvent) => { + function onCustomTwoClick(event: MouseEvent) { const tile = (event.currentTarget as HTMLElement).closest('igc-tile'); if (tile) { @@ -91,45 +87,42 @@ export default class Actions extends React.Component { } } } - }; - - public render(): JSX.Element { - return ( -
- - - Default Actions -

This tile has default actions and title.

-
- - No Fullscreen Action -

Fullscreen is disabled via property.

-
- - Custom Actions - -

Replace the default actions with custom ones, and include extra actions when the tile is maximized.

-
- - -

Display only custom actions in the header.

-
- - Only title -

Display only title in the header.

-
- -

Content only.

-
-
-
- ); } + return ( +
+ + + Default Actions +

This tile has default actions and title.

+
+ + No Fullscreen Action +

Fullscreen is disabled via property.

+
+ + Custom Actions + +

Replace the default actions with custom ones, and include extra actions when the tile is maximized.

+
+ + +

Display only custom actions in the header.

+
+ + Only title +

Display only title in the header.

+
+ +

Content only.

+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/tile-manager/actions/tsconfig.json b/samples/layouts/tile-manager/actions/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tile-manager/actions/tsconfig.json +++ b/samples/layouts/tile-manager/actions/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/tile-manager/columngap/.devcontainer/devcontainer.json b/samples/layouts/tile-manager/columngap/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tile-manager/columngap/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/columngap/.eslintrc.js b/samples/layouts/tile-manager/columngap/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tile-manager/columngap/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tile-manager/columngap/README.md b/samples/layouts/tile-manager/columngap/README.md index a932f308e0..db0fe68300 100644 --- a/samples/layouts/tile-manager/columngap/README.md +++ b/samples/layouts/tile-manager/columngap/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Columngap feature using [Tile Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Columng Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tile-manager/columngap ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tile-manager/columngap/package.json b/samples/layouts/tile-manager/columngap/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tile-manager/columngap/package.json +++ b/samples/layouts/tile-manager/columngap/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tile-manager/columngap/sandbox.config.json b/samples/layouts/tile-manager/columngap/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tile-manager/columngap/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/columngap/src/index.tsx b/samples/layouts/tile-manager/columngap/src/index.tsx index 475e3edae4..8987dace1b 100644 --- a/samples/layouts/tile-manager/columngap/src/index.tsx +++ b/samples/layouts/tile-manager/columngap/src/index.tsx @@ -1,19 +1,15 @@ -import React from "react"; +import { useRef } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import "./layout.css"; -import { IgrTileManager, IgrTile, IgrInput } from "igniteui-react"; +import { IgrTileManager, IgrTile, IgrInput, IgrComponentValueChangedEventArgs } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -export default class ColumnGap extends React.Component { +export default function ColumnGap() { + const tileManagerRef = useRef(null); - private tileManagerRef = React.createRef(); - constructor(props: any) { - super(props); - } - - private onInputChange = (event: CustomEvent) => { - const tileManager = this.tileManagerRef.current; + function onInputChange(event: IgrComponentValueChangedEventArgs) { + const tileManager = tileManagerRef.current!; const input = event.target as IgrInput; switch (input.label) { case 'Columns Number': tileManager.columnCount = parseInt(input.value); @@ -23,51 +19,48 @@ export default class ColumnGap extends React.Component { } } - public render(): JSX.Element { - return ( -
-
- - -
- - -
- picture -
-
- -
- picture -
-
- -
- picture -
-
- -
- picture -
-
- -
- picture -
-
- -
- picture -
-
-
+ return ( +
+
+ +
- ); - } - + + +
+ picture +
+
+ +
+ picture +
+
+ +
+ picture +
+
+ +
+ picture +
+
+ +
+ picture +
+
+ +
+ picture +
+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/tile-manager/columngap/tsconfig.json b/samples/layouts/tile-manager/columngap/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tile-manager/columngap/tsconfig.json +++ b/samples/layouts/tile-manager/columngap/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/tile-manager/dragndrop/.devcontainer/devcontainer.json b/samples/layouts/tile-manager/dragndrop/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tile-manager/dragndrop/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/dragndrop/.eslintrc.js b/samples/layouts/tile-manager/dragndrop/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tile-manager/dragndrop/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tile-manager/dragndrop/README.md b/samples/layouts/tile-manager/dragndrop/README.md index a3703e7f4f..5fab11e1d9 100644 --- a/samples/layouts/tile-manager/dragndrop/README.md +++ b/samples/layouts/tile-manager/dragndrop/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Dragndrop feature using [Tile Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Dragndr Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tile-manager/dragndrop ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tile-manager/dragndrop/package.json b/samples/layouts/tile-manager/dragndrop/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tile-manager/dragndrop/package.json +++ b/samples/layouts/tile-manager/dragndrop/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tile-manager/dragndrop/sandbox.config.json b/samples/layouts/tile-manager/dragndrop/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tile-manager/dragndrop/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/dragndrop/src/index.tsx b/samples/layouts/tile-manager/dragndrop/src/index.tsx index 77e1479775..1eb969ba8c 100644 --- a/samples/layouts/tile-manager/dragndrop/src/index.tsx +++ b/samples/layouts/tile-manager/dragndrop/src/index.tsx @@ -1,58 +1,49 @@ -import React from "react"; +import { useRef } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import "./layout.css"; -import { IgrTileManager, IgrTile, IgrRadio, IgrRadioGroup } from "igniteui-react"; +import { IgrTileManager, IgrTile, IgrRadio, IgrRadioGroup, IgrRadioChangeEventArgs, TileManagerDragMode } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -import { IgcRadioChangeEventArgs } from "igniteui-webcomponents/components/radio/radio"; -export default class DragNDrop extends React.Component { +export default function DragNDrop() { + const tileManagerRef = useRef(null); - private tileManagerRef = React.createRef(); - - constructor(props: any) { - super(props); - } - - private onRadioChange = (event: CustomEvent) => { + function onRadioChange(event: IgrRadioChangeEventArgs) { const radio = event.target as IgrRadio; - this.tileManagerRef.current.dragMode = radio.value as any; - }; - - public render(): JSX.Element { - return ( -
-
- - Tile-header - Tile - None - -
- - - Tile 1 header -

Content for Tile 1

-
- - Tile 2 header -

Content for Tile 2

-
- - Tile 3 header -

Content for Tile 3

-
- - Tile 4 header -

Content for Tile 4

-
-
-
- ); + tileManagerRef.current!.dragMode = radio.value as TileManagerDragMode; } + return ( +
+
+ + Tile-header + Tile + None + +
+ + + Tile 1 header +

Content for Tile 1

+
+ + Tile 2 header +

Content for Tile 2

+
+ + Tile 3 header +

Content for Tile 3

+
+ + Tile 4 header +

Content for Tile 4

+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/tile-manager/dragndrop/tsconfig.json b/samples/layouts/tile-manager/dragndrop/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tile-manager/dragndrop/tsconfig.json +++ b/samples/layouts/tile-manager/dragndrop/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/tile-manager/layout/.devcontainer/devcontainer.json b/samples/layouts/tile-manager/layout/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tile-manager/layout/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/layout/.eslintrc.js b/samples/layouts/tile-manager/layout/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tile-manager/layout/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tile-manager/layout/README.md b/samples/layouts/tile-manager/layout/README.md index 8e774b35f9..de7e3e6e1c 100644 --- a/samples/layouts/tile-manager/layout/README.md +++ b/samples/layouts/tile-manager/layout/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Layout feature using [Tile Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Layout Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tile-manager/layout ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tile-manager/layout/package.json b/samples/layouts/tile-manager/layout/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tile-manager/layout/package.json +++ b/samples/layouts/tile-manager/layout/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tile-manager/layout/sandbox.config.json b/samples/layouts/tile-manager/layout/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tile-manager/layout/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/layout/src/index.tsx b/samples/layouts/tile-manager/layout/src/index.tsx index fe8228b71d..4a2135f6c2 100644 --- a/samples/layouts/tile-manager/layout/src/index.tsx +++ b/samples/layouts/tile-manager/layout/src/index.tsx @@ -1,67 +1,58 @@ -import React, { Component, createRef } from "react"; +import { useRef, useState } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import "./layout.css"; import { IgrTileManager, IgrTile, IgrButton } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -export default class Layout extends Component { +export default function Layout() { + const tileManagerRef = useRef(null); + const [serializedData, setSerializedData] = useState(''); - private tileManagerRef = createRef(); - state = { - serializedData: '', - }; - constructor(props: any) { - super(props); - } - - private onAddTileClick = () => { + function onAddTileClick() { const newTile = document.createElement("igc-tile"); const contentHeader = document.createElement('span'); const content = document.createElement('p'); - const index = this.tileManagerRef.current.tiles.length + 1; + const index = tileManagerRef.current!.tiles.length + 1; contentHeader.textContent = `Tile ${index} header`; content.textContent = `Content for Tile ${index}`; contentHeader.setAttribute('slot', 'title'); newTile.position = 0; newTile.append(contentHeader); newTile.append(content); - (this.tileManagerRef.current as IgrTileManager).appendChild(newTile); + tileManagerRef.current!.appendChild(newTile); } - public render(): JSX.Element { - return ( -
-
- this.setState({ serializedData: this.tileManagerRef?.current.saveLayout()})}>Save Layout - this.tileManagerRef.current.loadLayout(this.state.serializedData)}>Load Layout - Add Tile - this.tileManagerRef.current.querySelector('igc-tile:first-of-type')?.remove()}>Remove Tile -
- - - Tile 1 header -

Content for Tile 1

-
- - Tile 2 header -

Content for Tile 2

-
- - Tile 3 header -

Content for Tile 3

-
- - Tile 4 header -

Content for Tile 4

-
-
+ return ( +
+
+ setSerializedData(tileManagerRef.current!.saveLayout())}>Save Layout + tileManagerRef.current!.loadLayout(serializedData)}>Load Layout + Add Tile + tileManagerRef.current!.querySelector('igc-tile:first-of-type')?.remove()}>Remove Tile
- ); - } - + + + Tile 1 header +

Content for Tile 1

+
+ + Tile 2 header +

Content for Tile 2

+
+ + Tile 3 header +

Content for Tile 3

+
+ + Tile 4 header +

Content for Tile 4

+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/tile-manager/layout/tsconfig.json b/samples/layouts/tile-manager/layout/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tile-manager/layout/tsconfig.json +++ b/samples/layouts/tile-manager/layout/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/tile-manager/overview/.devcontainer/devcontainer.json b/samples/layouts/tile-manager/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tile-manager/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/overview/.eslintrc.js b/samples/layouts/tile-manager/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tile-manager/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tile-manager/overview/README.md b/samples/layouts/tile-manager/overview/README.md index 9fbc862632..4b3ec6743c 100644 --- a/samples/layouts/tile-manager/overview/README.md +++ b/samples/layouts/tile-manager/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Tile Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tile-manager/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tile-manager/overview/package.json b/samples/layouts/tile-manager/overview/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tile-manager/overview/package.json +++ b/samples/layouts/tile-manager/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tile-manager/overview/sandbox.config.json b/samples/layouts/tile-manager/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tile-manager/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/overview/src/index.tsx b/samples/layouts/tile-manager/overview/src/index.tsx index 18fcb31e13..81bfcd71de 100644 --- a/samples/layouts/tile-manager/overview/src/index.tsx +++ b/samples/layouts/tile-manager/overview/src/index.tsx @@ -1,4 +1,3 @@ -import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import "./layout.css"; @@ -12,180 +11,172 @@ registerIconFromText("home", home, "material"); registerIconFromText("search", search, "material"); registerIconFromText("favorite", favorite, "material"); -export default class Overview extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- - - Order info - - - - - -
-

OrderID

-

10293

-
-
- - - - -
-

Customer Name

-

Tortuga Restaurante

-
-
- - - - -
-

Order Date

-

August 29, 1996

-
-
- - +export default function Overview() { + return ( +
+ + + Order info + + + + + +
+

OrderID

+

10293

+
+
+ + + + +
+

Customer Name

+

Tortuga Restaurante

+
+
+ + - -
-

Shipped Date

-

September 11, 1996

-
-
- - - - -
-

Product Name

-

Carnavon Tigers

-
-
- - - - -
-

Ship Country

-

Mexico

-
-
-
-
- - - Order Line Items -
- -
- -
- - - -
- Carnavon Tigers -
- -
- Quantity 12 -
-
- Unit Price $50 -
-
-
-
- -
- -
- - - -
- Guarana Fantastica -
- -
- Quantity 10 -
-
- Unit Price $4 -
-
-
-
- -
- -
- - - -
- Vegie-spread -
- -
- Quantity 5 -
-
- Unit Price $35 -
-
-
-
- -
- -
- - - -
- Rhonbrau Klosterbier -
- -
- Quantity 7 -
-
- Unit Price $6 -
-
-
-
-
-
- - Order Value -
-

$8.66K

-
-
- - Item quantity -
-

4

-
-
-
-
- ); - } +
+
+

Order Date

+

August 29, 1996

+
+
+ + + + +
+

Shipped Date

+

September 11, 1996

+
+
+ + + + +
+

Product Name

+

Carnavon Tigers

+
+
+ + + + +
+

Ship Country

+

Mexico

+
+
+
+
+ + Order Line Items +
+ +
+ +
+ + + +
+ Carnavon Tigers +
+ +
+ Quantity 12 +
+
+ Unit Price $50 +
+
+
+
+ +
+ +
+ + + +
+ Guarana Fantastica +
+ +
+ Quantity 10 +
+
+ Unit Price $4 +
+
+
+
+ +
+ +
+ + + +
+ Vegie-spread +
+ +
+ Quantity 5 +
+
+ Unit Price $35 +
+
+
+
+ +
+ +
+ + + +
+ Rhonbrau Klosterbier +
+ +
+ Quantity 7 +
+
+ Unit Price $6 +
+
+
+
+
+
+ + Order Value +
+

$8.66K

+
+
+ + Item quantity +
+

4

+
+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/tile-manager/overview/tsconfig.json b/samples/layouts/tile-manager/overview/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tile-manager/overview/tsconfig.json +++ b/samples/layouts/tile-manager/overview/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/tile-manager/resize/.devcontainer/devcontainer.json b/samples/layouts/tile-manager/resize/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tile-manager/resize/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/resize/.eslintrc.js b/samples/layouts/tile-manager/resize/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tile-manager/resize/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tile-manager/resize/README.md b/samples/layouts/tile-manager/resize/README.md index d8893c7b17..a489694964 100644 --- a/samples/layouts/tile-manager/resize/README.md +++ b/samples/layouts/tile-manager/resize/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Resize feature using [Tile Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Resize Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tile-manager/resize ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tile-manager/resize/package.json b/samples/layouts/tile-manager/resize/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tile-manager/resize/package.json +++ b/samples/layouts/tile-manager/resize/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tile-manager/resize/sandbox.config.json b/samples/layouts/tile-manager/resize/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tile-manager/resize/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/resize/src/index.tsx b/samples/layouts/tile-manager/resize/src/index.tsx index a9f9424c2a..f53fa4b00e 100644 --- a/samples/layouts/tile-manager/resize/src/index.tsx +++ b/samples/layouts/tile-manager/resize/src/index.tsx @@ -1,25 +1,20 @@ -import React from "react"; +import { useRef } from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import "./layout.css"; -import { IgrTileManager, IgrTile, IgrRadio, IgrRadioGroup, IgrInput } from "igniteui-react"; +import { IgrTileManager, IgrTile, IgrRadio, IgrRadioGroup, IgrInput, IgrRadioChangeEventArgs, IgrComponentValueChangedEventArgs, TileManagerResizeMode } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -import { IgcRadioChangeEventArgs } from "igniteui-webcomponents/components/radio/radio"; -export default class Actions extends React.Component { +export default function Actions() { + const tileManagerRef = useRef(null); - private tileManagerRef = React.createRef(); - constructor(props: any) { - super(props); - } - - private onRadioChange = (event: CustomEvent) => { + function onRadioChange(event: IgrRadioChangeEventArgs) { const radio = event.target as IgrRadio; - (this.tileManagerRef.current as IgrTileManager).resizeMode = radio.value as any; - }; + tileManagerRef.current!.resizeMode = radio.value as TileManagerResizeMode; + } - private onInputChange = (event: CustomEvent) => { - const tileManager = this.tileManagerRef.current; + function onInputChange(event: IgrComponentValueChangedEventArgs) { + const tileManager = tileManagerRef.current!; const input = event.target as IgrInput; switch (input.label) { case 'Minimum Column Width': tileManager.minColumnWidth = input.value; @@ -29,42 +24,39 @@ export default class Actions extends React.Component { } } - public render(): JSX.Element { - return ( -
-
- - Always - Hover - None - - - -
- - - Tile 1 header -

Content for Tile 1

-
- - Tile 2 header -

Content for Tile 2

-
- - Tile 3 header -

Content for Tile 3

-
- - Tile 4 header -

Content for Tile 4

-
-
+ return ( +
+
+ + Always + Hover + None + + +
- ); - } - + + + Tile 1 header +

Content for Tile 1

+
+ + Tile 2 header +

Content for Tile 2

+
+ + Tile 3 header +

Content for Tile 3

+
+ + Tile 4 header +

Content for Tile 4

+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/tile-manager/resize/tsconfig.json b/samples/layouts/tile-manager/resize/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tile-manager/resize/tsconfig.json +++ b/samples/layouts/tile-manager/resize/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/tile-manager/styling/.devcontainer/devcontainer.json b/samples/layouts/tile-manager/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/tile-manager/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/styling/.eslintrc.js b/samples/layouts/tile-manager/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/tile-manager/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/tile-manager/styling/README.md b/samples/layouts/tile-manager/styling/README.md index 6332ac082e..395647d82a 100644 --- a/samples/layouts/tile-manager/styling/README.md +++ b/samples/layouts/tile-manager/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Tile Manager](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/tile-manager/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/tile-manager/styling/package.json b/samples/layouts/tile-manager/styling/package.json index 6d511528ed..031399e7ae 100644 --- a/samples/layouts/tile-manager/styling/package.json +++ b/samples/layouts/tile-manager/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/tile-manager/styling/sandbox.config.json b/samples/layouts/tile-manager/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/tile-manager/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/tile-manager/styling/src/index.tsx b/samples/layouts/tile-manager/styling/src/index.tsx index 2af3f5b063..ca25ad29cd 100644 --- a/samples/layouts/tile-manager/styling/src/index.tsx +++ b/samples/layouts/tile-manager/styling/src/index.tsx @@ -1,4 +1,3 @@ -import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; import "./layout.css"; @@ -6,46 +5,39 @@ import "./styles.css"; import { IgrTileManager, IgrTile, IgrIcon, registerIconFromText } from "igniteui-react"; import "igniteui-webcomponents/themes/light/bootstrap.css"; -export default class Styling extends React.Component { +const indicatorIcon = + ''; - constructor(props: any) { - super(props); - const indicatorIcon = - ''; - - registerIconFromText('indicator', indicatorIcon); - } - - public render(): JSX.Element { - return ( -
- - - - - - Tile 1 header -

Content for Tile 1

-
- - Tile 2 header -

Content for Tile 2

-
- - Tile 3 header -

Content for Tile 3

-
- - Tile 4 header -

Content for Tile 4

-
-
-
- ); - } +registerIconFromText('indicator', indicatorIcon); +export default function Styling() { + return ( +
+ + + + + + Tile 1 header +

Content for Tile 1

+
+ + Tile 2 header +

Content for Tile 2

+
+ + Tile 3 header +

Content for Tile 3

+
+ + Tile 4 header +

Content for Tile 4

+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/tile-manager/styling/tsconfig.json b/samples/layouts/tile-manager/styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/tile-manager/styling/tsconfig.json +++ b/samples/layouts/tile-manager/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/virtual-scroll/horizontal/.devcontainer/devcontainer.json b/samples/layouts/virtual-scroll/horizontal/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/virtual-scroll/horizontal/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/horizontal/.eslintrc.js b/samples/layouts/virtual-scroll/horizontal/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/virtual-scroll/horizontal/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/horizontal/README.md b/samples/layouts/virtual-scroll/horizontal/README.md index b5a5754eef..2c5198e256 100644 --- a/samples/layouts/virtual-scroll/horizontal/README.md +++ b/samples/layouts/virtual-scroll/horizontal/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Horizontal feature using [Virtual Scroll](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Horizon Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/virtual-scroll/horizontal ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/virtual-scroll/horizontal/package.json b/samples/layouts/virtual-scroll/horizontal/package.json index c4c8ae1cb0..2da49551d0 100644 --- a/samples/layouts/virtual-scroll/horizontal/package.json +++ b/samples/layouts/virtual-scroll/horizontal/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/virtual-scroll/horizontal/sandbox.config.json b/samples/layouts/virtual-scroll/horizontal/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/virtual-scroll/horizontal/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/horizontal/src/index.tsx b/samples/layouts/virtual-scroll/horizontal/src/index.tsx index d11aa0d692..a0462d371a 100644 --- a/samples/layouts/virtual-scroll/horizontal/src/index.tsx +++ b/samples/layouts/virtual-scroll/horizontal/src/index.tsx @@ -57,5 +57,5 @@ export default function VirtualScrollHorizontal() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/virtual-scroll/horizontal/tsconfig.json b/samples/layouts/virtual-scroll/horizontal/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/virtual-scroll/horizontal/tsconfig.json +++ b/samples/layouts/virtual-scroll/horizontal/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/virtual-scroll/infinite-scroll/.devcontainer/devcontainer.json b/samples/layouts/virtual-scroll/infinite-scroll/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/virtual-scroll/infinite-scroll/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/infinite-scroll/.eslintrc.js b/samples/layouts/virtual-scroll/infinite-scroll/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/virtual-scroll/infinite-scroll/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/infinite-scroll/README.md b/samples/layouts/virtual-scroll/infinite-scroll/README.md index c93f36c851..fef067611f 100644 --- a/samples/layouts/virtual-scroll/infinite-scroll/README.md +++ b/samples/layouts/virtual-scroll/infinite-scroll/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Infinite Scroll feature using [Virtual Scroll](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Infinit Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/virtual-scroll/infinite-scroll ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/virtual-scroll/infinite-scroll/package.json b/samples/layouts/virtual-scroll/infinite-scroll/package.json index ae32619f11..da93e546a5 100644 --- a/samples/layouts/virtual-scroll/infinite-scroll/package.json +++ b/samples/layouts/virtual-scroll/infinite-scroll/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/virtual-scroll/infinite-scroll/sandbox.config.json b/samples/layouts/virtual-scroll/infinite-scroll/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/virtual-scroll/infinite-scroll/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/infinite-scroll/src/index.tsx b/samples/layouts/virtual-scroll/infinite-scroll/src/index.tsx index 7dc72b4737..52d0f049f2 100644 --- a/samples/layouts/virtual-scroll/infinite-scroll/src/index.tsx +++ b/samples/layouts/virtual-scroll/infinite-scroll/src/index.tsx @@ -93,5 +93,5 @@ export default function VirtualScrollInfiniteScroll() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/virtual-scroll/infinite-scroll/tsconfig.json b/samples/layouts/virtual-scroll/infinite-scroll/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/virtual-scroll/infinite-scroll/tsconfig.json +++ b/samples/layouts/virtual-scroll/infinite-scroll/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/virtual-scroll/overview/.devcontainer/devcontainer.json b/samples/layouts/virtual-scroll/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/virtual-scroll/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/overview/.eslintrc.js b/samples/layouts/virtual-scroll/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/virtual-scroll/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/overview/README.md b/samples/layouts/virtual-scroll/overview/README.md index 79ee1611e5..774a57fadc 100644 --- a/samples/layouts/virtual-scroll/overview/README.md +++ b/samples/layouts/virtual-scroll/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Virtual Scroll](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/virtual-scroll/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/virtual-scroll/overview/package.json b/samples/layouts/virtual-scroll/overview/package.json index 0820a218ba..6816e11878 100644 --- a/samples/layouts/virtual-scroll/overview/package.json +++ b/samples/layouts/virtual-scroll/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/virtual-scroll/overview/sandbox.config.json b/samples/layouts/virtual-scroll/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/virtual-scroll/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/overview/src/index.tsx b/samples/layouts/virtual-scroll/overview/src/index.tsx index a403fa6822..5ed8434fc1 100644 --- a/samples/layouts/virtual-scroll/overview/src/index.tsx +++ b/samples/layouts/virtual-scroll/overview/src/index.tsx @@ -44,5 +44,5 @@ export default function VirtualScrollOverview() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/virtual-scroll/overview/tsconfig.json b/samples/layouts/virtual-scroll/overview/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/virtual-scroll/overview/tsconfig.json +++ b/samples/layouts/virtual-scroll/overview/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/virtual-scroll/scroll-to-index/.devcontainer/devcontainer.json b/samples/layouts/virtual-scroll/scroll-to-index/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/virtual-scroll/scroll-to-index/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/scroll-to-index/.eslintrc.js b/samples/layouts/virtual-scroll/scroll-to-index/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/virtual-scroll/scroll-to-index/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/scroll-to-index/README.md b/samples/layouts/virtual-scroll/scroll-to-index/README.md index 9e77cc9d8a..c67610d89d 100644 --- a/samples/layouts/virtual-scroll/scroll-to-index/README.md +++ b/samples/layouts/virtual-scroll/scroll-to-index/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Scroll To Index feature using [Virtual Scroll](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Scroll Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/virtual-scroll/scroll-to-index ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/virtual-scroll/scroll-to-index/package.json b/samples/layouts/virtual-scroll/scroll-to-index/package.json index ab3ec7d11a..c9dc1f9a6c 100644 --- a/samples/layouts/virtual-scroll/scroll-to-index/package.json +++ b/samples/layouts/virtual-scroll/scroll-to-index/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/virtual-scroll/scroll-to-index/sandbox.config.json b/samples/layouts/virtual-scroll/scroll-to-index/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/virtual-scroll/scroll-to-index/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/scroll-to-index/src/index.tsx b/samples/layouts/virtual-scroll/scroll-to-index/src/index.tsx index 6a195a6a10..dba521b365 100644 --- a/samples/layouts/virtual-scroll/scroll-to-index/src/index.tsx +++ b/samples/layouts/virtual-scroll/scroll-to-index/src/index.tsx @@ -130,5 +130,5 @@ export default function VirtualScrollScrollToIndex() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/virtual-scroll/scroll-to-index/tsconfig.json b/samples/layouts/virtual-scroll/scroll-to-index/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/virtual-scroll/scroll-to-index/tsconfig.json +++ b/samples/layouts/virtual-scroll/scroll-to-index/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/layouts/virtual-scroll/variable-size/.devcontainer/devcontainer.json b/samples/layouts/virtual-scroll/variable-size/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/virtual-scroll/variable-size/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/variable-size/.eslintrc.js b/samples/layouts/virtual-scroll/variable-size/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/virtual-scroll/variable-size/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/variable-size/README.md b/samples/layouts/virtual-scroll/variable-size/README.md index 7773a91f6f..bad487836b 100644 --- a/samples/layouts/virtual-scroll/variable-size/README.md +++ b/samples/layouts/virtual-scroll/variable-size/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Variable Size feature using [Virtual Scroll](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Variabl Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/layouts/virtual-scroll/variable-size ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/layouts/virtual-scroll/variable-size/package.json b/samples/layouts/virtual-scroll/variable-size/package.json index e2879dce64..46a5967c61 100644 --- a/samples/layouts/virtual-scroll/variable-size/package.json +++ b/samples/layouts/virtual-scroll/variable-size/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/layouts/virtual-scroll/variable-size/sandbox.config.json b/samples/layouts/virtual-scroll/variable-size/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/virtual-scroll/variable-size/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/layouts/virtual-scroll/variable-size/src/index.tsx b/samples/layouts/virtual-scroll/variable-size/src/index.tsx index ec67ab7d7d..99b308bbc9 100644 --- a/samples/layouts/virtual-scroll/variable-size/src/index.tsx +++ b/samples/layouts/virtual-scroll/variable-size/src/index.tsx @@ -46,5 +46,5 @@ export default function VirtualScrollVariableSize() { } // rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById("root")); +const root = ReactDOM.createRoot(document.getElementById("root")!); root.render(); diff --git a/samples/layouts/virtual-scroll/variable-size/tsconfig.json b/samples/layouts/virtual-scroll/variable-size/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/layouts/virtual-scroll/variable-size/tsconfig.json +++ b/samples/layouts/virtual-scroll/variable-size/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/maps/geo-map/binding-data-csv/.devcontainer/devcontainer.json b/samples/maps/geo-map/binding-data-csv/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/binding-data-csv/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-data-csv/.eslintrc.js b/samples/maps/geo-map/binding-data-csv/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/binding-data-csv/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/binding-data-csv/README.md b/samples/maps/geo-map/binding-data-csv/README.md index 394d8b8083..962ac0c990 100644 --- a/samples/maps/geo-map/binding-data-csv/README.md +++ b/samples/maps/geo-map/binding-data-csv/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Binding Data Csv feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Binding Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/binding-data-csv ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/binding-data-csv/package.json b/samples/maps/geo-map/binding-data-csv/package.json index 7307e69e96..a4ca88e374 100644 --- a/samples/maps/geo-map/binding-data-csv/package.json +++ b/samples/maps/geo-map/binding-data-csv/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/binding-data-csv/sandbox.config.json b/samples/maps/geo-map/binding-data-csv/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/binding-data-csv/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-data-json-points/.devcontainer/devcontainer.json b/samples/maps/geo-map/binding-data-json-points/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/binding-data-json-points/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-data-json-points/.eslintrc.js b/samples/maps/geo-map/binding-data-json-points/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/binding-data-json-points/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/binding-data-json-points/README.md b/samples/maps/geo-map/binding-data-json-points/README.md index 70b6f3265b..1486a90b82 100644 --- a/samples/maps/geo-map/binding-data-json-points/README.md +++ b/samples/maps/geo-map/binding-data-json-points/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Binding Data Json Points feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Binding Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/binding-data-json-points ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/binding-data-json-points/package.json b/samples/maps/geo-map/binding-data-json-points/package.json index 4256195ad9..4fa242c29c 100644 --- a/samples/maps/geo-map/binding-data-json-points/package.json +++ b/samples/maps/geo-map/binding-data-json-points/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/binding-data-json-points/sandbox.config.json b/samples/maps/geo-map/binding-data-json-points/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/binding-data-json-points/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-data-json-shapes/.devcontainer/devcontainer.json b/samples/maps/geo-map/binding-data-json-shapes/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/binding-data-json-shapes/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-data-json-shapes/.eslintrc.js b/samples/maps/geo-map/binding-data-json-shapes/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/binding-data-json-shapes/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/binding-data-json-shapes/README.md b/samples/maps/geo-map/binding-data-json-shapes/README.md index 5daec79764..b601d94bec 100644 --- a/samples/maps/geo-map/binding-data-json-shapes/README.md +++ b/samples/maps/geo-map/binding-data-json-shapes/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Binding Data Json Shapes feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Binding Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/binding-data-json-shapes ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/binding-data-json-shapes/package.json b/samples/maps/geo-map/binding-data-json-shapes/package.json index aab5ab7929..d5508e507b 100644 --- a/samples/maps/geo-map/binding-data-json-shapes/package.json +++ b/samples/maps/geo-map/binding-data-json-shapes/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/binding-data-json-shapes/sandbox.config.json b/samples/maps/geo-map/binding-data-json-shapes/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/binding-data-json-shapes/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-data-model/.devcontainer/devcontainer.json b/samples/maps/geo-map/binding-data-model/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/binding-data-model/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-data-model/.eslintrc.js b/samples/maps/geo-map/binding-data-model/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/binding-data-model/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/binding-data-model/README.md b/samples/maps/geo-map/binding-data-model/README.md index 153b8ba93f..a7835974ea 100644 --- a/samples/maps/geo-map/binding-data-model/README.md +++ b/samples/maps/geo-map/binding-data-model/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Binding Data Model feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Binding Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/binding-data-model ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/binding-data-model/package.json b/samples/maps/geo-map/binding-data-model/package.json index 4305006257..5b01d2f3cc 100644 --- a/samples/maps/geo-map/binding-data-model/package.json +++ b/samples/maps/geo-map/binding-data-model/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/binding-data-model/sandbox.config.json b/samples/maps/geo-map/binding-data-model/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/binding-data-model/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-multiple-shapes/.devcontainer/devcontainer.json b/samples/maps/geo-map/binding-multiple-shapes/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/binding-multiple-shapes/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-multiple-shapes/.eslintrc.js b/samples/maps/geo-map/binding-multiple-shapes/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/binding-multiple-shapes/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/binding-multiple-shapes/README.md b/samples/maps/geo-map/binding-multiple-shapes/README.md index 4d45d31547..1dc423d682 100644 --- a/samples/maps/geo-map/binding-multiple-shapes/README.md +++ b/samples/maps/geo-map/binding-multiple-shapes/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Binding Multiple Shapes feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Binding Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/binding-multiple-shapes ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/binding-multiple-shapes/package.json b/samples/maps/geo-map/binding-multiple-shapes/package.json index d851ebd1d3..8b47bca730 100644 --- a/samples/maps/geo-map/binding-multiple-shapes/package.json +++ b/samples/maps/geo-map/binding-multiple-shapes/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/binding-multiple-shapes/sandbox.config.json b/samples/maps/geo-map/binding-multiple-shapes/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/binding-multiple-shapes/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-multiple-sources/.devcontainer/devcontainer.json b/samples/maps/geo-map/binding-multiple-sources/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/binding-multiple-sources/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-multiple-sources/.eslintrc.js b/samples/maps/geo-map/binding-multiple-sources/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/binding-multiple-sources/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/binding-multiple-sources/README.md b/samples/maps/geo-map/binding-multiple-sources/README.md index 109f238cda..691aeb540f 100644 --- a/samples/maps/geo-map/binding-multiple-sources/README.md +++ b/samples/maps/geo-map/binding-multiple-sources/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Binding Multiple Sources feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Binding Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/binding-multiple-sources ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/binding-multiple-sources/package.json b/samples/maps/geo-map/binding-multiple-sources/package.json index 0bc96a9f19..3ffae6b916 100644 --- a/samples/maps/geo-map/binding-multiple-sources/package.json +++ b/samples/maps/geo-map/binding-multiple-sources/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/binding-multiple-sources/sandbox.config.json b/samples/maps/geo-map/binding-multiple-sources/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/binding-multiple-sources/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-shp-points/.devcontainer/devcontainer.json b/samples/maps/geo-map/binding-shp-points/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/binding-shp-points/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-shp-points/.eslintrc.js b/samples/maps/geo-map/binding-shp-points/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/binding-shp-points/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/binding-shp-points/README.md b/samples/maps/geo-map/binding-shp-points/README.md index baa707c160..7c67516b7b 100644 --- a/samples/maps/geo-map/binding-shp-points/README.md +++ b/samples/maps/geo-map/binding-shp-points/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Binding Shp Points feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Binding Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/binding-shp-points ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/binding-shp-points/package.json b/samples/maps/geo-map/binding-shp-points/package.json index 020db33595..438f04fc4f 100644 --- a/samples/maps/geo-map/binding-shp-points/package.json +++ b/samples/maps/geo-map/binding-shp-points/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/binding-shp-points/sandbox.config.json b/samples/maps/geo-map/binding-shp-points/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/binding-shp-points/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-shp-polygons/.devcontainer/devcontainer.json b/samples/maps/geo-map/binding-shp-polygons/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/binding-shp-polygons/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-shp-polygons/.eslintrc.js b/samples/maps/geo-map/binding-shp-polygons/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/binding-shp-polygons/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/binding-shp-polygons/README.md b/samples/maps/geo-map/binding-shp-polygons/README.md index 0ff89f0d0c..808dcb1720 100644 --- a/samples/maps/geo-map/binding-shp-polygons/README.md +++ b/samples/maps/geo-map/binding-shp-polygons/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Binding Shp Polygons feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Binding Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/binding-shp-polygons ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/binding-shp-polygons/package.json b/samples/maps/geo-map/binding-shp-polygons/package.json index aab5ab7929..d5508e507b 100644 --- a/samples/maps/geo-map/binding-shp-polygons/package.json +++ b/samples/maps/geo-map/binding-shp-polygons/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/binding-shp-polygons/sandbox.config.json b/samples/maps/geo-map/binding-shp-polygons/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/binding-shp-polygons/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-shp-polylines/.devcontainer/devcontainer.json b/samples/maps/geo-map/binding-shp-polylines/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/binding-shp-polylines/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/binding-shp-polylines/.eslintrc.js b/samples/maps/geo-map/binding-shp-polylines/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/binding-shp-polylines/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/binding-shp-polylines/README.md b/samples/maps/geo-map/binding-shp-polylines/README.md index ee629341ea..90f1e9cdd5 100644 --- a/samples/maps/geo-map/binding-shp-polylines/README.md +++ b/samples/maps/geo-map/binding-shp-polylines/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Binding Shp Polylines feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Binding Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/binding-shp-polylines ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/binding-shp-polylines/package.json b/samples/maps/geo-map/binding-shp-polylines/package.json index 7fbffe8ecb..b89a5f3b1c 100644 --- a/samples/maps/geo-map/binding-shp-polylines/package.json +++ b/samples/maps/geo-map/binding-shp-polylines/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/binding-shp-polylines/sandbox.config.json b/samples/maps/geo-map/binding-shp-polylines/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/binding-shp-polylines/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/custom-tooltips/.devcontainer/devcontainer.json b/samples/maps/geo-map/custom-tooltips/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/custom-tooltips/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/custom-tooltips/.eslintrc.js b/samples/maps/geo-map/custom-tooltips/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/custom-tooltips/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/custom-tooltips/README.md b/samples/maps/geo-map/custom-tooltips/README.md index 8d2215124c..2239b99d82 100644 --- a/samples/maps/geo-map/custom-tooltips/README.md +++ b/samples/maps/geo-map/custom-tooltips/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Custom Tooltips feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Custom Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/custom-tooltips ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/custom-tooltips/package.json b/samples/maps/geo-map/custom-tooltips/package.json index bb4c87bc33..f0777cddfa 100644 --- a/samples/maps/geo-map/custom-tooltips/package.json +++ b/samples/maps/geo-map/custom-tooltips/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/custom-tooltips/sandbox.config.json b/samples/maps/geo-map/custom-tooltips/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/custom-tooltips/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-all-imagery/.devcontainer/devcontainer.json b/samples/maps/geo-map/display-all-imagery/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/display-all-imagery/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-all-imagery/.eslintrc.js b/samples/maps/geo-map/display-all-imagery/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/display-all-imagery/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/display-all-imagery/README.md b/samples/maps/geo-map/display-all-imagery/README.md index db61f62074..8cfad41921 100644 --- a/samples/maps/geo-map/display-all-imagery/README.md +++ b/samples/maps/geo-map/display-all-imagery/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Display All Imagery feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Display Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/display-all-imagery ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/display-all-imagery/package.json b/samples/maps/geo-map/display-all-imagery/package.json index 5e4f294b90..39647ca82f 100644 --- a/samples/maps/geo-map/display-all-imagery/package.json +++ b/samples/maps/geo-map/display-all-imagery/package.json @@ -16,21 +16,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/display-all-imagery/sandbox.config.json b/samples/maps/geo-map/display-all-imagery/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/display-all-imagery/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-azure-imagery/.devcontainer/devcontainer.json b/samples/maps/geo-map/display-azure-imagery/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/display-azure-imagery/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-azure-imagery/.eslintrc.js b/samples/maps/geo-map/display-azure-imagery/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/display-azure-imagery/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/display-azure-imagery/README.md b/samples/maps/geo-map/display-azure-imagery/README.md index 31e791bb09..5d22276cbe 100644 --- a/samples/maps/geo-map/display-azure-imagery/README.md +++ b/samples/maps/geo-map/display-azure-imagery/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Display Azure Imagery feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Display Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/display-azure-imagery ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/display-azure-imagery/package.json b/samples/maps/geo-map/display-azure-imagery/package.json index bb8058557a..aabab9fa64 100644 --- a/samples/maps/geo-map/display-azure-imagery/package.json +++ b/samples/maps/geo-map/display-azure-imagery/package.json @@ -16,21 +16,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/display-azure-imagery/sandbox.config.json b/samples/maps/geo-map/display-azure-imagery/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/display-azure-imagery/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-bing-imagery/.devcontainer/devcontainer.json b/samples/maps/geo-map/display-bing-imagery/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/display-bing-imagery/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-bing-imagery/.eslintrc.js b/samples/maps/geo-map/display-bing-imagery/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/display-bing-imagery/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/display-bing-imagery/README.md b/samples/maps/geo-map/display-bing-imagery/README.md index 3cdd198f1d..0afcbc013e 100644 --- a/samples/maps/geo-map/display-bing-imagery/README.md +++ b/samples/maps/geo-map/display-bing-imagery/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Display Bing Imagery feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Display Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/display-bing-imagery ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/display-bing-imagery/package.json b/samples/maps/geo-map/display-bing-imagery/package.json index 49e31a9873..c585071147 100644 --- a/samples/maps/geo-map/display-bing-imagery/package.json +++ b/samples/maps/geo-map/display-bing-imagery/package.json @@ -16,21 +16,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/display-bing-imagery/sandbox.config.json b/samples/maps/geo-map/display-bing-imagery/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/display-bing-imagery/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-custom-imagery/.devcontainer/devcontainer.json b/samples/maps/geo-map/display-custom-imagery/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/display-custom-imagery/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-custom-imagery/.eslintrc.js b/samples/maps/geo-map/display-custom-imagery/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/display-custom-imagery/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/display-custom-imagery/README.md b/samples/maps/geo-map/display-custom-imagery/README.md index 1cfa4df7d8..27474c3e53 100644 --- a/samples/maps/geo-map/display-custom-imagery/README.md +++ b/samples/maps/geo-map/display-custom-imagery/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Display Custom Imagery feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Display Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/display-custom-imagery ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/display-custom-imagery/package.json b/samples/maps/geo-map/display-custom-imagery/package.json index 591852905d..3e2ba5d962 100644 --- a/samples/maps/geo-map/display-custom-imagery/package.json +++ b/samples/maps/geo-map/display-custom-imagery/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/display-custom-imagery/sandbox.config.json b/samples/maps/geo-map/display-custom-imagery/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/display-custom-imagery/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-esri-imagery/.devcontainer/devcontainer.json b/samples/maps/geo-map/display-esri-imagery/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/display-esri-imagery/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-esri-imagery/.eslintrc.js b/samples/maps/geo-map/display-esri-imagery/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/display-esri-imagery/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/display-esri-imagery/README.md b/samples/maps/geo-map/display-esri-imagery/README.md index 6c741678d4..108eb8f1c6 100644 --- a/samples/maps/geo-map/display-esri-imagery/README.md +++ b/samples/maps/geo-map/display-esri-imagery/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Display Esri Imagery feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Display Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/display-esri-imagery ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/display-esri-imagery/package.json b/samples/maps/geo-map/display-esri-imagery/package.json index e8134d3f42..e3f4bed06e 100644 --- a/samples/maps/geo-map/display-esri-imagery/package.json +++ b/samples/maps/geo-map/display-esri-imagery/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/display-esri-imagery/sandbox.config.json b/samples/maps/geo-map/display-esri-imagery/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/display-esri-imagery/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-heat-imagery/.devcontainer/devcontainer.json b/samples/maps/geo-map/display-heat-imagery/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/display-heat-imagery/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-heat-imagery/.eslintrc.js b/samples/maps/geo-map/display-heat-imagery/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/display-heat-imagery/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/display-heat-imagery/README.md b/samples/maps/geo-map/display-heat-imagery/README.md index 4208287898..cd74bd5ca1 100644 --- a/samples/maps/geo-map/display-heat-imagery/README.md +++ b/samples/maps/geo-map/display-heat-imagery/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Display Heat Imagery feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Display Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/display-heat-imagery ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/display-heat-imagery/package.json b/samples/maps/geo-map/display-heat-imagery/package.json index 3d487006a1..d2e5432f86 100644 --- a/samples/maps/geo-map/display-heat-imagery/package.json +++ b/samples/maps/geo-map/display-heat-imagery/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/display-heat-imagery/sandbox.config.json b/samples/maps/geo-map/display-heat-imagery/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/display-heat-imagery/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-heat-imagery/src/index.tsx b/samples/maps/geo-map/display-heat-imagery/src/index.tsx index 93ba0b8e47..1adc978907 100644 --- a/samples/maps/geo-map/display-heat-imagery/src/index.tsx +++ b/samples/maps/geo-map/display-heat-imagery/src/index.tsx @@ -7,8 +7,6 @@ import { IgrGeographicTileSeries } from 'igniteui-react-maps'; import { IgrDataChartInteractivityModule } from 'igniteui-react-charts'; import { IgrHeatTileGenerator } from 'igniteui-react-core'; import { IgrTileGeneratorMapImagery } from 'igniteui-react-maps'; -// background worker -import Worker from "./heatworker.worker" IgrDataChartInteractivityModule.register(); IgrGeographicMapModule.register(); @@ -86,7 +84,8 @@ export default class MapDisplayImageryHeatTiles extends React.Component { gen.useGlobalMinMaxAdjustedForZoom = true; gen.useLogarithmicScale = true; gen.useWebWorkers = true; - gen.webWorkerInstance = new Worker(); + // background worker; Vite bundles it from this URL + gen.webWorkerInstance = new Worker(new URL("./heatworker.worker.ts", import.meta.url), { type: "module" }); gen.scaleColors = [ "rgba(0, 0, 255, .251)", "rgba(0, 255, 255, .3765)", "rgba(50,205,50, .2675)", "rgba(255, 255, 0, .7059)", diff --git a/samples/maps/geo-map/display-osm-imagery/.devcontainer/devcontainer.json b/samples/maps/geo-map/display-osm-imagery/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/display-osm-imagery/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/display-osm-imagery/.eslintrc.js b/samples/maps/geo-map/display-osm-imagery/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/display-osm-imagery/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/display-osm-imagery/README.md b/samples/maps/geo-map/display-osm-imagery/README.md index 2b608bb9de..704efe653e 100644 --- a/samples/maps/geo-map/display-osm-imagery/README.md +++ b/samples/maps/geo-map/display-osm-imagery/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Display Osm Imagery feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Display Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/display-osm-imagery ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/display-osm-imagery/package.json b/samples/maps/geo-map/display-osm-imagery/package.json index 3c7c37f016..dfbace6382 100644 --- a/samples/maps/geo-map/display-osm-imagery/package.json +++ b/samples/maps/geo-map/display-osm-imagery/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/display-osm-imagery/sandbox.config.json b/samples/maps/geo-map/display-osm-imagery/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/display-osm-imagery/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/marker-layouts/.devcontainer/devcontainer.json b/samples/maps/geo-map/marker-layouts/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/marker-layouts/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/marker-layouts/.eslintrc.js b/samples/maps/geo-map/marker-layouts/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/marker-layouts/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/marker-layouts/README.md b/samples/maps/geo-map/marker-layouts/README.md index 30f59f0ad3..cae364e8b5 100644 --- a/samples/maps/geo-map/marker-layouts/README.md +++ b/samples/maps/geo-map/marker-layouts/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Marker Layouts feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Marker Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/marker-layouts ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/marker-layouts/package.json b/samples/maps/geo-map/marker-layouts/package.json index f0adc15c08..e800789353 100644 --- a/samples/maps/geo-map/marker-layouts/package.json +++ b/samples/maps/geo-map/marker-layouts/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/marker-layouts/sandbox.config.json b/samples/maps/geo-map/marker-layouts/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/marker-layouts/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/marker-template/.devcontainer/devcontainer.json b/samples/maps/geo-map/marker-template/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/marker-template/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/marker-template/.eslintrc.js b/samples/maps/geo-map/marker-template/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/marker-template/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/marker-template/README.md b/samples/maps/geo-map/marker-template/README.md index b3c18b5583..6573121451 100644 --- a/samples/maps/geo-map/marker-template/README.md +++ b/samples/maps/geo-map/marker-template/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Marker Template feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Marker Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/marker-template ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/marker-template/package.json b/samples/maps/geo-map/marker-template/package.json index 1ff51dba57..e7a4f53c59 100644 --- a/samples/maps/geo-map/marker-template/package.json +++ b/samples/maps/geo-map/marker-template/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/marker-template/sandbox.config.json b/samples/maps/geo-map/marker-template/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/marker-template/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/marker-type/.devcontainer/devcontainer.json b/samples/maps/geo-map/marker-type/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/marker-type/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/marker-type/.eslintrc.js b/samples/maps/geo-map/marker-type/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/marker-type/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/marker-type/README.md b/samples/maps/geo-map/marker-type/README.md index 03ee6ffe49..c3bbcd692e 100644 --- a/samples/maps/geo-map/marker-type/README.md +++ b/samples/maps/geo-map/marker-type/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Marker Type feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Marker Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/marker-type ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/marker-type/package.json b/samples/maps/geo-map/marker-type/package.json index 6465421aa2..a1da98aecb 100644 --- a/samples/maps/geo-map/marker-type/package.json +++ b/samples/maps/geo-map/marker-type/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/marker-type/sandbox.config.json b/samples/maps/geo-map/marker-type/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/marker-type/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/nav-grid/.devcontainer/devcontainer.json b/samples/maps/geo-map/nav-grid/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/nav-grid/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/nav-grid/.eslintrc.js b/samples/maps/geo-map/nav-grid/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/nav-grid/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/nav-grid/README.md b/samples/maps/geo-map/nav-grid/README.md index b8897ffbdc..079d6f7db1 100644 --- a/samples/maps/geo-map/nav-grid/README.md +++ b/samples/maps/geo-map/nav-grid/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Nav Grid feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Nav Gri Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/nav-grid ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/nav-grid/package.json b/samples/maps/geo-map/nav-grid/package.json index 0bc96a9f19..3ffae6b916 100644 --- a/samples/maps/geo-map/nav-grid/package.json +++ b/samples/maps/geo-map/nav-grid/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/nav-grid/sandbox.config.json b/samples/maps/geo-map/nav-grid/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/nav-grid/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/navigation-only-panning/.devcontainer/devcontainer.json b/samples/maps/geo-map/navigation-only-panning/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/navigation-only-panning/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/navigation-only-panning/.eslintrc.js b/samples/maps/geo-map/navigation-only-panning/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/navigation-only-panning/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/navigation-only-panning/README.md b/samples/maps/geo-map/navigation-only-panning/README.md new file mode 100644 index 0000000000..36baae38c0 --- /dev/null +++ b/samples/maps/geo-map/navigation-only-panning/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Navigation Only Panning feature using [Geo Map](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/maps/geo-map/navigation-only-panning +``` + +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/maps/geo-map/navigation-only-panning/ReadMe.md b/samples/maps/geo-map/navigation-only-panning/ReadMe.md deleted file mode 100644 index 451725325e..0000000000 --- a/samples/maps/geo-map/navigation-only-panning/ReadMe.md +++ /dev/null @@ -1,56 +0,0 @@ - - - -This folder contains implementation of React application with example of Navigation Only Panning feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. - - - - - - View Docs - - - View Code - - - Run Sample - - - 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 -git checkout master -cd ./igniteui-react-examples -cd ./samples/maps/geo-map/navigation-only-panning -``` - -open above folder in VS Code or type: -``` -code . -``` - -In terminal window, run: -``` -npm install --legacy-peer-deps -npm run-script 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/maps/geo-map/navigation-only-panning/package.json b/samples/maps/geo-map/navigation-only-panning/package.json index aab5ab7929..d5508e507b 100644 --- a/samples/maps/geo-map/navigation-only-panning/package.json +++ b/samples/maps/geo-map/navigation-only-panning/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/navigation-only-panning/sandbox.config.json b/samples/maps/geo-map/navigation-only-panning/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/navigation-only-panning/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/navigation/.devcontainer/devcontainer.json b/samples/maps/geo-map/navigation/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/navigation/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/navigation/.eslintrc.js b/samples/maps/geo-map/navigation/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/navigation/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/navigation/README.md b/samples/maps/geo-map/navigation/README.md index 39c8dddbd3..6bcb4a12f8 100644 --- a/samples/maps/geo-map/navigation/README.md +++ b/samples/maps/geo-map/navigation/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Navigation feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Navigat Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/navigation ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/navigation/package.json b/samples/maps/geo-map/navigation/package.json index c66944e3f4..afca2887f2 100644 --- a/samples/maps/geo-map/navigation/package.json +++ b/samples/maps/geo-map/navigation/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/navigation/sandbox.config.json b/samples/maps/geo-map/navigation/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/navigation/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/overview/.devcontainer/devcontainer.json b/samples/maps/geo-map/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/overview/.eslintrc.js b/samples/maps/geo-map/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/overview/README.md b/samples/maps/geo-map/overview/README.md index 6e97c0a55f..79c9a72700 100644 --- a/samples/maps/geo-map/overview/README.md +++ b/samples/maps/geo-map/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/overview/package.json b/samples/maps/geo-map/overview/package.json index cb07052e52..ab78e076f7 100644 --- a/samples/maps/geo-map/overview/package.json +++ b/samples/maps/geo-map/overview/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/overview/sandbox.config.json b/samples/maps/geo-map/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/shape-selection/.devcontainer/devcontainer.json b/samples/maps/geo-map/shape-selection/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/shape-selection/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/shape-selection/.eslintrc.js b/samples/maps/geo-map/shape-selection/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/shape-selection/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/shape-selection/README.md b/samples/maps/geo-map/shape-selection/README.md index 239bd8ca84..fe81687d8d 100644 --- a/samples/maps/geo-map/shape-selection/README.md +++ b/samples/maps/geo-map/shape-selection/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Shape Selection feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Shape S Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/shape-selection ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/shape-selection/package.json b/samples/maps/geo-map/shape-selection/package.json index f450075794..ac76d958a2 100644 --- a/samples/maps/geo-map/shape-selection/package.json +++ b/samples/maps/geo-map/shape-selection/package.json @@ -16,22 +16,22 @@ "igniteui-react-core": "19.6.0", "igniteui-react-gauges": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "react-icons": "^5.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/shape-selection/sandbox.config.json b/samples/maps/geo-map/shape-selection/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/shape-selection/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/shape-styling/.devcontainer/devcontainer.json b/samples/maps/geo-map/shape-styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/shape-styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/shape-styling/.eslintrc.js b/samples/maps/geo-map/shape-styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/shape-styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/shape-styling/README.md b/samples/maps/geo-map/shape-styling/README.md index 64715d9ada..71c0acf6bf 100644 --- a/samples/maps/geo-map/shape-styling/README.md +++ b/samples/maps/geo-map/shape-styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Shape Styling feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Shape S Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/shape-styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/shape-styling/package.json b/samples/maps/geo-map/shape-styling/package.json index 3bc938108d..e112f966bf 100644 --- a/samples/maps/geo-map/shape-styling/package.json +++ b/samples/maps/geo-map/shape-styling/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/shape-styling/sandbox.config.json b/samples/maps/geo-map/shape-styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/shape-styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/synchronization/.devcontainer/devcontainer.json b/samples/maps/geo-map/synchronization/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/synchronization/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/synchronization/.eslintrc.js b/samples/maps/geo-map/synchronization/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/synchronization/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/synchronization/README.md b/samples/maps/geo-map/synchronization/README.md index ef16c210a7..f5bcb0d785 100644 --- a/samples/maps/geo-map/synchronization/README.md +++ b/samples/maps/geo-map/synchronization/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Synchronization feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Synchro Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/synchronization ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/synchronization/package.json b/samples/maps/geo-map/synchronization/package.json index 4f2feb19d3..052a0f0bdb 100644 --- a/samples/maps/geo-map/synchronization/package.json +++ b/samples/maps/geo-map/synchronization/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/synchronization/sandbox.config.json b/samples/maps/geo-map/synchronization/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/synchronization/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/triangulating-data/.devcontainer/devcontainer.json b/samples/maps/geo-map/triangulating-data/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/triangulating-data/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/triangulating-data/.eslintrc.js b/samples/maps/geo-map/triangulating-data/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/triangulating-data/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/triangulating-data/README.md b/samples/maps/geo-map/triangulating-data/README.md index 8f9f274c13..9e4f21c6c1 100644 --- a/samples/maps/geo-map/triangulating-data/README.md +++ b/samples/maps/geo-map/triangulating-data/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Triangulating Data feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Triangu Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/triangulating-data ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/triangulating-data/package.json b/samples/maps/geo-map/triangulating-data/package.json index 598dacc59b..012bc837c9 100644 --- a/samples/maps/geo-map/triangulating-data/package.json +++ b/samples/maps/geo-map/triangulating-data/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/triangulating-data/sandbox.config.json b/samples/maps/geo-map/triangulating-data/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/triangulating-data/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-area-series/.devcontainer/devcontainer.json b/samples/maps/geo-map/type-scatter-area-series/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/type-scatter-area-series/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-area-series/.eslintrc.js b/samples/maps/geo-map/type-scatter-area-series/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/type-scatter-area-series/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-area-series/README.md b/samples/maps/geo-map/type-scatter-area-series/README.md index 597b55a601..a6eb013054 100644 --- a/samples/maps/geo-map/type-scatter-area-series/README.md +++ b/samples/maps/geo-map/type-scatter-area-series/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Type Scatter Area Series feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Type Sc Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/type-scatter-area-series ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/type-scatter-area-series/package.json b/samples/maps/geo-map/type-scatter-area-series/package.json index 10b9f4fb68..3765eef4ff 100644 --- a/samples/maps/geo-map/type-scatter-area-series/package.json +++ b/samples/maps/geo-map/type-scatter-area-series/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/type-scatter-area-series/sandbox.config.json b/samples/maps/geo-map/type-scatter-area-series/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/type-scatter-area-series/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-bubble-series/.devcontainer/devcontainer.json b/samples/maps/geo-map/type-scatter-bubble-series/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/type-scatter-bubble-series/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-bubble-series/.eslintrc.js b/samples/maps/geo-map/type-scatter-bubble-series/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/type-scatter-bubble-series/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-bubble-series/README.md b/samples/maps/geo-map/type-scatter-bubble-series/README.md index 880eb1f4cf..f48f0b9179 100644 --- a/samples/maps/geo-map/type-scatter-bubble-series/README.md +++ b/samples/maps/geo-map/type-scatter-bubble-series/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Type Scatter Bubble Series feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Type Sc Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/type-scatter-bubble-series ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/type-scatter-bubble-series/package.json b/samples/maps/geo-map/type-scatter-bubble-series/package.json index 46f9b8bd21..e8a220a00e 100644 --- a/samples/maps/geo-map/type-scatter-bubble-series/package.json +++ b/samples/maps/geo-map/type-scatter-bubble-series/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/type-scatter-bubble-series/sandbox.config.json b/samples/maps/geo-map/type-scatter-bubble-series/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/type-scatter-bubble-series/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-contour-series/.devcontainer/devcontainer.json b/samples/maps/geo-map/type-scatter-contour-series/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/type-scatter-contour-series/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-contour-series/.eslintrc.js b/samples/maps/geo-map/type-scatter-contour-series/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/type-scatter-contour-series/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-contour-series/README.md b/samples/maps/geo-map/type-scatter-contour-series/README.md index 568fb5e3cc..76b509db79 100644 --- a/samples/maps/geo-map/type-scatter-contour-series/README.md +++ b/samples/maps/geo-map/type-scatter-contour-series/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Type Scatter Contour Series feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Type Sc Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/type-scatter-contour-series ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/type-scatter-contour-series/package.json b/samples/maps/geo-map/type-scatter-contour-series/package.json index 0636baefad..8f6b36c55a 100644 --- a/samples/maps/geo-map/type-scatter-contour-series/package.json +++ b/samples/maps/geo-map/type-scatter-contour-series/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/type-scatter-contour-series/sandbox.config.json b/samples/maps/geo-map/type-scatter-contour-series/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/type-scatter-contour-series/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-density-series/.devcontainer/devcontainer.json b/samples/maps/geo-map/type-scatter-density-series/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/type-scatter-density-series/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-density-series/.eslintrc.js b/samples/maps/geo-map/type-scatter-density-series/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/type-scatter-density-series/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-density-series/README.md b/samples/maps/geo-map/type-scatter-density-series/README.md index 46079d4f8c..c6c4e91f98 100644 --- a/samples/maps/geo-map/type-scatter-density-series/README.md +++ b/samples/maps/geo-map/type-scatter-density-series/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Type Scatter Density Series feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Type Sc Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/type-scatter-density-series ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/type-scatter-density-series/package.json b/samples/maps/geo-map/type-scatter-density-series/package.json index 761fcb3f65..3ee9d560c7 100644 --- a/samples/maps/geo-map/type-scatter-density-series/package.json +++ b/samples/maps/geo-map/type-scatter-density-series/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/type-scatter-density-series/sandbox.config.json b/samples/maps/geo-map/type-scatter-density-series/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/type-scatter-density-series/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-symbol-series/.devcontainer/devcontainer.json b/samples/maps/geo-map/type-scatter-symbol-series/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/type-scatter-symbol-series/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-symbol-series/.eslintrc.js b/samples/maps/geo-map/type-scatter-symbol-series/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/type-scatter-symbol-series/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/type-scatter-symbol-series/README.md b/samples/maps/geo-map/type-scatter-symbol-series/README.md index fa5cb95fcb..62134f2219 100644 --- a/samples/maps/geo-map/type-scatter-symbol-series/README.md +++ b/samples/maps/geo-map/type-scatter-symbol-series/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Type Scatter Symbol Series feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Type Sc Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/type-scatter-symbol-series ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/type-scatter-symbol-series/package.json b/samples/maps/geo-map/type-scatter-symbol-series/package.json index deb9db1f9b..d2cc327bdb 100644 --- a/samples/maps/geo-map/type-scatter-symbol-series/package.json +++ b/samples/maps/geo-map/type-scatter-symbol-series/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/type-scatter-symbol-series/sandbox.config.json b/samples/maps/geo-map/type-scatter-symbol-series/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/type-scatter-symbol-series/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-shape-polygon-series/.devcontainer/devcontainer.json b/samples/maps/geo-map/type-shape-polygon-series/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/type-shape-polygon-series/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-shape-polygon-series/.eslintrc.js b/samples/maps/geo-map/type-shape-polygon-series/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/type-shape-polygon-series/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/type-shape-polygon-series/README.md b/samples/maps/geo-map/type-shape-polygon-series/README.md index d19559c162..2d817e3c49 100644 --- a/samples/maps/geo-map/type-shape-polygon-series/README.md +++ b/samples/maps/geo-map/type-shape-polygon-series/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Type Shape Polygon Series feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Type Sh Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/type-shape-polygon-series ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/type-shape-polygon-series/package.json b/samples/maps/geo-map/type-shape-polygon-series/package.json index 4b0bb74309..f60bfe4c62 100644 --- a/samples/maps/geo-map/type-shape-polygon-series/package.json +++ b/samples/maps/geo-map/type-shape-polygon-series/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/type-shape-polygon-series/sandbox.config.json b/samples/maps/geo-map/type-shape-polygon-series/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/type-shape-polygon-series/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-shape-polyline-series/.devcontainer/devcontainer.json b/samples/maps/geo-map/type-shape-polyline-series/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/maps/geo-map/type-shape-polyline-series/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/maps/geo-map/type-shape-polyline-series/.eslintrc.js b/samples/maps/geo-map/type-shape-polyline-series/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/maps/geo-map/type-shape-polyline-series/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/maps/geo-map/type-shape-polyline-series/README.md b/samples/maps/geo-map/type-shape-polyline-series/README.md index cd08cf8220..a3ea7347ee 100644 --- a/samples/maps/geo-map/type-shape-polyline-series/README.md +++ b/samples/maps/geo-map/type-shape-polyline-series/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Type Shape Polyline Series feature using [Geo Map](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Type Sh Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/maps/geo-map/type-shape-polyline-series ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/maps/geo-map/type-shape-polyline-series/package.json b/samples/maps/geo-map/type-shape-polyline-series/package.json index a63607a96c..78787588a7 100644 --- a/samples/maps/geo-map/type-shape-polyline-series/package.json +++ b/samples/maps/geo-map/type-shape-polyline-series/package.json @@ -15,21 +15,21 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-maps": "19.6.0", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/maps/geo-map/type-shape-polyline-series/sandbox.config.json b/samples/maps/geo-map/type-shape-polyline-series/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/maps/geo-map/type-shape-polyline-series/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/menus/nav-bar/overview/.devcontainer/devcontainer.json b/samples/menus/nav-bar/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/menus/nav-bar/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/menus/nav-bar/overview/.eslintrc.js b/samples/menus/nav-bar/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/menus/nav-bar/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/menus/nav-bar/overview/README.md b/samples/menus/nav-bar/overview/README.md index d092193e37..44035a7587 100644 --- a/samples/menus/nav-bar/overview/README.md +++ b/samples/menus/nav-bar/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Nav Bar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/menus/nav-bar/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/menus/nav-bar/overview/package.json b/samples/menus/nav-bar/overview/package.json index 02780581f0..1ffd06a9b5 100644 --- a/samples/menus/nav-bar/overview/package.json +++ b/samples/menus/nav-bar/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/menus/nav-bar/overview/sandbox.config.json b/samples/menus/nav-bar/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/menus/nav-bar/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/menus/nav-bar/overview/src/index.tsx b/samples/menus/nav-bar/overview/src/index.tsx index b3b0e6d8a9..5240617ac0 100644 --- a/samples/menus/nav-bar/overview/src/index.tsx +++ b/samples/menus/nav-bar/overview/src/index.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrNavbar, IgrIcon, registerIconFromText } from 'igniteui-react'; @@ -9,39 +8,33 @@ const searchIcon = ' { +registerIconFromText("home", homeIcon, "material"); +registerIconFromText("search", searchIcon, "material"); +registerIconFromText("favorite", favoriteIcon, "material"); +registerIconFromText("more_vert", moreVertIcon, "material"); - constructor(props: any) { - super(props); - registerIconFromText("home", homeIcon, "material"); - registerIconFromText("search", searchIcon, "material"); - registerIconFromText("favorite", favoriteIcon, "material"); - registerIconFromText("more_vert", moreVertIcon, "material"); - } - - public render(): JSX.Element { - return ( -
- -
- -
-

Sample App

-
- -
-
- -
-
- -
-
-
- ); - } +export default function NavbarOverview() { + return ( +
+ +
+ +
+

Sample App

+
+ +
+
+ +
+
+ +
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/menus/nav-bar/overview/tsconfig.json b/samples/menus/nav-bar/overview/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/menus/nav-bar/overview/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/menus/nav-bar/styling/.devcontainer/devcontainer.json b/samples/menus/nav-bar/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/menus/nav-bar/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/menus/nav-bar/styling/.eslintrc.js b/samples/menus/nav-bar/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/menus/nav-bar/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/menus/nav-bar/styling/README.md b/samples/menus/nav-bar/styling/README.md index 83075ed12f..d82e0ce15f 100644 --- a/samples/menus/nav-bar/styling/README.md +++ b/samples/menus/nav-bar/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Nav Bar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/menus/nav-bar/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/menus/nav-bar/styling/package.json b/samples/menus/nav-bar/styling/package.json index eb36c39642..232f28475b 100644 --- a/samples/menus/nav-bar/styling/package.json +++ b/samples/menus/nav-bar/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/menus/nav-bar/styling/sandbox.config.json b/samples/menus/nav-bar/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/menus/nav-bar/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/menus/nav-bar/styling/src/index.tsx b/samples/menus/nav-bar/styling/src/index.tsx index d8b2134ad5..e622eca37a 100644 --- a/samples/menus/nav-bar/styling/src/index.tsx +++ b/samples/menus/nav-bar/styling/src/index.tsx @@ -1,51 +1,41 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import './NavbarStyling.css'; -import { IgrNavbar, IgrIcon, IgrNavbarModule, IgrIconModule, registerIconFromText } from 'igniteui-react'; +import { IgrNavbar, IgrIcon, registerIconFromText } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -IgrNavbarModule.register(); -IgrIconModule.register(); - const homeIcon = ''; const searchIcon = ''; const favoriteIcon = ''; const moreVertIcon = ''; -export default class NavbarStyling extends React.Component { - - constructor(props: any) { - super(props); - registerIconFromText("home", homeIcon, "material"); - registerIconFromText("search", searchIcon, "material"); - registerIconFromText("favorite", favoriteIcon, "material"); - registerIconFromText("more_vert", moreVertIcon, "material"); - } +registerIconFromText("home", homeIcon, "material"); +registerIconFromText("search", searchIcon, "material"); +registerIconFromText("favorite", favoriteIcon, "material"); +registerIconFromText("more_vert", moreVertIcon, "material"); - public render(): JSX.Element { - return ( -
- -
- -
-

Sample App

-
- -
-
- -
-
- -
-
-
- ); - } +export default function NavbarStyling() { + return ( +
+ +
+ +
+

Sample App

+
+ +
+
+ +
+
+ +
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/menus/nav-bar/styling/tsconfig.json b/samples/menus/nav-bar/styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/menus/nav-bar/styling/tsconfig.json +++ b/samples/menus/nav-bar/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/menus/nav-drawer/add-drawer-items/.devcontainer/devcontainer.json b/samples/menus/nav-drawer/add-drawer-items/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/menus/nav-drawer/add-drawer-items/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/menus/nav-drawer/add-drawer-items/.eslintrc.js b/samples/menus/nav-drawer/add-drawer-items/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/menus/nav-drawer/add-drawer-items/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/menus/nav-drawer/add-drawer-items/README.md b/samples/menus/nav-drawer/add-drawer-items/README.md index 5681d4e617..cd3d193ec3 100644 --- a/samples/menus/nav-drawer/add-drawer-items/README.md +++ b/samples/menus/nav-drawer/add-drawer-items/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Add Drawer Items feature using [Nav Drawer](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Add Dra Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/menus/nav-drawer/add-drawer-items ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/menus/nav-drawer/add-drawer-items/package.json b/samples/menus/nav-drawer/add-drawer-items/package.json index 7b2a00f2be..597b4f0cd6 100644 --- a/samples/menus/nav-drawer/add-drawer-items/package.json +++ b/samples/menus/nav-drawer/add-drawer-items/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/menus/nav-drawer/add-drawer-items/sandbox.config.json b/samples/menus/nav-drawer/add-drawer-items/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/menus/nav-drawer/add-drawer-items/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/menus/nav-drawer/add-drawer-items/src/index.tsx b/samples/menus/nav-drawer/add-drawer-items/src/index.tsx index 7a1b72f216..4cbda03315 100644 --- a/samples/menus/nav-drawer/add-drawer-items/src/index.tsx +++ b/samples/menus/nav-drawer/add-drawer-items/src/index.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import { useRef, type MouseEvent } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrNavDrawer, IgrNavDrawerHeaderItem, IgrNavDrawerItem, IgrIcon, IgrIconButton, registerIconFromText } from 'igniteui-react'; @@ -8,81 +8,62 @@ const searchIcon = ''; const menuIcon = ''; -export default class NavDrawerAddDrawerItems extends React.Component { - private navDrawer: IgrNavDrawer; +registerIconFromText("home", homeIcon, "material"); +registerIconFromText("search", searchIcon, "material"); +registerIconFromText("menu", menuIcon, "material"); - constructor(props: any) { - super(props); - this.onNavDrawerClick = this.onNavDrawerClick.bind(this); - this.toggleDrawer = this.toggleDrawer.bind(this); - this.navDrawerRef = this.navDrawerRef.bind(this); +export default function NavDrawerAddDrawerItems() { + const navDrawer = useRef(null); - registerIconFromText("home", homeIcon, "material"); - registerIconFromText("search", searchIcon, "material"); - registerIconFromText("menu", menuIcon, "material"); + function toggleDrawer() { + navDrawer.current?.toggle(); } - public render(): JSX.Element { - return ( -
- - -
- - - Sample Drawer - - - -
- -
- Home -
- - -
- -
- Search -
-
-
-
- ); - } - - public navDrawerRef(navDrawer: IgrNavDrawer) { - if (!navDrawer) { return; } - this.navDrawer = navDrawer; - } - - public toggleDrawer() { - if (this.navDrawer) { - this.navDrawer.toggle(); - } - } - - public onNavDrawerClick(e: any) { - const drawerItem: any = e.target.closest('igc-nav-drawer-item') ?? - (e.target.parentElement?.closest('igc-nav-drawer-item') ?? - null) - + // Mark the clicked item active and its siblings inactive + function onNavDrawerClick(e: MouseEvent) { + const drawerItem = (e.target as Element).closest('igc-nav-drawer-item'); if (!drawerItem) { return; } drawerItem.active = true; - const navDrawer = drawerItem.parentElement; - Array.from(navDrawer.querySelectorAll('igc-nav-drawer-item')) - .filter((item: any) => item !== drawerItem) - .forEach((child: any) => child.active = false); + const parent = drawerItem.parentElement!; + Array.from(parent.querySelectorAll('igc-nav-drawer-item')) + .filter(item => item !== drawerItem) + .forEach(child => child.active = false); } + return ( +
+ + +
+ + + Sample Drawer + + + +
+ +
+ Home +
+ + +
+ +
+ Search +
+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); -root.render(); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/menus/nav-drawer/add-drawer-items/tsconfig.json b/samples/menus/nav-drawer/add-drawer-items/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/menus/nav-drawer/add-drawer-items/tsconfig.json +++ b/samples/menus/nav-drawer/add-drawer-items/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/menus/nav-drawer/add-mini/.devcontainer/devcontainer.json b/samples/menus/nav-drawer/add-mini/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/menus/nav-drawer/add-mini/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/menus/nav-drawer/add-mini/.eslintrc.js b/samples/menus/nav-drawer/add-mini/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/menus/nav-drawer/add-mini/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/menus/nav-drawer/add-mini/README.md b/samples/menus/nav-drawer/add-mini/README.md index ef83cdc987..c8891655f2 100644 --- a/samples/menus/nav-drawer/add-mini/README.md +++ b/samples/menus/nav-drawer/add-mini/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Add Mini feature using [Nav Drawer](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Add Min Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/menus/nav-drawer/add-mini ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/menus/nav-drawer/add-mini/package.json b/samples/menus/nav-drawer/add-mini/package.json index 54634719c7..e32c153401 100644 --- a/samples/menus/nav-drawer/add-mini/package.json +++ b/samples/menus/nav-drawer/add-mini/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/menus/nav-drawer/add-mini/sandbox.config.json b/samples/menus/nav-drawer/add-mini/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/menus/nav-drawer/add-mini/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/menus/nav-drawer/add-mini/src/index.tsx b/samples/menus/nav-drawer/add-mini/src/index.tsx index ce7485b502..a347e47dae 100644 --- a/samples/menus/nav-drawer/add-mini/src/index.tsx +++ b/samples/menus/nav-drawer/add-mini/src/index.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import { useRef, type MouseEvent } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrNavDrawer, IgrNavDrawerItem, IgrIcon, IgrButton, registerIconFromText } from 'igniteui-react'; @@ -7,102 +7,81 @@ import 'igniteui-webcomponents/themes/light/bootstrap.css'; const searchIcon = ''; const homeIcon = ''; -export default class NavDrawerAddMini extends React.Component { - public navDrawer: IgrNavDrawer; +registerIconFromText("home", homeIcon, "material"); +registerIconFromText("search", searchIcon, "material"); - constructor(props: any) { - super(props); - this.onNavDrawerClick = this.onNavDrawerClick.bind(this); - this.navDrawerRef = this.navDrawerRef.bind(this); - this.onButtonClick = this.onButtonClick.bind(this); +export default function NavDrawerAddMini() { + const navDrawer = useRef(null); - registerIconFromText("home", homeIcon, "material"); - registerIconFromText("search", searchIcon, "material"); + // Mark the clicked item active and its siblings inactive + function onNavDrawerClick(e: MouseEvent) { + const drawerItem = (e.target as Element).closest('igc-nav-drawer-item'); + if (!drawerItem) { return; } + + drawerItem.active = true; + const parent = drawerItem.parentElement!; + Array.from(parent.querySelectorAll('igc-nav-drawer-item')) + .filter(item => item !== drawerItem) + .forEach(child => child.active = false); + + // Sync the matching item in the other variant (main <-> mini) + const iconName = drawerItem.querySelector('igc-icon')!.name; + const icons = document.querySelectorAll('igc-icon'); + + icons.forEach(icon => { + const parentItem = icon.parentElement!.closest('igc-nav-drawer-item'); + if (!parentItem) { return; } + + parentItem.active = icon.name === iconName; + }); + } + + function onButtonClick() { + navDrawer.current?.toggle(); } - public render(): JSX.Element { - return ( -
-
- - Toggle - -
-
- - + return ( +
+
+ + Toggle + +
+
+ + +
+ +
+ Home +
+ + +
+ +
+ Search +
+ +
+
- Home
- Search
- -
- -
- -
-
- - -
- -
-
-
- -
+
+
- ); - } - - public navDrawerRef(navDrawer: IgrNavDrawer) { - if (!navDrawer) { return; } - this.navDrawer = navDrawer; - } - - public onNavDrawerClick(e: any) { - const drawerItem: any = e.target.closest('igc-nav-drawer-item') ?? - (e.target.parentElement?.closest('igc-nav-drawer-item') ?? - null) - - if (!drawerItem) { return; } - - drawerItem.active = true; - const navDrawer = drawerItem.parentElement; - Array.from(navDrawer.querySelectorAll('igc-nav-drawer-item')) - .filter((item: any) => item !== drawerItem) - .forEach((child: any) => child.active = false); - - const iconName = drawerItem.querySelector('igc-icon')!.name; - const icons = document.querySelectorAll(`igc-icon`); - - icons.forEach((icon: any) => { - const parentItem = icon.parentElement!.closest('igc-nav-drawer-item') as IgrNavDrawerItem; - if (!parentItem) { return; } - - if (icon.name === iconName) { - parentItem.active = true; - } else { - parentItem.active = false; - } - }); - } - - public onButtonClick() { - if (this.navDrawer) { - this.navDrawer.toggle(); - } - } +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); -root.render(); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/menus/nav-drawer/add-mini/tsconfig.json b/samples/menus/nav-drawer/add-mini/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/menus/nav-drawer/add-mini/tsconfig.json +++ b/samples/menus/nav-drawer/add-mini/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/menus/nav-drawer/add-positions-navbar/.devcontainer/devcontainer.json b/samples/menus/nav-drawer/add-positions-navbar/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/menus/nav-drawer/add-positions-navbar/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/menus/nav-drawer/add-positions-navbar/.eslintrc.js b/samples/menus/nav-drawer/add-positions-navbar/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/menus/nav-drawer/add-positions-navbar/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/menus/nav-drawer/add-positions-navbar/README.md b/samples/menus/nav-drawer/add-positions-navbar/README.md index 5d116dd88d..72dd911d4f 100644 --- a/samples/menus/nav-drawer/add-positions-navbar/README.md +++ b/samples/menus/nav-drawer/add-positions-navbar/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Add Positions Navbar feature using [Nav Drawer](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Add Pos Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/menus/nav-drawer/add-positions-navbar ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/menus/nav-drawer/add-positions-navbar/package.json b/samples/menus/nav-drawer/add-positions-navbar/package.json index 9138bf9a2f..e65838b47c 100644 --- a/samples/menus/nav-drawer/add-positions-navbar/package.json +++ b/samples/menus/nav-drawer/add-positions-navbar/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/menus/nav-drawer/add-positions-navbar/sandbox.config.json b/samples/menus/nav-drawer/add-positions-navbar/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/menus/nav-drawer/add-positions-navbar/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/menus/nav-drawer/add-positions-navbar/src/index.tsx b/samples/menus/nav-drawer/add-positions-navbar/src/index.tsx index 5e6aea8b7f..e2368d330b 100644 --- a/samples/menus/nav-drawer/add-positions-navbar/src/index.tsx +++ b/samples/menus/nav-drawer/add-positions-navbar/src/index.tsx @@ -1,116 +1,95 @@ -import React from 'react'; +import { useRef, useState, type MouseEvent } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrNavbar, IgrNavDrawer, IgrNavDrawerHeaderItem, IgrNavDrawerItem, IgrIcon, IgrRadioGroup, IgrRadio, registerIconFromText, IgrRadioChangeEventArgs } from 'igniteui-react'; +import { IgrNavbar, IgrNavDrawer, IgrNavDrawerHeaderItem, IgrNavDrawerItem, IgrIcon, IgrRadioGroup, IgrRadio, registerIconFromText, IgrRadioChangeEventArgs, type NavDrawerPosition } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; const searchIcon = ''; const homeIcon = ''; const menuIcon = ''; -export default class NavDrawerAddPositionsNavbar extends React.Component { +registerIconFromText("home", homeIcon, "material"); +registerIconFromText("search", searchIcon, "material"); +registerIconFromText("menu", menuIcon, "material"); - public navDrawer: IgrNavDrawer; +export default function NavDrawerAddPositionsNavbar() { + const navDrawer = useRef(null); + const [drawerPosition, setDrawerPosition] = useState("start"); + const [title, setTitle] = useState("Home"); - constructor(props: any) { - super(props); - - this.state = { drawerPosition: "start", title: "Home" }; - - registerIconFromText("home", homeIcon, "material"); - registerIconFromText("search", searchIcon, "material"); - registerIconFromText("menu", menuIcon, "material"); - - this.navDrawerRef = this.navDrawerRef.bind(this); - this.onMenuIconClick = this.onMenuIconClick.bind(this); - this.onNavDrawerClick = this.onNavDrawerClick.bind(this); - this.onRadioChange = this.onRadioChange.bind(this); + function onMenuIconClick() { + navDrawer.current?.show(); } - public render(): JSX.Element { - return ( -
-
- - - Sample Drawer - - - -
- -
- Home -
- - -
- -
- Search -
-
-
-
- - - Start - - - End - - - Top - - - Bottom - - - -
- -
-

{this.state.title}

-
-
-
- ); - } - - public onMenuIconClick() { - if (this.navDrawer) { - this.navDrawer.show(); - } - } - - public onNavDrawerClick(e: any) { - const drawerItem: any = e.target.closest('igc-nav-drawer-item') ?? - (e.target.parentElement?.closest('igc-nav-drawer-item') ?? - null) - + // Mark the clicked item active and its siblings inactive + function onNavDrawerClick(e: MouseEvent) { + const drawerItem = (e.target as Element).closest('igc-nav-drawer-item'); if (!drawerItem) { return; } drawerItem.active = true; - const navDrawer = drawerItem.parentElement; - Array.from(navDrawer.querySelectorAll('igc-nav-drawer-item')) - .filter((item: any) => item !== drawerItem) - .forEach((child: any) => child.active = false); + const parent = drawerItem.parentElement!; + Array.from(parent.querySelectorAll('igc-nav-drawer-item')) + .filter(item => item !== drawerItem) + .forEach(child => child.active = false); - this.setState({ title: drawerItem.textContent }); + setTitle(drawerItem.textContent); } - public navDrawerRef(navDrawer: IgrNavDrawer) { - if (!navDrawer) { return; } - this.navDrawer = navDrawer; - } - - public onRadioChange(e: IgrRadioChangeEventArgs) { + function onRadioChange(e: IgrRadioChangeEventArgs) { if (e.detail.checked) { - this.setState({ drawerPosition: e.detail.value }); + setDrawerPosition(e.detail.value as NavDrawerPosition); } } + + return ( +
+
+ + + Sample Drawer + + + +
+ +
+ Home +
+ + +
+ +
+ Search +
+
+
+
+ + + Start + + + End + + + Top + + + Bottom + + + +
+ +
+

{title}

+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); -root.render(); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/menus/nav-drawer/add-positions-navbar/tsconfig.json b/samples/menus/nav-drawer/add-positions-navbar/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/menus/nav-drawer/add-positions-navbar/tsconfig.json +++ b/samples/menus/nav-drawer/add-positions-navbar/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/menus/nav-drawer/styling/.devcontainer/devcontainer.json b/samples/menus/nav-drawer/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/menus/nav-drawer/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/menus/nav-drawer/styling/.eslintrc.js b/samples/menus/nav-drawer/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/menus/nav-drawer/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/menus/nav-drawer/styling/README.md b/samples/menus/nav-drawer/styling/README.md index 5dcc85c10f..c6176e1b37 100644 --- a/samples/menus/nav-drawer/styling/README.md +++ b/samples/menus/nav-drawer/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Nav Drawer](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/menus/nav-drawer/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/menus/nav-drawer/styling/package.json b/samples/menus/nav-drawer/styling/package.json index 2795a9e268..4a18db5f38 100644 --- a/samples/menus/nav-drawer/styling/package.json +++ b/samples/menus/nav-drawer/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/menus/nav-drawer/styling/sandbox.config.json b/samples/menus/nav-drawer/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/menus/nav-drawer/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/menus/nav-drawer/styling/src/index.tsx b/samples/menus/nav-drawer/styling/src/index.tsx index 0c1b4359f6..315fff1849 100644 --- a/samples/menus/nav-drawer/styling/src/index.tsx +++ b/samples/menus/nav-drawer/styling/src/index.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import { useRef, type MouseEvent } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import './NavDrawerStyling.css'; @@ -9,80 +9,62 @@ const searchIcon = ''; const menuIcon = ''; -export default class NavDrawerStyling extends React.Component { - private navDrawer: IgrNavDrawer; +registerIconFromText("home", homeIcon, "material"); +registerIconFromText("search", searchIcon, "material"); +registerIconFromText("menu", menuIcon, "material"); - constructor(props: any) { - super(props); - this.onNavDrawerClick = this.onNavDrawerClick.bind(this); - this.navDrawerRef = this.navDrawerRef.bind(this); - this.toggleDrawer = this.toggleDrawer.bind(this); +export default function NavDrawerStyling() { + const navDrawer = useRef(null); - registerIconFromText("home", homeIcon, "material"); - registerIconFromText("search", searchIcon, "material"); - registerIconFromText("menu", menuIcon, "material"); + function toggleDrawer() { + navDrawer.current?.toggle(); } - public render(): JSX.Element { - return ( -
- - -
- - - Sample Drawer - - - -
- -
- Home -
- - -
- -
- Search -
-
-
-
- ); - } - - public toggleDrawer() { - if (this.navDrawer) { - this.navDrawer.toggle(); - } - } - - public onNavDrawerClick(e: any) { - const drawerItem: any = e.target.closest('igc-nav-drawer-item') ?? - (e.target.parentElement?.closest('igc-nav-drawer-item') ?? - null) - + // Mark the clicked item active and its siblings inactive + function onNavDrawerClick(e: MouseEvent) { + const drawerItem = (e.target as Element).closest('igc-nav-drawer-item'); if (!drawerItem) { return; } drawerItem.active = true; - const navDrawer = drawerItem.parentElement; - Array.from(navDrawer.querySelectorAll('igc-nav-drawer-item')) - .filter((item: any) => item !== drawerItem) - .forEach((child: any) => child.active = false); + const parent = drawerItem.parentElement!; + Array.from(parent.querySelectorAll('igc-nav-drawer-item')) + .filter(item => item !== drawerItem) + .forEach(child => child.active = false); } - public navDrawerRef(navDrawer: IgrNavDrawer) { - if (!navDrawer) { return; } - this.navDrawer = navDrawer; - } + return ( +
+ + +
+ + + Sample Drawer + + + +
+ +
+ Home +
+ + +
+ +
+ Search +
+
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); -root.render(); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/menus/nav-drawer/styling/tsconfig.json b/samples/menus/nav-drawer/styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/menus/nav-drawer/styling/tsconfig.json +++ b/samples/menus/nav-drawer/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/notifications/banner/banner-advanced-sample/.devcontainer/devcontainer.json b/samples/notifications/banner/banner-advanced-sample/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/banner/banner-advanced-sample/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/banner/banner-advanced-sample/.eslintrc.js b/samples/notifications/banner/banner-advanced-sample/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/banner/banner-advanced-sample/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/banner/banner-advanced-sample/README.md b/samples/notifications/banner/banner-advanced-sample/README.md index 388a198cb1..04cc77dcc1 100644 --- a/samples/notifications/banner/banner-advanced-sample/README.md +++ b/samples/notifications/banner/banner-advanced-sample/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Advanced Sample feature using [Banner](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Advance Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/banner/banner-advanced-sample ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/banner/banner-advanced-sample/package.json b/samples/notifications/banner/banner-advanced-sample/package.json index c5d3e1286c..31cb6651da 100644 --- a/samples/notifications/banner/banner-advanced-sample/package.json +++ b/samples/notifications/banner/banner-advanced-sample/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/banner/banner-advanced-sample/sandbox.config.json b/samples/notifications/banner/banner-advanced-sample/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/banner/banner-advanced-sample/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/banner/banner-sample-1/.devcontainer/devcontainer.json b/samples/notifications/banner/banner-sample-1/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/banner/banner-sample-1/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/banner/banner-sample-1/.eslintrc.js b/samples/notifications/banner/banner-sample-1/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/banner/banner-sample-1/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/banner/banner-sample-1/README.md b/samples/notifications/banner/banner-sample-1/README.md index fd9533e155..186a3a690d 100644 --- a/samples/notifications/banner/banner-sample-1/README.md +++ b/samples/notifications/banner/banner-sample-1/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Sample1 feature using [Banner](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Sample1 Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/banner/banner-sample-1 ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/banner/banner-sample-1/package.json b/samples/notifications/banner/banner-sample-1/package.json index 5d7d68aac0..2631f9a0f6 100644 --- a/samples/notifications/banner/banner-sample-1/package.json +++ b/samples/notifications/banner/banner-sample-1/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/banner/banner-sample-1/sandbox.config.json b/samples/notifications/banner/banner-sample-1/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/banner/banner-sample-1/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/banner/banner-sample-2/.devcontainer/devcontainer.json b/samples/notifications/banner/banner-sample-2/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/banner/banner-sample-2/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/banner/banner-sample-2/.eslintrc.js b/samples/notifications/banner/banner-sample-2/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/banner/banner-sample-2/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/banner/banner-sample-2/README.md b/samples/notifications/banner/banner-sample-2/README.md index 849459b4b3..3e17eaa3f1 100644 --- a/samples/notifications/banner/banner-sample-2/README.md +++ b/samples/notifications/banner/banner-sample-2/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Sample2 feature using [Banner](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Sample2 Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/banner/banner-sample-2 ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/banner/banner-sample-2/package.json b/samples/notifications/banner/banner-sample-2/package.json index 1cb0b6f133..300a542061 100644 --- a/samples/notifications/banner/banner-sample-2/package.json +++ b/samples/notifications/banner/banner-sample-2/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/banner/banner-sample-2/sandbox.config.json b/samples/notifications/banner/banner-sample-2/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/banner/banner-sample-2/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/banner/banner-styling/.devcontainer/devcontainer.json b/samples/notifications/banner/banner-styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/banner/banner-styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/banner/banner-styling/.eslintrc.js b/samples/notifications/banner/banner-styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/banner/banner-styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/banner/banner-styling/README.md b/samples/notifications/banner/banner-styling/README.md index a771d9dc7b..c581a4e929 100644 --- a/samples/notifications/banner/banner-styling/README.md +++ b/samples/notifications/banner/banner-styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Banner](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/banner/banner-styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/banner/banner-styling/package.json b/samples/notifications/banner/banner-styling/package.json index 90b320f16e..6fa5e4ce5b 100644 --- a/samples/notifications/banner/banner-styling/package.json +++ b/samples/notifications/banner/banner-styling/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/banner/banner-styling/sandbox.config.json b/samples/notifications/banner/banner-styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/banner/banner-styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/dialog/closing-variations/.devcontainer/devcontainer.json b/samples/notifications/dialog/closing-variations/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/dialog/closing-variations/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/dialog/closing-variations/.eslintrc.js b/samples/notifications/dialog/closing-variations/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/dialog/closing-variations/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/dialog/closing-variations/README.md b/samples/notifications/dialog/closing-variations/README.md index 2d9a35f02a..7cba0e12a3 100644 --- a/samples/notifications/dialog/closing-variations/README.md +++ b/samples/notifications/dialog/closing-variations/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Closing Variations feature using [Dialog](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Closing Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/dialog/closing-variations ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/dialog/closing-variations/package.json b/samples/notifications/dialog/closing-variations/package.json index 41e5d1efb5..15ec33ce25 100644 --- a/samples/notifications/dialog/closing-variations/package.json +++ b/samples/notifications/dialog/closing-variations/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/dialog/closing-variations/sandbox.config.json b/samples/notifications/dialog/closing-variations/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/dialog/closing-variations/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/dialog/closing-variations/src/index.tsx b/samples/notifications/dialog/closing-variations/src/index.tsx index 89e4dd701b..5d74438aca 100644 --- a/samples/notifications/dialog/closing-variations/src/index.tsx +++ b/samples/notifications/dialog/closing-variations/src/index.tsx @@ -1,69 +1,48 @@ -import React from 'react'; +import { useRef } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrButton, IgrDialog, IgrSwitch } from 'igniteui-react'; +import { IgrButton, IgrDialog, IgrSwitch, type IgrCheckboxChangeEventArgs } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class DialogClosingVariations extends React.Component { +export default function DialogClosingVariations() { + const dialog = useRef(null); - public dialogRef: IgrDialog; - - constructor(props: any) { - super(props); - this.onDialogRef = this.onDialogRef.bind(this); - this.onDialogShow = this.onDialogShow.bind(this); - this.onDialogHide = this.onDialogHide.bind(this); - this.onSwitchChangeEscape = this.onSwitchChangeEscape.bind(this); - this.onSwitchChangeClick = this.onSwitchChangeClick.bind(this); - } - - public render(): JSX.Element { - return ( -
- keepOpenOnEscape - closeOnOutsideClick - - - Show Dialog - - - -

Are you sure you want to delete the Annual_Report_2016.pdf and Annual_Report_2017.pdf files?

-
- Cancel - OK -
-
-
- ); - } - - public onDialogRef(dialog: IgrDialog){ - if (!dialog) { return; } - this.dialogRef = dialog; + function onDialogShow() { + dialog.current?.show(); } - public onDialogShow() { - if(this.dialogRef){ - this.dialogRef.show(); - } + function onDialogHide() { + dialog.current?.hide(); } - public onDialogHide() { - if(this.dialogRef){ - this.dialogRef.hide(); - } + function onSwitchChangeEscape(e: IgrCheckboxChangeEventArgs) { + dialog.current!.keepOpenOnEscape = e.detail.checked; } - public onSwitchChangeEscape(e: any) { - this.dialogRef.keepOpenOnEscape = e.detail.checked; + function onSwitchChangeClick(e: IgrCheckboxChangeEventArgs) { + dialog.current!.closeOnOutsideClick = e.detail.checked; } - public onSwitchChangeClick(e: any) { - this.dialogRef.closeOnOutsideClick = e.detail.checked; - } + return ( +
+ keepOpenOnEscape + closeOnOutsideClick + + + Show Dialog + + + +

Are you sure you want to delete the Annual_Report_2016.pdf and Annual_Report_2017.pdf files?

+
+ Cancel + OK +
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/notifications/dialog/closing-variations/tsconfig.json b/samples/notifications/dialog/closing-variations/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/notifications/dialog/closing-variations/tsconfig.json +++ b/samples/notifications/dialog/closing-variations/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/notifications/dialog/form/.devcontainer/devcontainer.json b/samples/notifications/dialog/form/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/dialog/form/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/dialog/form/.eslintrc.js b/samples/notifications/dialog/form/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/dialog/form/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/dialog/form/README.md b/samples/notifications/dialog/form/README.md index 4f56b73684..974e3ae85a 100644 --- a/samples/notifications/dialog/form/README.md +++ b/samples/notifications/dialog/form/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Form feature using [Dialog](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Form fe Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/dialog/form ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/dialog/form/package.json b/samples/notifications/dialog/form/package.json index 6c67dd512b..2055bdc4e1 100644 --- a/samples/notifications/dialog/form/package.json +++ b/samples/notifications/dialog/form/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/dialog/form/sandbox.config.json b/samples/notifications/dialog/form/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/dialog/form/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/dialog/form/src/index.tsx b/samples/notifications/dialog/form/src/index.tsx index 606954ecbf..5d7eb000cc 100644 --- a/samples/notifications/dialog/form/src/index.tsx +++ b/samples/notifications/dialog/form/src/index.tsx @@ -1,74 +1,57 @@ -import React from 'react'; +import { useRef } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrButton, IgrDialog, IgrInput, IgrIcon,registerIconFromText } from 'igniteui-react'; +import { IgrButton, IgrDialog, IgrInput, IgrIcon, registerIconFromText } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; const usernameIconText = ''; const passwordIconText = ''; -export default class DialogForm extends React.Component { +registerIconFromText("username", usernameIconText, "material"); +registerIconFromText("password", passwordIconText, "material"); - public dialogRef: IgrDialog; - public passwordIcon: IgrIcon; - public usernameIcon: IgrIcon; +export default function DialogForm() { + const dialog = useRef(null); - constructor(props: any) { - super(props); - this.onDialogRef = this.onDialogRef.bind(this); - this.onDialogShow = this.onDialogShow.bind(this); - registerIconFromText("username", usernameIconText, "material"); - registerIconFromText("password", passwordIconText, "material"); + function onDialogShow() { + dialog.current?.show(); } - public render(): JSX.Element { - return ( -
- - Show Dialog - - - -
- - - - - -
- - - - - -
-
- Reset - Submit -
-
- - -
- Create an account + return ( +
+ + Show Dialog + + + +
+ + + + + +
+ + + + + +
+
+ Reset + Submit
- -
- ); - } + - public onDialogRef(dialog: IgrDialog){ - if (!dialog) { return; } - this.dialogRef = dialog; - } - public onDialogShow() { - if(this.dialogRef){ - this.dialogRef.show(); - } - } +
+ Create an account +
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/notifications/dialog/form/tsconfig.json b/samples/notifications/dialog/form/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/notifications/dialog/form/tsconfig.json +++ b/samples/notifications/dialog/form/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/notifications/dialog/overview/.devcontainer/devcontainer.json b/samples/notifications/dialog/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/dialog/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/dialog/overview/.eslintrc.js b/samples/notifications/dialog/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/dialog/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/dialog/overview/README.md b/samples/notifications/dialog/overview/README.md index 5096197e0e..f71e77dfb4 100644 --- a/samples/notifications/dialog/overview/README.md +++ b/samples/notifications/dialog/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Dialog](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/dialog/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/dialog/overview/package.json b/samples/notifications/dialog/overview/package.json index 4b0e38b8ae..743e36d619 100644 --- a/samples/notifications/dialog/overview/package.json +++ b/samples/notifications/dialog/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/dialog/overview/sandbox.config.json b/samples/notifications/dialog/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/dialog/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/dialog/overview/src/index.tsx b/samples/notifications/dialog/overview/src/index.tsx index 582e8eebd2..483123d281 100644 --- a/samples/notifications/dialog/overview/src/index.tsx +++ b/samples/notifications/dialog/overview/src/index.tsx @@ -1,56 +1,37 @@ -import React from 'react'; +import { useRef } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrButton, IgrDialog } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class DialogOverview extends React.Component { +export default function DialogOverview() { + const dialog = useRef(null); - public dialogRef: IgrDialog; - - constructor(props: any) { - super(props); - this.onDialogRef = this.onDialogRef.bind(this); - this.onDialogShow = this.onDialogShow.bind(this); - this.onDialogHide = this.onDialogHide.bind(this); - } - - public render(): JSX.Element { - return ( -
- - Show Dialog - - - -

Are you sure you want to delete the Annual_Report_2016.pdf and Annual_Report_2017.pdf files?

-
- Cancel - OK -
-
-
- ); + function onDialogShow() { + dialog.current?.show(); } - public onDialogRef(dialog: IgrDialog){ - if (!dialog) { return; } - this.dialogRef = dialog; + function onDialogHide() { + dialog.current?.hide(); } - public onDialogShow() { - if(this.dialogRef){ - this.dialogRef.show(); - } - } - - public onDialogHide() { - if(this.dialogRef){ - this.dialogRef.hide(); - } - } + return ( +
+ + Show Dialog + + + +

Are you sure you want to delete the Annual_Report_2016.pdf and Annual_Report_2017.pdf files?

+
+ Cancel + OK +
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/notifications/dialog/overview/tsconfig.json b/samples/notifications/dialog/overview/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/notifications/dialog/overview/tsconfig.json +++ b/samples/notifications/dialog/overview/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/notifications/dialog/styling/.devcontainer/devcontainer.json b/samples/notifications/dialog/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/dialog/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/dialog/styling/.eslintrc.js b/samples/notifications/dialog/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/dialog/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/dialog/styling/README.md b/samples/notifications/dialog/styling/README.md index bb78208447..64bfc73e64 100644 --- a/samples/notifications/dialog/styling/README.md +++ b/samples/notifications/dialog/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Dialog](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/dialog/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/dialog/styling/package.json b/samples/notifications/dialog/styling/package.json index e20f163574..05a9f237d8 100644 --- a/samples/notifications/dialog/styling/package.json +++ b/samples/notifications/dialog/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/dialog/styling/sandbox.config.json b/samples/notifications/dialog/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/dialog/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/dialog/styling/src/index.tsx b/samples/notifications/dialog/styling/src/index.tsx index 488b6e4d37..f0d108fbc0 100644 --- a/samples/notifications/dialog/styling/src/index.tsx +++ b/samples/notifications/dialog/styling/src/index.tsx @@ -1,57 +1,38 @@ -import React from 'react'; +import { useRef } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrButton, IgrDialog } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class DialogStyling extends React.Component { +export default function DialogStyling() { + const dialog = useRef(null); - public dialogRef: IgrDialog; - - constructor(props: any) { - super(props); - this.onDialogRef = this.onDialogRef.bind(this); - this.onDialogShow = this.onDialogShow.bind(this); - this.onDialogHide = this.onDialogHide.bind(this); - } - - public render(): JSX.Element { - return ( -
- - Show Dialog - - - -

Styled Title

-

Are you sure you want to delete the Annual_Report_2016.pdf and Annual_Report_2017.pdf files?

-
- Cancel - OK -
-
-
- ); + function onDialogShow() { + dialog.current?.show(); } - public onDialogRef(dialog: IgrDialog){ - if (!dialog) { return; } - this.dialogRef = dialog; + function onDialogHide() { + dialog.current?.hide(); } - public onDialogShow() { - if(this.dialogRef){ - this.dialogRef.show(); - } - } - - public onDialogHide() { - if(this.dialogRef){ - this.dialogRef.hide(); - } - } + return ( +
+ + Show Dialog + + + +

Styled Title

+

Are you sure you want to delete the Annual_Report_2016.pdf and Annual_Report_2017.pdf files?

+
+ Cancel + OK +
+
+
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/notifications/dialog/styling/tsconfig.json b/samples/notifications/dialog/styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/notifications/dialog/styling/tsconfig.json +++ b/samples/notifications/dialog/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/notifications/snackbar/action-text/.devcontainer/devcontainer.json b/samples/notifications/snackbar/action-text/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/snackbar/action-text/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/snackbar/action-text/.eslintrc.js b/samples/notifications/snackbar/action-text/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/snackbar/action-text/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/snackbar/action-text/README.md b/samples/notifications/snackbar/action-text/README.md index a6261b4e5f..20a01678f8 100644 --- a/samples/notifications/snackbar/action-text/README.md +++ b/samples/notifications/snackbar/action-text/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Action Text feature using [Snackbar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Action Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/snackbar/action-text ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/snackbar/action-text/package.json b/samples/notifications/snackbar/action-text/package.json index 67427ab5df..65da7443b3 100644 --- a/samples/notifications/snackbar/action-text/package.json +++ b/samples/notifications/snackbar/action-text/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/snackbar/action-text/sandbox.config.json b/samples/notifications/snackbar/action-text/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/snackbar/action-text/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/snackbar/display-time/.devcontainer/devcontainer.json b/samples/notifications/snackbar/display-time/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/snackbar/display-time/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/snackbar/display-time/.eslintrc.js b/samples/notifications/snackbar/display-time/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/snackbar/display-time/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/snackbar/display-time/README.md b/samples/notifications/snackbar/display-time/README.md index 4a1b1524fb..fc6cb9d2d4 100644 --- a/samples/notifications/snackbar/display-time/README.md +++ b/samples/notifications/snackbar/display-time/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Display Time feature using [Snackbar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Display Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/snackbar/display-time ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/snackbar/display-time/package.json b/samples/notifications/snackbar/display-time/package.json index 6b0e483881..ae71c2509f 100644 --- a/samples/notifications/snackbar/display-time/package.json +++ b/samples/notifications/snackbar/display-time/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/snackbar/display-time/sandbox.config.json b/samples/notifications/snackbar/display-time/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/snackbar/display-time/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/snackbar/overview/.devcontainer/devcontainer.json b/samples/notifications/snackbar/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/snackbar/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/snackbar/overview/.eslintrc.js b/samples/notifications/snackbar/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/snackbar/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/snackbar/overview/README.md b/samples/notifications/snackbar/overview/README.md index 02a818acb6..e4c1425b04 100644 --- a/samples/notifications/snackbar/overview/README.md +++ b/samples/notifications/snackbar/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Snackbar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/snackbar/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/snackbar/overview/package.json b/samples/notifications/snackbar/overview/package.json index 508fb4cad1..6a7521c6f2 100644 --- a/samples/notifications/snackbar/overview/package.json +++ b/samples/notifications/snackbar/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/snackbar/overview/sandbox.config.json b/samples/notifications/snackbar/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/snackbar/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/snackbar/styling/.devcontainer/devcontainer.json b/samples/notifications/snackbar/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/snackbar/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/snackbar/styling/.eslintrc.js b/samples/notifications/snackbar/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/snackbar/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/snackbar/styling/README.md b/samples/notifications/snackbar/styling/README.md index f74866d3f9..135687019d 100644 --- a/samples/notifications/snackbar/styling/README.md +++ b/samples/notifications/snackbar/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Snackbar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/snackbar/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/snackbar/styling/package.json b/samples/notifications/snackbar/styling/package.json index 168f31e6cf..fd979e7ee8 100644 --- a/samples/notifications/snackbar/styling/package.json +++ b/samples/notifications/snackbar/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/snackbar/styling/sandbox.config.json b/samples/notifications/snackbar/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/snackbar/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/toast/overview/.devcontainer/devcontainer.json b/samples/notifications/toast/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/toast/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/toast/overview/.eslintrc.js b/samples/notifications/toast/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/toast/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/toast/overview/README.md b/samples/notifications/toast/overview/README.md index b49f5de4cb..6c8d3b1d86 100644 --- a/samples/notifications/toast/overview/README.md +++ b/samples/notifications/toast/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Toast](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/toast/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/toast/overview/package.json b/samples/notifications/toast/overview/package.json index adae5d021b..4cf3e76f79 100644 --- a/samples/notifications/toast/overview/package.json +++ b/samples/notifications/toast/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/toast/overview/sandbox.config.json b/samples/notifications/toast/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/toast/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/toast/properties/.devcontainer/devcontainer.json b/samples/notifications/toast/properties/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/toast/properties/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/toast/properties/.eslintrc.js b/samples/notifications/toast/properties/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/toast/properties/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/toast/properties/README.md b/samples/notifications/toast/properties/README.md index 76938ffc25..264c063028 100644 --- a/samples/notifications/toast/properties/README.md +++ b/samples/notifications/toast/properties/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Properties feature using [Toast](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Propert Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/toast/properties ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/toast/properties/package.json b/samples/notifications/toast/properties/package.json index ad9deb874f..fd51858696 100644 --- a/samples/notifications/toast/properties/package.json +++ b/samples/notifications/toast/properties/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/toast/properties/sandbox.config.json b/samples/notifications/toast/properties/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/toast/properties/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/notifications/toast/styling/.devcontainer/devcontainer.json b/samples/notifications/toast/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/notifications/toast/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/notifications/toast/styling/.eslintrc.js b/samples/notifications/toast/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/notifications/toast/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/notifications/toast/styling/README.md b/samples/notifications/toast/styling/README.md index 6540f872de..732c7d5365 100644 --- a/samples/notifications/toast/styling/README.md +++ b/samples/notifications/toast/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Toast](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/notifications/toast/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/notifications/toast/styling/package.json b/samples/notifications/toast/styling/package.json index 18271e5c9a..2fbc61df19 100644 --- a/samples/notifications/toast/styling/package.json +++ b/samples/notifications/toast/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/notifications/toast/styling/sandbox.config.json b/samples/notifications/toast/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/notifications/toast/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/disabled-dates/.devcontainer/devcontainer.json b/samples/scheduling/calendar/disabled-dates/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/calendar/disabled-dates/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/disabled-dates/.eslintrc.js b/samples/scheduling/calendar/disabled-dates/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/calendar/disabled-dates/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/calendar/disabled-dates/README.md b/samples/scheduling/calendar/disabled-dates/README.md index d07e67b025..63ca32a9e4 100644 --- a/samples/scheduling/calendar/disabled-dates/README.md +++ b/samples/scheduling/calendar/disabled-dates/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Disabled Dates feature using [Calendar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Disable Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/calendar/disabled-dates ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/calendar/disabled-dates/package.json b/samples/scheduling/calendar/disabled-dates/package.json index 40efe760fb..ae78c715d7 100644 --- a/samples/scheduling/calendar/disabled-dates/package.json +++ b/samples/scheduling/calendar/disabled-dates/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/scheduling/calendar/disabled-dates/sandbox.config.json b/samples/scheduling/calendar/disabled-dates/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/calendar/disabled-dates/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/disabled-dates/src/index.tsx b/samples/scheduling/calendar/disabled-dates/src/index.tsx index 55faeeb79e..8956d2e9e5 100644 --- a/samples/scheduling/calendar/disabled-dates/src/index.tsx +++ b/samples/scheduling/calendar/disabled-dates/src/index.tsx @@ -1,38 +1,30 @@ -import React from 'react'; +import { useState } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrCalendar, DateRangeDescriptor, DateRangeType } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class CalendarDisabledDates extends React.Component { +// The 3rd and 8th of the current month +function createRanges(): DateRangeDescriptor[] { + const today = new Date(); + const range = [ + new Date(today.getFullYear(), today.getMonth(), 3), + new Date(today.getFullYear(), today.getMonth(), 8) + ]; - constructor(props: any) { - super(props); - - const today = new Date(); - const range = [ - new Date(today.getFullYear(), today.getMonth(), 3), - new Date(today.getFullYear(), today.getMonth(), 8) - ]; - - const desc: DateRangeDescriptor = { - dateRange: range, - type: DateRangeType.Specific, - } - const disabledDates = [desc]; + return [{ dateRange: range, type: DateRangeType.Specific }]; +} - this.state = { disabledDates }; - } +export default function CalendarDisabledDates() { + const [disabledDates] = useState(createRanges); - public render(): JSX.Element { - return ( -
- -
- ); - } + return ( +
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/scheduling/calendar/disabled-dates/tsconfig.json b/samples/scheduling/calendar/disabled-dates/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/scheduling/calendar/disabled-dates/tsconfig.json +++ b/samples/scheduling/calendar/disabled-dates/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/scheduling/calendar/formatting/.devcontainer/devcontainer.json b/samples/scheduling/calendar/formatting/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/calendar/formatting/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/formatting/.eslintrc.js b/samples/scheduling/calendar/formatting/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/calendar/formatting/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/calendar/formatting/README.md b/samples/scheduling/calendar/formatting/README.md index 88cfa5db49..f2c35e0ee2 100644 --- a/samples/scheduling/calendar/formatting/README.md +++ b/samples/scheduling/calendar/formatting/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Formatting feature using [Calendar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Formatt Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/calendar/formatting ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/calendar/formatting/package.json b/samples/scheduling/calendar/formatting/package.json index a8232e9a3c..8023cba27a 100644 --- a/samples/scheduling/calendar/formatting/package.json +++ b/samples/scheduling/calendar/formatting/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/scheduling/calendar/formatting/sandbox.config.json b/samples/scheduling/calendar/formatting/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/calendar/formatting/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/formatting/src/index.tsx b/samples/scheduling/calendar/formatting/src/index.tsx index 538691503c..027378232e 100644 --- a/samples/scheduling/calendar/formatting/src/index.tsx +++ b/samples/scheduling/calendar/formatting/src/index.tsx @@ -1,63 +1,51 @@ -import React from 'react'; +import { useState } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrCalendar, IgrCalendarFormatOptions, IgrRadioGroup, IgrRadio, IgrCalendarModule, IgrRadioGroupModule, IgrRadioModule } from 'igniteui-react'; +import { IgrCalendar, IgrCalendarFormatOptions, IgrRadioGroup, IgrRadio, type IgrRadioChangeEventArgs } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -IgrCalendarModule.register(); -IgrRadioGroupModule.register(); -IgrRadioModule.register(); +const formatOptions: IgrCalendarFormatOptions = { + month: 'short', + weekday: 'short', +}; -export default class CalendarFormatting extends React.Component { +export default function CalendarFormatting() { + const [calendarLocale, setCalendarLocale] = useState("en"); - constructor(props: any) { - super(props); - this.onRadioChange = this.onRadioChange.bind(this); - - const formatOptions: IgrCalendarFormatOptions = { - month: 'short', - weekday: 'short', - } - - this.state = { calendarLocale: "en", calendarFormat: formatOptions }; - } - - public render(): JSX.Element { - return ( -
- - - EN - - - DE - - - FR - - - AR - - - JA - - - - -
- ); - } - - public onRadioChange(e: any) { + function onRadioChange(e: IgrRadioChangeEventArgs) { if (e.detail.checked) { - this.setState({ calendarLocale: e.detail.value }); + setCalendarLocale(e.detail.value); } } + + return ( +
+ + + EN + + + DE + + + FR + + + AR + + + JA + + + + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/scheduling/calendar/formatting/tsconfig.json b/samples/scheduling/calendar/formatting/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/scheduling/calendar/formatting/tsconfig.json +++ b/samples/scheduling/calendar/formatting/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/scheduling/calendar/header/.devcontainer/devcontainer.json b/samples/scheduling/calendar/header/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/calendar/header/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/header/.eslintrc.js b/samples/scheduling/calendar/header/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/calendar/header/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/calendar/header/README.md b/samples/scheduling/calendar/header/README.md index 1f3894f818..62fbfa845d 100644 --- a/samples/scheduling/calendar/header/README.md +++ b/samples/scheduling/calendar/header/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Header feature using [Calendar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Header Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/calendar/header ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/calendar/header/package.json b/samples/scheduling/calendar/header/package.json index 730e5c43d3..96111de0cf 100644 --- a/samples/scheduling/calendar/header/package.json +++ b/samples/scheduling/calendar/header/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/scheduling/calendar/header/sandbox.config.json b/samples/scheduling/calendar/header/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/calendar/header/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/header/src/index.tsx b/samples/scheduling/calendar/header/src/index.tsx index f9a77a2261..6143ef3f13 100644 --- a/samples/scheduling/calendar/header/src/index.tsx +++ b/samples/scheduling/calendar/header/src/index.tsx @@ -1,28 +1,18 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrCalendar, IgrCalendarModule } from 'igniteui-react'; +import { IgrCalendar } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -IgrCalendarModule.register(); - -export default class CalendarHeader extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- - Trip dates - -
- ); - } +export default function CalendarHeader() { + return ( +
+ + Trip dates + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/scheduling/calendar/header/tsconfig.json b/samples/scheduling/calendar/header/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/scheduling/calendar/header/tsconfig.json +++ b/samples/scheduling/calendar/header/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/scheduling/calendar/multiple-months/.devcontainer/devcontainer.json b/samples/scheduling/calendar/multiple-months/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/calendar/multiple-months/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/multiple-months/.eslintrc.js b/samples/scheduling/calendar/multiple-months/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/calendar/multiple-months/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/calendar/multiple-months/README.md b/samples/scheduling/calendar/multiple-months/README.md index 4957208018..5c5e39387b 100644 --- a/samples/scheduling/calendar/multiple-months/README.md +++ b/samples/scheduling/calendar/multiple-months/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Multiple Months feature using [Calendar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Multipl Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/calendar/multiple-months ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/calendar/multiple-months/package.json b/samples/scheduling/calendar/multiple-months/package.json index e4b1ee04fe..aa38e3f6f5 100644 --- a/samples/scheduling/calendar/multiple-months/package.json +++ b/samples/scheduling/calendar/multiple-months/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/scheduling/calendar/multiple-months/sandbox.config.json b/samples/scheduling/calendar/multiple-months/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/calendar/multiple-months/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/multiple-months/src/index.tsx b/samples/scheduling/calendar/multiple-months/src/index.tsx index 932e72735c..83eb4e8177 100644 --- a/samples/scheduling/calendar/multiple-months/src/index.tsx +++ b/samples/scheduling/calendar/multiple-months/src/index.tsx @@ -1,24 +1,16 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrCalendar } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class CalendarMultipleMonths extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- -
- ); - } +export default function CalendarMultipleMonths() { + return ( +
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/scheduling/calendar/multiple-months/tsconfig.json b/samples/scheduling/calendar/multiple-months/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/scheduling/calendar/multiple-months/tsconfig.json +++ b/samples/scheduling/calendar/multiple-months/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/scheduling/calendar/multiple-selection/.devcontainer/devcontainer.json b/samples/scheduling/calendar/multiple-selection/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/calendar/multiple-selection/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/multiple-selection/.eslintrc.js b/samples/scheduling/calendar/multiple-selection/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/calendar/multiple-selection/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/calendar/multiple-selection/README.md b/samples/scheduling/calendar/multiple-selection/README.md index a33019ebe0..22d7feed41 100644 --- a/samples/scheduling/calendar/multiple-selection/README.md +++ b/samples/scheduling/calendar/multiple-selection/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Multiple Selection feature using [Calendar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Multipl Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/calendar/multiple-selection ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/calendar/multiple-selection/package.json b/samples/scheduling/calendar/multiple-selection/package.json index 4dd9ce556f..77cc800519 100644 --- a/samples/scheduling/calendar/multiple-selection/package.json +++ b/samples/scheduling/calendar/multiple-selection/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/scheduling/calendar/multiple-selection/sandbox.config.json b/samples/scheduling/calendar/multiple-selection/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/calendar/multiple-selection/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/multiple-selection/src/index.tsx b/samples/scheduling/calendar/multiple-selection/src/index.tsx index 2325e78298..7850a91d0e 100644 --- a/samples/scheduling/calendar/multiple-selection/src/index.tsx +++ b/samples/scheduling/calendar/multiple-selection/src/index.tsx @@ -1,24 +1,16 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrCalendar } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class CalendarMultipleSelection extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- -
- ); - } +export default function CalendarMultipleSelection() { + return ( +
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/scheduling/calendar/multiple-selection/tsconfig.json b/samples/scheduling/calendar/multiple-selection/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/scheduling/calendar/multiple-selection/tsconfig.json +++ b/samples/scheduling/calendar/multiple-selection/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/scheduling/calendar/overview/.devcontainer/devcontainer.json b/samples/scheduling/calendar/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/calendar/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/overview/.eslintrc.js b/samples/scheduling/calendar/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/calendar/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/calendar/overview/README.md b/samples/scheduling/calendar/overview/README.md index e64296606b..0292ce5ea5 100644 --- a/samples/scheduling/calendar/overview/README.md +++ b/samples/scheduling/calendar/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Calendar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/calendar/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/calendar/overview/package.json b/samples/scheduling/calendar/overview/package.json index 26968f3d7d..8083aa2f5f 100644 --- a/samples/scheduling/calendar/overview/package.json +++ b/samples/scheduling/calendar/overview/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/scheduling/calendar/overview/sandbox.config.json b/samples/scheduling/calendar/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/calendar/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/overview/src/index.tsx b/samples/scheduling/calendar/overview/src/index.tsx index e83a957901..c6ea287701 100644 --- a/samples/scheduling/calendar/overview/src/index.tsx +++ b/samples/scheduling/calendar/overview/src/index.tsx @@ -1,24 +1,16 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrCalendar } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class CalendarOverview extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- -
- ); - } +export default function CalendarOverview() { + return ( +
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/scheduling/calendar/overview/tsconfig.json b/samples/scheduling/calendar/overview/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/scheduling/calendar/overview/tsconfig.json +++ b/samples/scheduling/calendar/overview/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/scheduling/calendar/range-selection/.devcontainer/devcontainer.json b/samples/scheduling/calendar/range-selection/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/calendar/range-selection/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/range-selection/.eslintrc.js b/samples/scheduling/calendar/range-selection/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/calendar/range-selection/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/calendar/range-selection/README.md b/samples/scheduling/calendar/range-selection/README.md index 419d961bf8..f16e85484e 100644 --- a/samples/scheduling/calendar/range-selection/README.md +++ b/samples/scheduling/calendar/range-selection/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Range Selection feature using [Calendar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Range S Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/calendar/range-selection ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/calendar/range-selection/package.json b/samples/scheduling/calendar/range-selection/package.json index d1dbcfcff5..adf08ba5f7 100644 --- a/samples/scheduling/calendar/range-selection/package.json +++ b/samples/scheduling/calendar/range-selection/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/scheduling/calendar/range-selection/sandbox.config.json b/samples/scheduling/calendar/range-selection/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/calendar/range-selection/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/range-selection/src/index.tsx b/samples/scheduling/calendar/range-selection/src/index.tsx index 826e400e8c..037beea1d6 100644 --- a/samples/scheduling/calendar/range-selection/src/index.tsx +++ b/samples/scheduling/calendar/range-selection/src/index.tsx @@ -1,24 +1,16 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrCalendar } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class CalendarRangeSelection extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- -
- ); - } +export default function CalendarRangeSelection() { + return ( +
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/scheduling/calendar/range-selection/tsconfig.json b/samples/scheduling/calendar/range-selection/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/scheduling/calendar/range-selection/tsconfig.json +++ b/samples/scheduling/calendar/range-selection/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/scheduling/calendar/size/.devcontainer/devcontainer.json b/samples/scheduling/calendar/size/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/calendar/size/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/size/.eslintrc.js b/samples/scheduling/calendar/size/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/calendar/size/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/calendar/size/README.md b/samples/scheduling/calendar/size/README.md index 61ea235f35..e55006c853 100644 --- a/samples/scheduling/calendar/size/README.md +++ b/samples/scheduling/calendar/size/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Size feature using [Calendar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Size fe Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/calendar/size ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/calendar/size/package.json b/samples/scheduling/calendar/size/package.json index f3893eb248..6ecb901e07 100644 --- a/samples/scheduling/calendar/size/package.json +++ b/samples/scheduling/calendar/size/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/scheduling/calendar/size/sandbox.config.json b/samples/scheduling/calendar/size/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/calendar/size/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/size/src/index.tsx b/samples/scheduling/calendar/size/src/index.tsx index 071abc70de..286f522ed9 100644 --- a/samples/scheduling/calendar/size/src/index.tsx +++ b/samples/scheduling/calendar/size/src/index.tsx @@ -1,49 +1,42 @@ -import React from 'react'; +import { useState } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrCalendar, IgrRadioGroup, IgrRadio } from 'igniteui-react'; +import { IgrCalendar, IgrRadioGroup, IgrRadio, type IgrRadioChangeEventArgs } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class CalendarSize extends React.Component { +export default function CalendarSize() { + const [calendarSize, setCalendarSize] = useState("large"); - constructor(props: any) { - super(props); - this.onRadioChange = this.onRadioChange.bind(this); - this.state = { calendarSize: "large"}; - } - - public render(): JSX.Element { - return ( -
- - - Small - - - Medium - - - Large - - - -
- ); - } - - public onRadioChange(e: any) { + function onRadioChange(e: IgrRadioChangeEventArgs) { if (e.detail.checked) { - this.setState({ calendarSize: e.detail.value }); + setCalendarSize(e.detail.value); } } + + return ( +
+ + + Small + + + Medium + + + Large + + + +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); -root.render(); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/scheduling/calendar/size/tsconfig.json b/samples/scheduling/calendar/size/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/scheduling/calendar/size/tsconfig.json +++ b/samples/scheduling/calendar/size/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/scheduling/calendar/special-dates/.devcontainer/devcontainer.json b/samples/scheduling/calendar/special-dates/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/calendar/special-dates/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/special-dates/.eslintrc.js b/samples/scheduling/calendar/special-dates/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/calendar/special-dates/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/calendar/special-dates/README.md b/samples/scheduling/calendar/special-dates/README.md index 29aba7219e..50705c837a 100644 --- a/samples/scheduling/calendar/special-dates/README.md +++ b/samples/scheduling/calendar/special-dates/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Special Dates feature using [Calendar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Special Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/calendar/special-dates ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/calendar/special-dates/package.json b/samples/scheduling/calendar/special-dates/package.json index b3e65673e9..f46ba7a35d 100644 --- a/samples/scheduling/calendar/special-dates/package.json +++ b/samples/scheduling/calendar/special-dates/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/scheduling/calendar/special-dates/sandbox.config.json b/samples/scheduling/calendar/special-dates/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/calendar/special-dates/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/special-dates/src/index.tsx b/samples/scheduling/calendar/special-dates/src/index.tsx index 428b0888d0..671e56883e 100644 --- a/samples/scheduling/calendar/special-dates/src/index.tsx +++ b/samples/scheduling/calendar/special-dates/src/index.tsx @@ -1,38 +1,30 @@ -import React from 'react'; +import { useState } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrCalendar, DateRangeDescriptor, DateRangeType } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class CalendarSpecialDates extends React.Component { +// Between the 3rd and 8th of the current month +function createRanges(): DateRangeDescriptor[] { + const today = new Date(); + const range = [ + new Date(today.getFullYear(), today.getMonth(), 3), + new Date(today.getFullYear(), today.getMonth(), 8) + ]; - constructor(props: any) { - super(props); - - const today = new Date(); - const range = [ - new Date(today.getFullYear(), today.getMonth(), 3), - new Date(today.getFullYear(), today.getMonth(), 8) - ]; - - const desc: DateRangeDescriptor = { - dateRange: range, - type: DateRangeType.Between, - } - const specialDates = [desc]; + return [{ dateRange: range, type: DateRangeType.Between }]; +} - this.state = { specialDates }; - } +export default function CalendarSpecialDates() { + const [specialDates] = useState(createRanges); - public render(): JSX.Element { - return ( -
- -
- ); - } + return ( +
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/scheduling/calendar/special-dates/tsconfig.json b/samples/scheduling/calendar/special-dates/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/scheduling/calendar/special-dates/tsconfig.json +++ b/samples/scheduling/calendar/special-dates/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/scheduling/calendar/styling/.devcontainer/devcontainer.json b/samples/scheduling/calendar/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/calendar/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/styling/.eslintrc.js b/samples/scheduling/calendar/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/calendar/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/calendar/styling/README.md b/samples/scheduling/calendar/styling/README.md index 6cac8de17a..a01ec131bf 100644 --- a/samples/scheduling/calendar/styling/README.md +++ b/samples/scheduling/calendar/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Calendar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/calendar/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/calendar/styling/package.json b/samples/scheduling/calendar/styling/package.json index 077066ab35..b2ecd899e2 100644 --- a/samples/scheduling/calendar/styling/package.json +++ b/samples/scheduling/calendar/styling/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/scheduling/calendar/styling/sandbox.config.json b/samples/scheduling/calendar/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/calendar/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/styling/src/index.tsx b/samples/scheduling/calendar/styling/src/index.tsx index 14c6b4b630..532c6878be 100644 --- a/samples/scheduling/calendar/styling/src/index.tsx +++ b/samples/scheduling/calendar/styling/src/index.tsx @@ -1,25 +1,17 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import './CalendarStyling.css'; import { IgrCalendar } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class CalendarStyling extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- -
- ); - } +export default function CalendarStyling() { + return ( +
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/scheduling/calendar/styling/tsconfig.json b/samples/scheduling/calendar/styling/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/scheduling/calendar/styling/tsconfig.json +++ b/samples/scheduling/calendar/styling/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/scheduling/calendar/week-numbers/.devcontainer/devcontainer.json b/samples/scheduling/calendar/week-numbers/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/calendar/week-numbers/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/week-numbers/.eslintrc.js b/samples/scheduling/calendar/week-numbers/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/calendar/week-numbers/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/calendar/week-numbers/README.md b/samples/scheduling/calendar/week-numbers/README.md index 7a39e4c0de..0e92b13771 100644 --- a/samples/scheduling/calendar/week-numbers/README.md +++ b/samples/scheduling/calendar/week-numbers/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Week Numbers feature using [Calendar](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Week Nu Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/calendar/week-numbers ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/calendar/week-numbers/package.json b/samples/scheduling/calendar/week-numbers/package.json index a106858f28..b44e5fe26b 100644 --- a/samples/scheduling/calendar/week-numbers/package.json +++ b/samples/scheduling/calendar/week-numbers/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", + "igniteui-dockmanager": "^2.2.1", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ diff --git a/samples/scheduling/calendar/week-numbers/sandbox.config.json b/samples/scheduling/calendar/week-numbers/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/calendar/week-numbers/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/calendar/week-numbers/src/index.tsx b/samples/scheduling/calendar/week-numbers/src/index.tsx index d5915bd26c..768bb1d629 100644 --- a/samples/scheduling/calendar/week-numbers/src/index.tsx +++ b/samples/scheduling/calendar/week-numbers/src/index.tsx @@ -1,24 +1,16 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrCalendar } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default class CalendarWeekNumbers extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- -
- ); - } +export default function CalendarWeekNumbers() { + return ( +
+ +
+ ); } -// rendering above class to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')); +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); root.render(); diff --git a/samples/scheduling/calendar/week-numbers/tsconfig.json b/samples/scheduling/calendar/week-numbers/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/scheduling/calendar/week-numbers/tsconfig.json +++ b/samples/scheduling/calendar/week-numbers/tsconfig.json @@ -1,43 +1,23 @@ { "compilerOptions": { - "resolveJsonModule": true, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "build/dist", - "module": "esnext", - "target": "es5", + "target": "es2020", "lib": [ - "es6", - "dom" + "es2020", + "dom", + "dom.iterable" ], - "sourceMap": true, - "allowJs": true, - "jsx": "react", - "moduleResolution": "node", - "rootDir": "src", - "forceConsistentCasingInFileNames": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "noUnusedLocals": false, - "importHelpers": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true, - "strict": false, + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, "isolatedModules": true, + "skipLibCheck": true, "noEmit": true }, - "exclude": [ - "node_modules", - "build", - "scripts", - "acceptance-tests", - "webpack", - "jest", - "src/setupTests.ts", - "**/odatajs-4.0.0.js", - "config-overrides.js" - ], "include": [ "src" ] diff --git a/samples/scheduling/date-picker/dialog-mode/.devcontainer/devcontainer.json b/samples/scheduling/date-picker/dialog-mode/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/date-picker/dialog-mode/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/date-picker/dialog-mode/.eslintrc.js b/samples/scheduling/date-picker/dialog-mode/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/date-picker/dialog-mode/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/date-picker/dialog-mode/README.md b/samples/scheduling/date-picker/dialog-mode/README.md index 1f3910213d..2a48d8d258 100644 --- a/samples/scheduling/date-picker/dialog-mode/README.md +++ b/samples/scheduling/date-picker/dialog-mode/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Dialog Mode feature using [Date Picker](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Dialog Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/date-picker/dialog-mode ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/date-picker/dialog-mode/package.json b/samples/scheduling/date-picker/dialog-mode/package.json index a848dc21f2..d0eea4d1a6 100644 --- a/samples/scheduling/date-picker/dialog-mode/package.json +++ b/samples/scheduling/date-picker/dialog-mode/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ @@ -38,4 +38,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/samples/scheduling/date-picker/dialog-mode/sandbox.config.json b/samples/scheduling/date-picker/dialog-mode/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/date-picker/dialog-mode/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/date-picker/form/.devcontainer/devcontainer.json b/samples/scheduling/date-picker/form/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/date-picker/form/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/date-picker/form/.eslintrc.js b/samples/scheduling/date-picker/form/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/date-picker/form/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/date-picker/form/README.md b/samples/scheduling/date-picker/form/README.md index 3eb3e5e2b1..d41325d5f3 100644 --- a/samples/scheduling/date-picker/form/README.md +++ b/samples/scheduling/date-picker/form/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Form feature using [Date Picker](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Form fe Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/date-picker/form ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/date-picker/form/package.json b/samples/scheduling/date-picker/form/package.json index a848dc21f2..d0eea4d1a6 100644 --- a/samples/scheduling/date-picker/form/package.json +++ b/samples/scheduling/date-picker/form/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ @@ -38,4 +38,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/samples/scheduling/date-picker/form/sandbox.config.json b/samples/scheduling/date-picker/form/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/date-picker/form/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/date-picker/format/.devcontainer/devcontainer.json b/samples/scheduling/date-picker/format/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/date-picker/format/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/date-picker/format/.eslintrc.js b/samples/scheduling/date-picker/format/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/date-picker/format/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/date-picker/format/README.md b/samples/scheduling/date-picker/format/README.md index 37105dffd3..1e799eba6b 100644 --- a/samples/scheduling/date-picker/format/README.md +++ b/samples/scheduling/date-picker/format/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Format feature using [Date Picker](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Format Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/date-picker/format ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/date-picker/format/package.json b/samples/scheduling/date-picker/format/package.json index a848dc21f2..d0eea4d1a6 100644 --- a/samples/scheduling/date-picker/format/package.json +++ b/samples/scheduling/date-picker/format/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ @@ -38,4 +38,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/samples/scheduling/date-picker/format/sandbox.config.json b/samples/scheduling/date-picker/format/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/date-picker/format/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/date-picker/overview/.devcontainer/devcontainer.json b/samples/scheduling/date-picker/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/date-picker/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/date-picker/overview/.eslintrc.js b/samples/scheduling/date-picker/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/date-picker/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/date-picker/overview/README.md b/samples/scheduling/date-picker/overview/README.md index 5d54685b48..caceb7f76c 100644 --- a/samples/scheduling/date-picker/overview/README.md +++ b/samples/scheduling/date-picker/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Overview feature using [Date Picker](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Overvie Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/date-picker/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/date-picker/overview/package.json b/samples/scheduling/date-picker/overview/package.json index a848dc21f2..d0eea4d1a6 100644 --- a/samples/scheduling/date-picker/overview/package.json +++ b/samples/scheduling/date-picker/overview/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ @@ -38,4 +38,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/samples/scheduling/date-picker/overview/sandbox.config.json b/samples/scheduling/date-picker/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/date-picker/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/date-picker/styling/.devcontainer/devcontainer.json b/samples/scheduling/date-picker/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/date-picker/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/date-picker/styling/.eslintrc.js b/samples/scheduling/date-picker/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/date-picker/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/date-picker/styling/README.md b/samples/scheduling/date-picker/styling/README.md index 2f2fbd4259..da3ebd8dae 100644 --- a/samples/scheduling/date-picker/styling/README.md +++ b/samples/scheduling/date-picker/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Styling feature using [Date Picker](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Styling Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/date-picker/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/date-picker/styling/package.json b/samples/scheduling/date-picker/styling/package.json index a848dc21f2..d0eea4d1a6 100644 --- a/samples/scheduling/date-picker/styling/package.json +++ b/samples/scheduling/date-picker/styling/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ @@ -38,4 +38,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/samples/scheduling/date-picker/styling/sandbox.config.json b/samples/scheduling/date-picker/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/date-picker/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/custom-ranges/.devcontainer/devcontainer.json b/samples/scheduling/date-range-picker/custom-ranges/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/date-range-picker/custom-ranges/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/custom-ranges/.eslintrc.js b/samples/scheduling/date-range-picker/custom-ranges/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/date-range-picker/custom-ranges/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/custom-ranges/README.md b/samples/scheduling/date-range-picker/custom-ranges/README.md index 2b2949d31d..4e14b07bcd 100644 --- a/samples/scheduling/date-range-picker/custom-ranges/README.md +++ b/samples/scheduling/date-range-picker/custom-ranges/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Date Range Picker Custom Ranges feature using [Date Range-Picker](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Date Ra Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/date-range-picker/custom-ranges ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/date-range-picker/custom-ranges/package.json b/samples/scheduling/date-range-picker/custom-ranges/package.json index 047a2383d8..2b33728181 100644 --- a/samples/scheduling/date-range-picker/custom-ranges/package.json +++ b/samples/scheduling/date-range-picker/custom-ranges/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ @@ -38,4 +38,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/samples/scheduling/date-range-picker/custom-ranges/sandbox.config.json b/samples/scheduling/date-range-picker/custom-ranges/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/date-range-picker/custom-ranges/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/form/.devcontainer/devcontainer.json b/samples/scheduling/date-range-picker/form/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/date-range-picker/form/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/form/.eslintrc.js b/samples/scheduling/date-range-picker/form/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/date-range-picker/form/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/form/README.md b/samples/scheduling/date-range-picker/form/README.md index 34ed87cd18..547e0857b8 100644 --- a/samples/scheduling/date-range-picker/form/README.md +++ b/samples/scheduling/date-range-picker/form/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Date Range Picker Form feature using [Date Range-Picker](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Date Ra Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/date-range-picker/form ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/date-range-picker/form/package.json b/samples/scheduling/date-range-picker/form/package.json index 488adc2aa0..ceb8a41622 100644 --- a/samples/scheduling/date-range-picker/form/package.json +++ b/samples/scheduling/date-range-picker/form/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ @@ -38,4 +38,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/samples/scheduling/date-range-picker/form/sandbox.config.json b/samples/scheduling/date-range-picker/form/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/date-range-picker/form/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/overview/.devcontainer/devcontainer.json b/samples/scheduling/date-range-picker/overview/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/date-range-picker/overview/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/overview/.eslintrc.js b/samples/scheduling/date-range-picker/overview/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/date-range-picker/overview/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/overview/README.md b/samples/scheduling/date-range-picker/overview/README.md index 91a9eaad0c..b0f99c919c 100644 --- a/samples/scheduling/date-range-picker/overview/README.md +++ b/samples/scheduling/date-range-picker/overview/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Date Range Picker Overview feature using [Date Range-Picker](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Date Ra Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/date-range-picker/overview ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/date-range-picker/overview/package.json b/samples/scheduling/date-range-picker/overview/package.json index 1c4bab1b70..49380d029c 100644 --- a/samples/scheduling/date-range-picker/overview/package.json +++ b/samples/scheduling/date-range-picker/overview/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ @@ -38,4 +38,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/samples/scheduling/date-range-picker/overview/sandbox.config.json b/samples/scheduling/date-range-picker/overview/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/date-range-picker/overview/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/slots/.devcontainer/devcontainer.json b/samples/scheduling/date-range-picker/slots/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/date-range-picker/slots/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/slots/.eslintrc.js b/samples/scheduling/date-range-picker/slots/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/date-range-picker/slots/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/slots/README.md b/samples/scheduling/date-range-picker/slots/README.md index 584f00ae58..766d58cd53 100644 --- a/samples/scheduling/date-range-picker/slots/README.md +++ b/samples/scheduling/date-range-picker/slots/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Date Range Picker Slots feature using [Date Range-Picker](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Date Ra Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/date-range-picker/slots ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/date-range-picker/slots/package.json b/samples/scheduling/date-range-picker/slots/package.json index ee98e565d8..a2ae81655b 100644 --- a/samples/scheduling/date-range-picker/slots/package.json +++ b/samples/scheduling/date-range-picker/slots/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ @@ -38,4 +38,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/samples/scheduling/date-range-picker/slots/sandbox.config.json b/samples/scheduling/date-range-picker/slots/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/date-range-picker/slots/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/slots/src/index.tsx b/samples/scheduling/date-range-picker/slots/src/index.tsx index 855d1e48d5..44f7a55def 100644 --- a/samples/scheduling/date-range-picker/slots/src/index.tsx +++ b/samples/scheduling/date-range-picker/slots/src/index.tsx @@ -15,7 +15,7 @@ const Down = ''; export default function DrpSlots() { - const dateRangeRef = useRef(); + const dateRangeRef = useRef(null); const today: Date = new Date(); let tomorrow: Date = new Date(); diff --git a/samples/scheduling/date-range-picker/styling/.devcontainer/devcontainer.json b/samples/scheduling/date-range-picker/styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/scheduling/date-range-picker/styling/.devcontainer/devcontainer.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "Node.js", - "image": "mcr.microsoft.com/devcontainers/javascript-node:22" -} \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/styling/.eslintrc.js b/samples/scheduling/date-range-picker/styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/scheduling/date-range-picker/styling/.eslintrc.js +++ /dev/null @@ -1,75 +0,0 @@ -// https://www.robertcooper.me/using-eslint-and-prettier-in-a-typescript-project -module.exports = { - parser: "@typescript-eslint/parser", // Specifies the ESLint parser - parserOptions: { - ecmaVersion: 2020, // Allows for the parsing of modern ECMAScript features - sourceType: "module", // Allows for the use of imports - ecmaFeatures: { - jsx: true // Allows for the parsing of JSX - } - }, - settings: { - react: { - version: "999.999.999" // Tells eslint-plugin-react to automatically detect the version of React to use - } - }, - extends: [ - "eslint:recommended", - "plugin:react/recommended", // Uses the recommended rules from @eslint-plugin-react - "plugin:@typescript-eslint/recommended" // Uses the recommended rules from @typescript-eslint/eslint-plugin - ], - rules: { - // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - }, - "overrides": [ - { - "files": ["*.ts", "*.tsx"], - "rules": { - "default-case": "off", - "no-undef": "off", - "no-unused-vars": "off", - "no-extend-native": "off", - "no-throw-literal": "off", - "no-useless-concat": "off", - "no-mixed-operators": "off", - "no-prototype-builtins": "off", - "prefer-const": "off", - "prefer-rest-params": "off", - "jsx-a11y/alt-text": "off", - "jsx-a11y/iframe-has-title": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "@typescript-eslint/interface-name-prefix": "off", - "@typescript-eslint/prefer-namespace-keyword": "off", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-module-boundary-types": "off" - } - } - ] - }; \ No newline at end of file diff --git a/samples/scheduling/date-range-picker/styling/README.md b/samples/scheduling/date-range-picker/styling/README.md index b3b518086b..36e130567b 100644 --- a/samples/scheduling/date-range-picker/styling/README.md +++ b/samples/scheduling/date-range-picker/styling/README.md @@ -1,6 +1,3 @@ - - - This folder contains implementation of React application with example of Date Range Picker Styling feature using [Date Range-Picker](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Date Ra Run Sample - - Run Sample - @@ -32,8 +26,8 @@ Follow these instructions to run this example: ``` git clone https://github.com/IgniteUI/igniteui-react-examples.git -git checkout master cd ./igniteui-react-examples +git checkout master cd ./samples/scheduling/date-range-picker/styling ``` @@ -44,8 +38,8 @@ code . In terminal window, run: ``` -npm install --legacy-peer-deps -npm run-script start +npm install +npm start ``` Then open http://localhost:4200/ in your browser diff --git a/samples/scheduling/date-range-picker/styling/package.json b/samples/scheduling/date-range-picker/styling/package.json index 49e550df5a..c95bc27158 100644 --- a/samples/scheduling/date-range-picker/styling/package.json +++ b/samples/scheduling/date-range-picker/styling/package.json @@ -14,22 +14,22 @@ "dependencies": { "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", - "react": "^19.2.0", - "react-dom": "^19.2.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", "tslib": "^2.4.0" }, "devDependencies": { - "@types/jest": "^29.2.0", + "@types/jest": "^30.0.0", "@types/node": "^24.7.1", - "@types/react": "^18.0.24", - "@types/react-dom": "^18.0.8", - "@vitejs/plugin-react": "^5.0.4", - "@vitest/browser": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^7.1.9", - "vitest": "^3.2.4", - "vitest-canvas-mock": "^0.3.3", + "@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": [ @@ -38,4 +38,4 @@ "not ie <= 11", "not op_mini all" ] -} \ No newline at end of file +} diff --git a/samples/scheduling/date-range-picker/styling/sandbox.config.json b/samples/scheduling/date-range-picker/styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/scheduling/date-range-picker/styling/sandbox.config.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "infiniteLoopProtection": false, - "hardReloadOnChange": false, - "view": "browser" -} \ No newline at end of file diff --git a/scripts/add-sample.js b/scripts/add-sample.js new file mode 100644 index 0000000000..d80a0fd474 --- /dev/null +++ b/scripts/add-sample.js @@ -0,0 +1,60 @@ +#!/usr/bin/env node +/** + * add-sample.js: scaffold a new sample. + * + * Usage: npm run add:sample // + * e.g. npm run add:sample inputs/button/new-thing + * + * Refuses to touch an existing folder. + */ +import { existsSync } from 'node:fs'; +import fsp from 'node:fs/promises'; +import path from 'node:path'; + +import { SAMPLES_ROOT } from './lib/samples.js'; +import { TEMPLATES } from './lib/templates.js'; + +// group/component/name, each kebab-case. +const SLUG_RE = /^[a-z0-9]+(-[a-z0-9]+)*(\/[a-z0-9]+(-[a-z0-9]+)*){2}$/; + +function fail(message) { + console.error(message); + process.exit(1); +} + +const toWords = s => s.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)); + +/** Names the templates need, e.g. "inputs/button/new-thing" → title "Button New Thing". */ +function toNames(slug) { + const [, component, name] = slug.split('/'); + + return { + slug, + title: [...toWords(component), ...toWords(name)].join(' '), + component: [...toWords(component), ...toWords(name)].join(''), + pkgName: `react-${component}-${name}`, + }; +} + +async function run() { + const slug = process.argv[2]; + if (!slug || !SLUG_RE.test(slug)) { + fail('Usage: npm run add:sample //\n e.g. npm run add:sample inputs/button/new-thing'); + } + + const dir = path.join(SAMPLES_ROOT, slug); + if (existsSync(dir)) { + fail(`samples/${slug} already exists`); + } + + const names = toNames(slug); + for (const [file, template] of Object.entries(TEMPLATES)) { + const full = path.join(dir, file); + await fsp.mkdir(path.dirname(full), { recursive: true }); + await fsp.writeFile(full, template(names)); + } + + console.log(`Created samples/${slug}`); +} + +run(); diff --git a/scripts/check-samples.js b/scripts/check-samples.js new file mode 100644 index 0000000000..f3e0324ae5 --- /dev/null +++ b/scripts/check-samples.js @@ -0,0 +1,83 @@ +#!/usr/bin/env node +/** + * check-samples.js: type-check every published sample in one TypeScript run. + * + * WHY not each sample's own tsconfig + * ────────────────────────────────── + * Most samples resolve modules with `moduleResolution: node`, which cannot + * see the types the IG packages publish only through `exports`. Every IG + * component then types as `any`, so a prop the component does not have, e.g. + * , passes unnoticed. tsconfig.samples.json + * checks all of them with bundler resolution instead; one program over every + * sample takes well under a minute, where ~1000 `tsc -p` runs take an hour. + * + * Any type error fails the check. Skipped: samples in lib/unpublished.json, + * as everywhere else, and in lib/skip-type-check.json, generated samples + * whose fix has to land in igniteui-xplat-examples. + */ +import path from 'node:path'; +import ts from 'typescript'; + +import { REPO_ROOT, UNPUBLISHED } from './lib/samples.js'; +import skipTypeCheck from './lib/skip-type-check.json' with { type: 'json' }; + +const CONFIG = path.join(REPO_ROOT, 'tsconfig.samples.json'); +const SKIPPED = new Set([...UNPUBLISHED, ...Object.keys(skipTypeCheck.samples)]); + +// samples////… → // +const SLUG_RE = /^samples\/([^/]+\/[^/]+\/[^/]+)\//; + +/** The sample slug a file belongs to, or undefined outside samples/. */ +function slugOf(fileName) { + const rel = path.relative(REPO_ROOT, fileName).replace(/\\/g, '/'); + return rel.match(SLUG_RE)?.[1]; +} + +const formatHost = { + getCanonicalFileName: f => f, + getCurrentDirectory: () => REPO_ROOT, + getNewLine: () => '\n', +}; +// Pretty output in a terminal, one line per error in CI logs (as tsc does). +const format = process.stdout.isTTY ? ts.formatDiagnosticsWithColorAndContext : ts.formatDiagnostics; + +function report(diagnostics) { + console.error(format(diagnostics, formatHost)); +} + +function run() { + const { config, error } = ts.readConfigFile(CONFIG, ts.sys.readFile); + if (error) { + report([error]); + process.exit(1); + } + + const parsed = ts.parseJsonConfigFileContent(config, ts.sys, REPO_ROOT, undefined, CONFIG); + if (parsed.errors.length) { + report(parsed.errors); + process.exit(1); + } + + const fileNames = parsed.fileNames.filter(f => !SKIPPED.has(slugOf(f))); + const checked = new Set(fileNames.map(slugOf).filter(Boolean)); + const program = ts.createProgram(fileNames, parsed.options); + + const diagnostics = ts.getPreEmitDiagnostics(program); + const failing = [...new Set(diagnostics.map(d => d.file && slugOf(d.file.fileName)).filter(Boolean))].sort(); + + if (diagnostics.length) { + report(diagnostics); + } + + console.log(`Type-checked ${checked.size} sample(s).`); + + if (failing.length) { + console.error(`\n${failing.length} sample(s) have type errors:`); + failing.forEach(slug => console.error(` ${slug}`)); + } + if (diagnostics.length) { + process.exit(1); + } +} + +run(); diff --git a/scripts/copy-ig-themes.js b/scripts/copy-ig-themes.js new file mode 100644 index 0000000000..85a89a4b5b --- /dev/null +++ b/scripts/copy-ig-themes.js @@ -0,0 +1,59 @@ +#!/usr/bin/env node +/** + * copy-ig-themes.js: copy Ignite UI theme sheets into public/ig-themes/. + * + * Sample pages link their theme from instead of importing it from the + * sample module. A static sheet blocks first paint (no unstyled flash), is + * cached once for every page, and can be re-pointed by the docs theming + * widget by changing one href. + * + * public/ig-themes/webcomponents/{light,dark}/{material,bootstrap,fluent,indigo}.css + * public/ig-themes/grids/{light,dark}/{material,bootstrap,fluent,indigo}.css + */ +import { copyFileSync, existsSync, mkdirSync, readdirSync, rmSync } from 'node:fs'; +import path from 'node:path'; + +import { REPO_ROOT } from './lib/samples.js'; + +const OUTPUT_ROOT = path.join(REPO_ROOT, 'public', 'ig-themes'); +const VARIANTS = ['light', 'dark']; + +/** Output folder → [package, folder inside it that holds {light,dark}/]. */ +const SOURCES = { + webcomponents: ['igniteui-webcomponents', 'themes'], + grids: ['igniteui-react-grids', 'grids/themes'], +}; + +/** Installed package directory: trial name first, then the licensed build. */ +function pkgDir(pkg) { + const candidates = [pkg, `@infragistics/${pkg}`].map(p => path.join(REPO_ROOT, 'node_modules', p)); + return candidates.find(existsSync) ?? null; +} + +rmSync(OUTPUT_ROOT, { recursive: true, force: true }); + +let copied = 0; +for (const [key, [pkg, subdir]] of Object.entries(SOURCES)) { + const dir = pkgDir(pkg); + if (!dir) { + console.warn(`[copy-ig-themes] ${pkg} not installed, skipping`); + continue; + } + + for (const variant of VARIANTS) { + const from = path.join(dir, subdir, variant); + if (!existsSync(from)) { + continue; + } + + const to = path.join(OUTPUT_ROOT, key, variant); + mkdirSync(to, { recursive: true }); + + for (const file of readdirSync(from).filter(f => f.endsWith('.css'))) { + copyFileSync(path.join(from, file), path.join(to, file)); + copied++; + } + } +} + +console.log(`[copy-ig-themes] copied ${copied} stylesheet(s) to public/ig-themes/`); diff --git a/scripts/generate-code-viewer.js b/scripts/generate-code-viewer.js new file mode 100644 index 0000000000..8ca8cabb19 --- /dev/null +++ b/scripts/generate-code-viewer.js @@ -0,0 +1,124 @@ +#!/usr/bin/env node +/** + * generate-code-viewer.js: one JSON file per sample for the docs code viewer. + * + * Replaces `gulp updateCodeViewer`. The output schema and URL are unchanged, + * because the docs site and its StackBlitz `sdk.openProject()` flow read them: + * + * public/code-viewer///.json + * → /code-viewer/grids/grid/overview.json + * + * File order inside `sampleFiles`: + * 1. src/index.tsx + * 2. src/*.css|scss|json, by name + * 3. src/*.ts|tsx data and helper files, by name + * 4. index.html, tsconfig.json, vite.config.js, package.json + * + * Paths are project-relative ("src/index.tsx") so the files open as a + * runnable project. + */ +import { existsSync } from 'node:fs'; +import fsp from 'node:fs/promises'; +import path from 'node:path'; + +import { REPO_ROOT, findSamples } from './lib/samples.js'; + +const OUTPUT_ROOT = path.join(REPO_ROOT, 'public', 'code-viewer'); +const MAIN_FILE = 'index.tsx'; +const DATA_HEADER = 'DATA'; + +// Docs always show public package names, e.g. '@infragistics/igniteui-react' → 'igniteui-react'. +const SCOPED_RE = /@infragistics\/(igniteui)/g; + +/** Project files appended after the sources, as [path, extension]. */ +const BOILERPLATE = [ + ['index.html', 'html'], + ['tsconfig.json', 'json'], + ['vite.config.js', 'js'], + ['package.json', 'json'], +]; + +/** How each src/ extension is presented. Anything else is left out. */ +const SOURCE_KINDS = { + '.css': { ext: 'css', header: 'css', isMain: true, group: 'source' }, + '.scss': { ext: 'scss', header: 'scss', isMain: true, group: 'source' }, + '.json': { ext: 'json', header: 'json', isMain: false, group: 'source' }, + '.ts': { ext: 'ts', header: DATA_HEADER, isMain: true, group: 'data' }, + '.tsx': { ext: 'ts', header: DATA_HEADER, isMain: true, group: 'data' }, +}; + +/** One code-viewer entry. Key order matches the gulp output. */ +function entry(filePath, content, ext, header, isMain) { + return { + hasRelativeAssetsUrls: false, + isMain, + fileExtension: ext, + fileHeader: header, + path: filePath, + content: content.replace(SCOPED_RE, '$1'), + }; +} + +/** src/ files, grouped and in output order. */ +async function sourceEntries(srcDir) { + const names = (await fsp.readdir(srcDir)).sort(); + const groups = { source: [], data: [] }; + + for (const name of names) { + const kind = SOURCE_KINDS[path.extname(name)]; + if (!kind || name === MAIN_FILE) { + continue; + } + + const content = await fsp.readFile(path.join(srcDir, name), 'utf8'); + groups[kind.group].push(entry(`src/${name}`, content, kind.ext, kind.header, kind.isMain)); + } + + return [...groups.source, ...groups.data]; +} + +async function collect(dir) { + const srcDir = path.join(dir, 'src'); + const main = await fsp.readFile(path.join(srcDir, MAIN_FILE), 'utf8'); + const files = [entry(`src/${MAIN_FILE}`, main, 'tsx', 'tsx', true), ...(await sourceEntries(srcDir))]; + + for (const [file, ext] of BOILERPLATE) { + const full = path.join(dir, file); + if (!existsSync(full)) { + continue; + } + files.push(entry(file, await fsp.readFile(full, 'utf8'), ext, ext, false)); + } + + return files; +} + +async function write(sample) { + const sampleFiles = await collect(sample.dir); + const out = path.join(OUTPUT_ROOT, `${sample.slug}.json`); + + await fsp.mkdir(path.dirname(out), { recursive: true }); + await fsp.writeFile(out, JSON.stringify({ sampleFiles }, null, ' ')); +} + +async function run() { + await fsp.rm(OUTPUT_ROOT, { recursive: true, force: true }); + + const samples = await findSamples('published'); + const results = await Promise.allSettled(samples.map(write)); + + // Report failures by slug; a missing src/index.tsx is the usual cause. + const failed = results + .map((r, i) => ({ r, slug: samples[i].slug })) + .filter(({ r }) => r.status === 'rejected'); + for (const { r, slug } of failed) { + console.error(` ERR ${slug}: ${r.reason.message}`); + } + + console.log(`Generated ${samples.length - failed.length} code-viewer file(s) in ${path.relative(REPO_ROOT, OUTPUT_ROOT)}/`); + if (failed.length) { + process.exit(1); + } +} + +run(); diff --git a/scripts/lib/sample-globals.d.ts b/scripts/lib/sample-globals.d.ts new file mode 100644 index 0000000000..084b97ef3a --- /dev/null +++ b/scripts/lib/sample-globals.d.ts @@ -0,0 +1,14 @@ +/** + * Globals for tsconfig.samples.json only. + * + * Samples generated by igniteui-xplat-examples annotate render() with the + * global JSX namespace, which @types/react 19 removed in favor of React.JSX. + * Restore the one member they use, so the check reports real errors only. + */ +import type { JSX as ReactJSX } from 'react'; + +declare global { + namespace JSX { + type Element = ReactJSX.Element; + } +} diff --git a/scripts/lib/samples.js b/scripts/lib/samples.js new file mode 100644 index 0000000000..5f2603aa0a --- /dev/null +++ b/scripts/lib/samples.js @@ -0,0 +1,61 @@ +/** + * Sample discovery shared by the repo scripts. + * + * A sample is a directory exactly three levels below samples/ that holds a + * package.json: + * + * samples////package.json + * e.g. samples/grids/grid/overview → slug "grids/grid/overview" + */ +import { existsSync } from 'node:fs'; +import fsp from 'node:fs/promises'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +import unpublished from './unpublished.json' with { type: 'json' }; + +export const REPO_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..'); +export const SAMPLES_ROOT = path.join(REPO_ROOT, 'samples'); + +const SLUG_DEPTH = 3; +const SKIP_DIRS = new Set(['node_modules']); + +/** Slugs left out of the browser and code viewer; see unpublished.json. */ +export const UNPUBLISHED = new Set(unpublished.samples); + +/** Sorted child directory names, without node_modules. */ +async function subdirs(dir) { + const entries = await fsp.readdir(dir, { withFileTypes: true }); + + return entries + .filter(e => e.isDirectory() && !SKIP_DIRS.has(e.name)) + .map(e => e.name) + .sort(); +} + +/** + * Samples sorted by slug. + * 'all' → every sample folder (version updates) + * 'published' → without UNPUBLISHED (browser pages, code viewer) + * @param {'all' | 'published'} scope + * @returns {Promise<{ slug: string, dir: string }[]>} + */ +export async function findSamples(scope) { + // Walk level by level instead of a recursive readdir, so installed + // node_modules inside a sample (hundreds of MB) are never traversed. + let slugs = ['']; + for (let depth = 0; depth < SLUG_DEPTH; depth++) { + const levels = await Promise.all( + slugs.map(async slug => { + const names = await subdirs(path.join(SAMPLES_ROOT, slug)); + return names.map(name => (slug ? `${slug}/${name}` : name)); + }), + ); + slugs = levels.flat(); + } + + return slugs + .filter(slug => scope === 'all' || !UNPUBLISHED.has(slug)) + .map(slug => ({ slug, dir: path.join(SAMPLES_ROOT, slug) })) + .filter(s => existsSync(path.join(s.dir, 'package.json'))); +} diff --git a/scripts/lib/skip-type-check.json b/scripts/lib/skip-type-check.json new file mode 100644 index 0000000000..55535cbee5 --- /dev/null +++ b/scripts/lib/skip-type-check.json @@ -0,0 +1,10 @@ +{ + "//": "Samples `npm run check:samples` skips, with the error each has. All are exported from igniteui-xplat-examples, so a fix made only here is lost at the next export: fix the source there, then remove the sample from this list.", + "samples": { + "grids/data-grid/column-resizing": "renders ; the component is GridColumnResizing", + "grids/data-grid/row-selection": "root.render() without `const root = ReactDOM.createRoot(...)`", + "grids/grid/row-pinning-extra-column": "rowList is an array; it has no toArray()", + "maps/geo-map/display-azure-imagery": "ref callback returns a value, which React 19 reads as a cleanup function", + "maps/geo-map/display-bing-imagery": "ref callback returns a value, which React 19 reads as a cleanup function" + } +} diff --git a/scripts/lib/templates.js b/scripts/lib/templates.js new file mode 100644 index 0000000000..a3086226c0 --- /dev/null +++ b/scripts/lib/templates.js @@ -0,0 +1,149 @@ +/** + * Starter files for `npm run add:sample`. + * + * Each template is a function of the sample's names, e.g. for + * "inputs/button/new-thing": + * slug inputs/button/new-thing + * title Button New Thing + * component ButtonNewThing + * pkgName react-button-new-thing + * + * Versions come from lib/versions.js, so a new sample starts on the same + * packages `npm run update:ig` keeps every other sample on. + * + * tsconfig uses `moduleResolution: bundler`: the IG packages publish their + * types only through `exports`, which `node` resolution ignores. + */ +import { SHARED, TOOLING } from './versions.js'; + +const DEPENDENCIES = ['igniteui-react', 'igniteui-webcomponents', 'react', 'react-dom']; +const DEV_DEPENDENCIES = ['@types/react', '@types/react-dom', '@vitejs/plugin-react', 'typescript', 'vite']; + +/** { name: version } for the given names, in the given order. */ +function pick(list, names) { + const versions = new Map(list.map(p => [p.name, p.version])); + return Object.fromEntries(names.map(name => [name, versions.get(name)])); +} + +const indexHtml = n => ` + + + + ${n.title} + + + + +
+ + + +`; + +// The module-level mount lets the sample run standalone. The samples +// browser strips it at build time and mounts the default export itself. +const indexTsx = n => `import ReactDOM from 'react-dom/client'; +import { IgrButton } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; +import './index.css'; + +export default function ${n.component}() { + return ( +
+ Button +
+ ); +} + +// rendering above component in the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(<${n.component} />); +`; + +const indexCss = () => `/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ +`; + +const tsconfig = () => + JSON.stringify( + { + 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'], + }, + null, + 2, + ) + '\n'; + +const viteConfig = () => `import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + build: { + outDir: 'build' + }, + server: { + open: false + }, +}); +`; + +const packageJson = n => + JSON.stringify( + { + name: n.pkgName, + description: `This project provides example of ${n.title} using Infragistics React components`, + author: 'Infragistics', + version: '1.0.0', + private: true, + scripts: { + start: 'vite --port 4200', + build: 'tsc && vite build', + preview: 'vite preview', + }, + dependencies: pick(SHARED, DEPENDENCIES), + devDependencies: pick(TOOLING, DEV_DEPENDENCIES), + }, + null, + 2, + ) + '\n'; + +const readme = n => `This folder contains a React application with the ${n.title} example. + +- [Run in the samples browser](https://www.infragistics.com/react-demos/${n.slug}) +- [Source](./src/index.tsx) + +## Run locally + +\`\`\` +git clone https://github.com/IgniteUI/igniteui-react-examples.git +cd igniteui-react-examples/samples/${n.slug} +npm install +npm start +\`\`\` + +Then open http://localhost:4200/ in your browser. +`; + +/** Relative path → template. */ +export const TEMPLATES = { + 'index.html': indexHtml, + 'src/index.tsx': indexTsx, + 'src/index.css': indexCss, + 'tsconfig.json': tsconfig, + 'vite.config.js': viteConfig, + 'package.json': packageJson, + 'README.md': readme, +}; diff --git a/scripts/lib/unpublished.json b/scripts/lib/unpublished.json new file mode 100644 index 0000000000..a2305fd86b --- /dev/null +++ b/scripts/lib/unpublished.json @@ -0,0 +1,9 @@ +{ + "//": "Samples kept in the repo but left out of the samples browser and the docs code viewer. The itemized charts reference a CompanyMarketCapItemized data source they do not include; the old gulp build skipped the same four.", + "samples": [ + "charts/data-chart/itemized-bar-chart", + "charts/data-chart/itemized-column-chart", + "charts/data-chart/itemized-stacked-bar-chart", + "charts/data-chart/itemized-stacked-column-chart" + ] +} diff --git a/scripts/lib/versions.js b/scripts/lib/versions.js new file mode 100644 index 0000000000..ee23a70602 --- /dev/null +++ b/scripts/lib/versions.js @@ -0,0 +1,64 @@ +/** + * Package versions kept in sync by `npm run update:ig`. + * + * SHARED → the root package.json and every sample. + * TOOLING → samples only. The root has its own toolchain (Astro, + * TypeScript 6) that standalone sample projects do not use. + * + * To switch a package to the licensed feed, prefix its name: + * { name: '@infragistics/igniteui-react-charts', version: '19.6.0' } + */ + +export const SHARED = [ + // Ignite UI, updated often + { name: "igniteui-react", version: "19.9.0" }, + { name: "igniteui-react-core", version: "19.6.0" }, + { name: "igniteui-react-charts", version: "19.6.0" }, + { name: "igniteui-react-dashboards", version: "19.6.0" }, + { name: "igniteui-react-data-grids", version: "19.6.0" }, + { name: "igniteui-react-datasources", version: "19.6.0" }, + { name: "igniteui-react-excel", version: "19.6.0" }, + { name: "igniteui-react-gauges", version: "19.6.0" }, + { name: "igniteui-react-grids", version: "19.10.0" }, + { name: "igniteui-react-inputs", version: "19.6.0" }, + { name: "igniteui-react-layouts", version: "19.6.0" }, + { name: "igniteui-react-maps", version: "19.6.0" }, + { name: "igniteui-react-spreadsheet", version: "19.6.0" }, + { name: "igniteui-react-spreadsheet-chart-adapter", version: "19.6.0" }, + + // Ignite UI, updated occasionally + { name: "igniteui-webcomponents", version: "~7.4.1" }, + { name: "igniteui-react-dockmanager", version: "19.9.0" }, + { name: "igniteui-dockmanager", version: "^2.2.1" }, + { name: "igniteui-grid-lite", version: "~0.11.0" }, + { name: "igniteui-i18n-resources", version: "^1.0.5" }, + + // Optional peers of igniteui-webcomponents, imported by the chat + // markdown renderer. npm does not install optional peers; undeclared, + // the chat samples fail to build. + { name: "dompurify", version: "^3.4.16" }, + { name: "marked", version: "^18.0.14" }, + { name: "marked-shiki", version: "^1.2.1" }, + { name: "shiki", version: "^4.4.3" }, + + // React + { name: "react", version: "^19.3.0" }, + { name: "react-dom", version: "^19.3.0" }, +]; + +export const TOOLING = [ + { name: "tslib", version: "^2.4.0" }, + { name: "typescript", version: "^5.9.3" }, + { name: "@types/jest", version: "^30.0.0" }, + { name: "@types/node", version: "^24.7.1" }, + { name: "@types/react", version: "^19.3.0" }, + { name: "@types/react-dom", version: "^19.3.0" }, + { name: "@vitejs/plugin-react", version: "^6.1.1" }, + { name: "vite", version: "^8.3.1" }, + { name: "vitest", version: "^5.0.2" }, + { name: "@vitest/browser", version: "^5.0.2" }, + { name: "vitest-canvas-mock", version: "^1.2.0" }, + { name: "eslint", version: "^8.33.0" }, + { name: "eslint-config-react", version: "^1.1.7" }, + { name: "eslint-plugin-react", version: "^7.20.0" }, +]; diff --git a/scripts/update-ig.js b/scripts/update-ig.js new file mode 100644 index 0000000000..49755b4958 --- /dev/null +++ b/scripts/update-ig.js @@ -0,0 +1,91 @@ +#!/usr/bin/env node +/** + * update-ig.js: sync package versions across the repo. + * + * Replaces `gulp updateIG`. Sets every package listed in lib/versions.js to + * its target version, in the root package.json and in every sample, and + * sorts dependency keys. + * + * root package.json ← SHARED + * samples/** ← SHARED + TOOLING + * + * Usage: edit lib/versions.js, then `npm run update:ig && npm install`. + */ +import fsp from 'node:fs/promises'; +import path from 'node:path'; + +import { REPO_ROOT, findSamples } from './lib/samples.js'; +import { SHARED, TOOLING } from './lib/versions.js'; + +const SECTIONS = ['dependencies', 'devDependencies', 'peerDependencies']; +const SCOPE = '@infragistics/'; + +/** Unscoped name → target, so trial and licensed names both match. */ +function toTargets(list) { + return new Map(list.map(p => [p.name.replace(SCOPE, ''), p])); +} + +function sortKeys(obj) { + return Object.fromEntries(Object.entries(obj).sort(([a], [b]) => a.localeCompare(b))); +} + +/** Applies targets to a parsed package.json in place. Returns whether it changed. */ +function upgrade(pkg, targets) { + let changed = false; + + for (const section of SECTIONS) { + const deps = pkg[section]; + if (!deps) { + continue; + } + + for (const [name, version] of Object.entries(deps)) { + const target = targets.get(name.replace(SCOPE, '')); + if (!target || (target.name === name && target.version === version)) { + continue; + } + + // Re-keyed as well as re-versioned: the target may switch feeds. + delete deps[name]; + deps[target.name] = target.version; + changed = true; + } + + const sorted = sortKeys(deps); + if (JSON.stringify(sorted) !== JSON.stringify(deps)) { + changed = true; + } + pkg[section] = sorted; + } + + return changed; +} + +/** Upgrades one file on disk. Returns whether it was rewritten. */ +async function updateFile(file, targets) { + const pkg = JSON.parse(await fsp.readFile(file, 'utf8')); + if (!upgrade(pkg, targets)) { + return false; + } + + await fsp.writeFile(file, JSON.stringify(pkg, null, 2) + '\n'); + console.log(` updated: ${path.relative(REPO_ROOT, file)}`); + return true; +} + +async function run() { + const rootTargets = toTargets(SHARED); + const sampleTargets = toTargets([...SHARED, ...TOOLING]); + + const samples = await findSamples('all'); + const jobs = [ + updateFile(path.join(REPO_ROOT, 'package.json'), rootTargets), + ...samples.map(s => updateFile(path.join(s.dir, 'package.json'), sampleTargets)), + ]; + + const results = await Promise.all(jobs); + const updated = results.filter(Boolean).length; + console.log(`\nUpdated ${updated} of ${jobs.length} package.json file(s).`); +} + +run(); diff --git a/src/assets/react.png b/src/assets/react.png new file mode 100644 index 0000000000..7ecdeba958 Binary files /dev/null and b/src/assets/react.png differ diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000000..acef35f175 --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/src/layouts/SampleLayout.astro b/src/layouts/SampleLayout.astro new file mode 100644 index 0000000000..dc8c9dace5 --- /dev/null +++ b/src/layouts/SampleLayout.astro @@ -0,0 +1,114 @@ +--- +const base = import.meta.env.BASE_URL.replace(/\/$/, ''); + +/** A stylesheet the sample needs, already resolved by the page. */ +type SampleStyle = + | { kind: 'link'; href: string; pkg: 'webcomponents' | 'grids'; variant: string; theme: string } + | { kind: 'inline'; css: string }; + +interface Props { + slug?: string; + title?: string; + styles?: SampleStyle[]; +} + +const { slug = '', title = 'Ignite UI for React', styles = [] } = Astro.props; +--- + + + + + + + {title} + + + + + + + + + + + + + + + {styles.map(style => style.kind === 'link' + ? + : + )} + + + + + + + +
+ + + + +
+ +
+
+ + + + diff --git a/src/pages/[...slug].astro b/src/pages/[...slug].astro new file mode 100644 index 0000000000..b94c7bdd04 --- /dev/null +++ b/src/pages/[...slug].astro @@ -0,0 +1,127 @@ +--- +/** + * pages/[...slug].astro — one page per sample, generated at build time. + * + * URL pattern: /grids/grid/overview, /charts/category-chart/overview, … + * (matches what the docs site embeds) + * + * Why NOT /samples/{slug}: + * The repo has a `samples/` directory where every sample has a package.json + * and an index.html. In dev, Vite would serve a request for /samples/{slug} + * from that folder instead of this route. /samples/{slug} is kept only as a + * redirect (pages/samples/[...slug].astro). + */ +import SampleLayout from '../layouts/SampleLayout.astro'; +import { SAMPLES } from '../utils/sample-index'; +import { slugToInfo, resolveSampleStyles } from '../utils/samples'; + +// Raw entry-module source for every sample. Used only to learn which +// stylesheets each sample imports, and in what order. +const tsxSources = import.meta.glob('../../samples/**/src/index.tsx', { + query: '?raw', + import: 'default', + eager: true, +}) as Record; + +// Every sample-local stylesheet, compiled to plain CSS text (SCSS included). +// These are inlined into so the sample is styled at first paint instead +// of after its (multi-megabyte) JS chunk finally evaluates. +const sampleCss = import.meta.glob('../../samples/**/src/*.{css,scss}', { + query: '?inline', + import: 'default', + eager: true, +}) as Record; + +const PKG_PREFIX = '../../samples/'; + +export function getStaticPaths() { + return SAMPLES.map(info => ({ params: { slug: info.slug } })); +} + +// Per-page code +const { slug } = Astro.params as { slug: string }; +const info = slugToInfo(slug)!; + +// Resolve this sample's stylesheets so SampleLayout can put them in . +// Theme sheets become s to public/ig-themes/; sample-local files are +// inlined. Anything that fails to resolve is dropped here and left to the +// sample module's own import, so a miss degrades to the old behaviour rather +// than losing the styles. +const base = import.meta.env.BASE_URL.replace(/\/$/, ''); +const styles = resolveSampleStyles(tsxSources[`${PKG_PREFIX}${slug}/src/index.tsx`] ?? '', slug, base) + .map(style => + style.kind === 'link' + ? style + : sampleCss[style.key] !== undefined + ? { kind: 'inline' as const, css: sampleCss[style.key] } + : null, + ) + .filter(v => v !== null); + +const pageTitle = `${info.displayName} | ${info.componentName} | Ignite UI for React`; +--- + + +
+
+ + + diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000000..590c7a9750 --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,239 @@ +--- +import SampleLayout from '../layouts/SampleLayout.astro'; +import { SAMPLES } from '../utils/sample-index'; +import { buildNavTree } from '../utils/samples'; +import { Image } from 'astro:assets'; +import logoSrc from '../assets/react.png'; + +const groups = buildNavTree(SAMPLES); +const base = import.meta.env.BASE_URL.replace(/\/$/, ''); + +const groupIcon: Record = { + charts: 'bar_chart', + grids: 'grid_on', + inputs: 'tune', + layouts: 'dashboard', + gauges: 'speed', + maps: 'map', + excel: 'table_chart', + scheduling: 'calendar_today', + notifications: 'notifications', + interactions: 'smart_toy', + menus: 'menu', + editors: 'edit', + gallery: 'palette', +}; +--- + + + + +
+ +
+ +
+

Ignite UI for React

+
+
+ + + + + +
+ {groups.map(group => ( +
+
+ {groupIcon[group.id] ?? 'widgets'} + {group.displayName} +
+
+ {group.components.map(comp => { + const first = comp.samples[0]?.slug; + return ( + + {comp.displayName} + {comp.samples.length} sample{comp.samples.length !== 1 ? 's' : ''} + + ); + })} +
+
+ ))} +

No components match your search.

+
+
+ + +
+ diff --git a/src/pages/nav.json.ts b/src/pages/nav.json.ts new file mode 100644 index 0000000000..447e511090 --- /dev/null +++ b/src/pages/nav.json.ts @@ -0,0 +1,17 @@ +/** + * nav.json — the navigation tree as a single static, cacheable asset. + * + * The sidebar is rendered client-side (src/scripts/nav.ts) from this file + * instead of being baked into every page: with 950+ samples the tree is + * ~190KB of HTML, which would otherwise be duplicated into each page. + */ +import { SAMPLES } from '../utils/sample-index'; +import { buildNavTree } from '../utils/samples'; + +export function GET() { + const groups = buildNavTree(SAMPLES); + + return new Response(JSON.stringify({ groups }), { + headers: { 'Content-Type': 'application/json' }, + }); +} diff --git a/src/pages/samples/[...slug].astro b/src/pages/samples/[...slug].astro new file mode 100644 index 0000000000..9ad7163e0f --- /dev/null +++ b/src/pages/samples/[...slug].astro @@ -0,0 +1,43 @@ +--- +/** + * pages/samples/[...slug].astro — redirects /samples/ to /. + * + * The previous samples browser served every sample under /samples/ and showed + * the sidebar there; READMEs and the docs still link to that shape. A plain + * config redirect would land on a sidebar-less deep link, so this page arms + * the sidebar flag first, then replaces itself with the canonical URL. + * The meta refresh covers clients without script. + */ +import { SAMPLES } from '../../utils/sample-index'; + +export function getStaticPaths() { + return SAMPLES.map(info => ({ params: { slug: info.slug } })); +} + +const { slug } = Astro.params as { slug: string }; +const base = import.meta.env.BASE_URL.replace(/\/$/, ''); +const target = `${base}/${slug}`; +--- + + + + + + + Redirecting to {target} + + + + + + + {target} + + diff --git a/src/scripts/nav.ts b/src/scripts/nav.ts new file mode 100644 index 0000000000..af36a9ac63 --- /dev/null +++ b/src/scripts/nav.ts @@ -0,0 +1,214 @@ +/** + * nav.ts — client-side navigation sidebar. + * + * Fetches the build-time nav tree (/nav.json) and renders it into the empty + * #nav-bar shell that SampleLayout.astro ships. Rendering client-side keeps + * the ~190KB tree out of every page's HTML; pages embedded as iframes in the + * docs site never even fetch it. + * + * The generated DOM (ids, classes, aria attributes) matches what the old + * server-rendered NavSidebar.astro produced, so public/styles/layout.css + * applies unchanged. + */ +import type { NavGroup } from '../utils/samples'; +import logoSrc from '../assets/react.png'; + +const NAV_FLAG = 'igx-react-nav'; + +const base = import.meta.env.BASE_URL.replace(/\/$/, ''); +const activeSlug = document.documentElement.dataset.sampleSlug ?? ''; + +// Rendering + +function renderLogo(): HTMLAnchorElement { + const link = document.createElement('a'); + link.href = `${base}/`; + link.className = 'nav-logo'; + + const inner = document.createElement('div'); + inner.className = 'nav-logo-inner'; + + const img = document.createElement('img'); + img.src = logoSrc.src; + img.alt = 'Ignite UI for React'; + img.width = 24; + img.height = 24; + + const label = document.createElement('span'); + label.textContent = 'Ignite UI for React'; + + inner.append(img, label); + link.append(inner); + return link; +} + +function renderSearch(): HTMLDivElement { + const wrap = document.createElement('div'); + wrap.className = 'nav-search'; + + const input = document.createElement('input'); + input.id = 'nav-search-input'; + input.type = 'search'; + input.placeholder = 'Search samples...'; + input.setAttribute('aria-label', 'Search samples'); + input.autocomplete = 'off'; + input.spellcheck = false; + + wrap.append(input); + return wrap; +} + +function renderGroup(group: NavGroup): HTMLElement { + const section = document.createElement('section'); + + const heading = document.createElement('div'); + heading.className = 'nav-group'; + heading.textContent = group.displayName; + section.append(heading); + + for (const comp of group.components) { + const id = `${group.id}-${comp.id}`; + const hasActive = comp.samples.some(s => s.slug === activeSlug); + + const button = document.createElement('button'); + button.className = 'nav-component'; + button.id = `nav-comp-${id}`; + button.type = 'button'; + button.setAttribute('aria-controls', `nav-list-${id}`); + button.setAttribute('aria-expanded', hasActive ? 'true' : 'false'); + button.textContent = `${comp.displayName} `; + + const count = document.createElement('span'); + count.style.cssText = 'font-size:0.7rem; color:#aaa;'; + count.textContent = `(${comp.samples.length})`; + button.append(count); + + const list = document.createElement('ul'); + list.className = 'nav-list'; + list.id = `nav-list-${id}`; + list.dataset.state = hasActive ? 'expanded' : 'collapsed'; + list.setAttribute('role', 'list'); + + for (const sample of comp.samples) { + const li = document.createElement('li'); + const link = document.createElement('a'); + link.href = `${base}/${sample.slug}`; + link.className = sample.slug === activeSlug ? 'nav-link active' : 'nav-link'; + link.dataset.nav = `${base}/${sample.slug}`; + + const label = document.createElement('span'); + label.textContent = sample.displayName; + link.append(label); + li.append(link); + list.append(li); + } + + section.append(button, list); + } + + return section; +} + +// Behavior (unchanged from the previous server-rendered sidebar) + +function wireBehavior(nav: HTMLElement) { + // When the user clicks a sidebar nav link, set the sessionStorage flag + // so the next page load knows to keep the sidebar visible. + nav.addEventListener('click', e => { + const link = (e.target as Element).closest('a[data-nav]'); + if (link) sessionStorage.setItem(NAV_FLAG, '1'); + }); + + // Expand / collapse component groups. + nav.querySelectorAll('.nav-component').forEach(header => { + const listId = header.getAttribute('aria-controls'); + if (!listId) return; + const list = document.getElementById(listId); + if (!list) return; + + header.addEventListener('click', () => { + const isExpanded = list.dataset.state === 'expanded'; + list.dataset.state = isExpanded ? 'collapsed' : 'expanded'; + header.setAttribute('aria-expanded', isExpanded ? 'false' : 'true'); + }); + }); + + // Scroll the active link into view. + const activeLink = nav.querySelector('a.active'); + if (activeLink) { + requestAnimationFrame(() => { + activeLink.scrollIntoView({ block: 'nearest', behavior: 'instant' }); + }); + } + + // Search / filter + const searchInput = nav.querySelector('#nav-search-input'); + searchInput?.addEventListener('input', () => { + const q = searchInput.value.trim().toLowerCase(); + + nav.querySelectorAll('section').forEach(section => { + let sectionHasMatch = false; + + section.querySelectorAll('.nav-component').forEach(btn => { + const listId = btn.getAttribute('aria-controls'); + const list = listId ? document.getElementById(listId) : null; + if (!list) return; + + let compHasMatch = false; + list.querySelectorAll('li').forEach(li => { + const match = !q || (li.textContent?.toLowerCase().includes(q) ?? false); + li.classList.toggle('nav-item-hidden', !match); + if (match) compHasMatch = true; + }); + + btn.classList.toggle('nav-item-hidden', !compHasMatch); + if (q && compHasMatch) { + list.dataset.state = 'expanded'; + btn.setAttribute('aria-expanded', 'true'); + } + if (compHasMatch) sectionHasMatch = true; + }); + + section.classList.toggle('nav-section-hidden', !sectionHasMatch); + }); + + // On clear: restore original collapsed state (remove inline overrides) + if (!q) { + nav.querySelectorAll('.nav-item-hidden').forEach(el => el.classList.remove('nav-item-hidden')); + nav.querySelectorAll('.nav-section-hidden').forEach(el => el.classList.remove('nav-section-hidden')); + // Re-collapse all lists that weren't previously expanded + nav.querySelectorAll('.nav-list').forEach(list => { + if (list.dataset.state === 'expanded' && !list.contains(nav.querySelector('a.active'))) { + list.dataset.state = 'collapsed'; + } + }); + } + }); +} + +// Entry point + +async function initNav() { + const nav = document.getElementById('nav-bar'); + if (!nav) return; + + // Visibility was decided (and the flag armed) before first paint by the + // inline script in SampleLayout.astro. with-nav also proves sessionStorage + // is accessible, so the click handler below may use it unguarded. + if (!document.documentElement.classList.contains('with-nav')) return; + + let groups: NavGroup[]; + try { + const res = await fetch(`${base}/nav.json`); + if (!res.ok) throw new Error(`HTTP ${res.status}`); + groups = (await res.json()).groups; + } catch (err) { + console.error('[nav] failed to load nav.json', err); + return; + } + + nav.append(renderLogo(), renderSearch(), ...groups.map(renderGroup)); + wireBehavior(nav); +} + +initNav(); diff --git a/src/utils/sample-index.ts b/src/utils/sample-index.ts new file mode 100644 index 0000000000..50b05da1c4 --- /dev/null +++ b/src/utils/sample-index.ts @@ -0,0 +1,14 @@ +/** + * sample-index.ts — the build-time list of every sample. + * + * One glob, shared by every page that enumerates samples. Glob keys are + * relative to this file ("../../samples//package.json"), so pages at any + * depth (e.g. pages/samples/[...slug].astro) get the same keys. + */ +import { samplesFromGlobKeys, type SampleInfo } from './samples'; + +const pkgModules = import.meta.glob('../../samples/**/package.json', { + eager: true, +}) as Record; + +export const SAMPLES: SampleInfo[] = samplesFromGlobKeys(Object.keys(pkgModules)); diff --git a/browser/src/sample-size-reporter.ts b/src/utils/sample-size-reporter.ts similarity index 91% rename from browser/src/sample-size-reporter.ts rename to src/utils/sample-size-reporter.ts index 493678e20c..392d7a18ea 100644 --- a/browser/src/sample-size-reporter.ts +++ b/src/utils/sample-size-reporter.ts @@ -5,7 +5,7 @@ * The docs host posts { type: 'igd-sample-fit', width?: boolean } into the * iframe when it loads. In response we neutralize the viewport-bound sizing * this app inherits (shared.v8.css pins #root/html/body/main to height: 100%, - * and the samples browser chrome plus the shared .container/.sample wrappers + * and the layout shell (#shell, #router-target) plus the shared .container/.sample wrappers * chain another height: 100% on top — all of which can only echo the iframe's * own height back) and report the content's size with * { type: 'igd-sample-height', height, width? } immediately and on every @@ -68,11 +68,10 @@ export function initSampleSizeReporter(): void { const style = document.createElement('style'); // Every link in the height: 100% chain has to be released, otherwise // the first one left pinned re-anchors everything below it to the - // iframe height. !important also beats SamplesBrowser's inline - // height: 100% on .sbSwitch. + // iframe height. style.textContent = 'html, body, #root, main { height: auto !important; overflow: visible !important; }' + - '.sbRoot, .sbContent, .sbSwitch { height: auto !important; overflow: visible !important; }' + + '#shell, #router-target { height: auto !important; overflow: visible !important; }' + '.container, .sample { height: auto !important; overflow: visible !important; }'; document.head.appendChild(style); } diff --git a/src/utils/sample-theme.ts b/src/utils/sample-theme.ts new file mode 100644 index 0000000000..f4a3e62d3a --- /dev/null +++ b/src/utils/sample-theme.ts @@ -0,0 +1,183 @@ +/** + * sample-theme.ts + * + * Lets the docs site re-theme this samples browser while it is embedded in a + * docs `` iframe. + * + * The docs ThemingWidget dispatches `igd-theme-change`; the Sample widget + * bridges that to `postMessage({ type: 'igd-sample-theme', theme, mode })` on + * the frame, and re-posts the current selection on every iframe `load`. Here we + * validate the sender and re-point the Ignite UI theme stylesheets to match. + * + * Dormant unless a trusted docs host asks for a theme. + * + * A theme change has TWO halves + * ───────────────────────────── + * 1. CSS — every sample page carries `` elements for the + * themes it uses (emitted by [...slug].astro). Re-pointing their href swaps + * the `--ig-*` palette. We rewrite only the trailing `/.css` + * so any BASE_PATH prefix survives without this module knowing about it. + * + * 2. Shadow styles — `igniteui-webcomponents` picks each component's shadow + * stylesheet from `getTheme()`, which is memoised the first time a component + * connects. Swapping CSS therefore recolours but leaves material geometry on + * a page that asked for fluent. `configureTheme()` is the only public call + * that updates that memo *and* emits the event its ThemingController listens + * for, so it must run alongside the href swap. + * + * Known limitation: `igniteui-webcomponents-grids` reads `--ig-theme` once, in + * a constructor, into an internal ThemeToken that it does not export. Grid CSS + * re-points correctly, but whatever that token feeds (default row sizing and + * friends) keeps its load-time value until the page reloads. + */ + +type ThemeName = 'material' | 'fluent' | 'bootstrap' | 'indigo'; +type ThemeMode = 'light' | 'dark' | 'system'; +type ResolvedMode = 'light' | 'dark'; + +interface ThemeMessage { + type?: string; + event?: string; + theme?: string; + themeName?: string; + mode?: string; +} + +const MESSAGE_TYPE = 'igd-sample-theme'; +const DARK_QUERY = '(prefers-color-scheme: dark)'; +const THEMES: ThemeName[] = ['material', 'fluent', 'bootstrap', 'indigo']; + +let selected: { theme: ThemeName; mode: ThemeMode } | null = null; +let latestRequest = 0; +let listening = false; + +function isTrustedOrigin(origin: string): boolean { + if (origin === window.location.origin) return true; + + let hostname: string; + try { + hostname = new URL(origin).hostname; + } catch { + return false; + } + + if (hostname === 'localhost' || hostname === '127.0.0.1') return true; + return hostname === 'infragistics.com' || hostname.endsWith('.infragistics.com'); +} + +function parseMessage(data: unknown): { theme: ThemeName; mode: ThemeMode } | null { + if (!data || typeof data !== 'object') return null; + + const msg = data as ThemeMessage; + if (msg.type !== MESSAGE_TYPE && msg.event !== MESSAGE_TYPE) return null; + + const theme = (msg.theme ?? msg.themeName ?? '').toLowerCase() as ThemeName; + if (!THEMES.includes(theme)) return null; + + const rawMode = (msg.mode ?? 'light').toLowerCase(); + const mode: ThemeMode = rawMode === 'dark' || rawMode === 'system' ? rawMode : 'light'; + + return { theme, mode }; +} + +function resolveMode(mode: ThemeMode): ResolvedMode { + if (mode === 'light' || mode === 'dark') return mode; + return window.matchMedia?.(DARK_QUERY).matches ? 'dark' : 'light'; +} + +/** + * Point one theme at a different variant/theme and resolve once the new + * sheet has actually landed, so the caller can re-adopt shadow styles against + * CSS that is already live rather than mid-swap. + */ +function retarget(link: HTMLLinkElement, variant: ResolvedMode, theme: ThemeName): Promise { + // .../ig-themes///.css → ...//.css + const next = link.href.replace(/\/[^/]+\/[^/]+\.css(\?.*)?$/, `/${variant}/${theme}.css`); + + link.dataset.igThemeVariant = variant; + link.dataset.igThemeName = theme; + + // Already correct: no request is made, so no load event would ever fire. + if (link.href === next) return Promise.resolve(); + + return new Promise(resolve => { + const done = () => { + link.removeEventListener('load', done); + link.removeEventListener('error', done); + resolve(); + }; + link.addEventListener('load', done); + link.addEventListener('error', done); + link.href = next; + }); +} + +async function applyTheme(theme: ThemeName, mode: ThemeMode): Promise { + const resolved = resolveMode(mode); + const request = ++latestRequest; + + // Only the packages this sample actually themes have a link. A sample with no + // grid has nothing to re-point for grids, so there is nothing to create here. + const links = Array.from(document.querySelectorAll('link[data-ig-theme]')); + await Promise.all(links.map(link => retarget(link, resolved, theme))); + + // Drop stale responses so rapid switching can't land out of order. + if (request !== latestRequest) return; + + // Only a page that carries a theme link has shadow styles worth re-adopting: + // every sample here that imports no theme CSS draws from the charts / gauges / + // maps packages, which own no igniteui-webcomponents shadow theme. Guarding on + // that keeps a docs theme switch from pulling the igniteui-webcomponents chunk + // onto a page that would never otherwise load it. + if (links.length) { + try { + // Loaded on demand: for any sample using igc components this chunk is + // already in cache. + const { configureTheme } = await import('igniteui-webcomponents'); + if (request !== latestRequest) return; + configureTheme(theme, resolved); + } catch (err) { + console.warn(`[sample-theme] Could not re-adopt shadow styles for "${theme}":`, err); + } + } + + const root = document.documentElement; + root.setAttribute('data-igd-theme', theme); + root.setAttribute('data-igd-mode', resolved); + root.style.colorScheme = resolved; +} + +function onMessage(event: MessageEvent): void { + // Only the embedding docs page may drive the theme. + if (event.source !== window.parent || !isTrustedOrigin(event.origin)) return; + + const next = parseMessage(event.data); + if (!next) return; + if (selected && selected.theme === next.theme && selected.mode === next.mode) return; + + selected = next; + void applyTheme(next.theme, next.mode); +} + +function watchSystemMode(): void { + const query = window.matchMedia?.(DARK_QUERY); + if (!query) return; + + query.addEventListener('change', () => { + if (selected?.mode === 'system') void applyTheme(selected.theme, selected.mode); + }); +} + +/** + * Starts listening for theme messages from the embedding docs page. + * + * Must run while the document is still loading: the host re-posts on the iframe + * `load` event, which fires after module scripts execute, so no handshake is + * needed. + */ +export function initSampleThemeListener(): void { + if (listening || window.parent === window) return; + listening = true; + window.addEventListener('message', onMessage); + watchSystemMode(); +} diff --git a/src/utils/samples.ts b/src/utils/samples.ts new file mode 100644 index 0000000000..5fe7c1e47e --- /dev/null +++ b/src/utils/samples.ts @@ -0,0 +1,213 @@ +/** + * samples.ts — pure build-time helper utilities + * + * IMPORTANT: This file contains NO import.meta.glob calls. + * All globs live in the .astro files where Astro's Vite plugin handles them. + * This file only exports pure, stateless functions and types. + */ + +import unpublished from '../../scripts/lib/unpublished.json'; + +/** Slugs left out of the browser; see scripts/lib/unpublished.json. */ +const UNPUBLISHED = new Set(unpublished.samples); + +// --------------------------------------------------------------------------- +// Types +// --------------------------------------------------------------------------- + +export interface SampleInfo { + /** e.g. "grids/grid/overview" */ + slug: string; + /** e.g. "grids" */ + group: string; + /** e.g. "grid" */ + component: string; + /** e.g. "overview" */ + name: string; + /** Humanised name, e.g. "Overview" */ + displayName: string; + /** Humanised component name, e.g. "Grid" */ + componentName: string; + /** Humanised group name, e.g. "Grids" */ + groupName: string; +} + +export interface NavGroup { + id: string; + displayName: string; + components: NavComponent[]; +} + +export interface NavComponent { + id: string; + displayName: string; + samples: NavSample[]; +} + +export interface NavSample { + name: string; + displayName: string; + slug: string; +} + +// --------------------------------------------------------------------------- +// Helpers +// --------------------------------------------------------------------------- + +/** Convert a kebab-case folder name to Title Case, e.g. "overview" → "Overview" */ +export function toTitleCase(str: string): string { + return str + .split('-') + .map(w => w.charAt(0).toUpperCase() + w.slice(1)) + .join(' '); +} + +// --------------------------------------------------------------------------- +// Slug / path utilities +// --------------------------------------------------------------------------- + +/** Glob key → slug, e.g. "../../../../samples/grids/grid/overview/package.json" → "grids/grid/overview" */ +export function keyToSlug(key: string, prefix: string, suffix: string): string | null { + if (!key.startsWith(prefix) || !key.endsWith(suffix)) { + return null; + } + return key.slice(prefix.length, key.length - suffix.length); +} + +/** Prefix/suffix of the package.json glob keys used to enumerate samples. */ +const GLOB_PREFIX = '../../samples/'; +const GLOB_SUFFIX = '/package.json'; + +/** Depth of a valid sample slug: group/component/name */ +const SLUG_DEPTH = 3; + +/** + * Turn the keys of the samples package.json glob (see GLOB_PREFIX/GLOB_SUFFIX) + * into a sorted SampleInfo list, dropping nested node_modules and anything + * not exactly group/component/name deep. + * + * The glob itself must stay literal in each .astro file (Vite requirement); + * only the key processing is shared here. + */ +export function samplesFromGlobKeys(keys: string[]): SampleInfo[] { + return keys + .sort() + .flatMap(key => { + const slug = keyToSlug(key, GLOB_PREFIX, GLOB_SUFFIX); + if (!slug || slug.includes('node_modules') || slug.split('/').length !== SLUG_DEPTH || UNPUBLISHED.has(slug)) { + return []; + } + const info = slugToInfo(slug); + return info ? [info] : []; + }); +} + +/** + * Derive SampleInfo from a slug. + * slug must be in the form "group/component/name". + */ +export function slugToInfo(slug: string): SampleInfo | null { + const parts = slug.split('/'); + if (parts.length !== 3) { + return null; + } + const [group, component, name] = parts; + return { + slug, + group, + component, + name, + displayName: toTitleCase(name), + componentName: toTitleCase(component), + groupName: toTitleCase(group), + }; +} + +// --------------------------------------------------------------------------- +// Sample stylesheet resolution +// --------------------------------------------------------------------------- + +/** + * A stylesheet a sample entry module pulls in, resolved to how the page should + * put it in . + * + * - `link` → an Ignite UI theme, served from public/ig-themes/ (cached across + * every sample page, and re-pointable by the docs theming widget). + * - `glob` → a sample-local file, whose compiled text the page inlines. + */ +export type SampleStyle = + | { kind: 'link'; href: string; pkg: 'webcomponents' | 'grids'; variant: string; theme: string } + | { kind: 'glob'; key: string }; + +/** `import 'x.css';` / `import "./y.scss";` — the same shape the build plugin strips. */ +export const CSS_IMPORT_RE = /^import\s+['"]([^'"]+\.(?:css|scss))['"];?[ \t]*(?:\/\/.*)?$/gm; + +/** Bare theme specifiers, e.g. `igniteui-react-grids/grids/themes/light/material.css` */ +const THEME_SPEC_RE = + /^igniteui-(webcomponents|react-grids\/grids)\/themes\/(light|dark)\/(material|bootstrap|fluent|indigo)\.css$/; + +/** + * Read a sample entry module's source and return, in source order, every + * stylesheet it imports. + * + * Order matters: it is the cascade order, so the page must emit these into + * exactly as they appear here. + * + * @param source raw text of the sample's src/index.tsx + * @param slug e.g. "inputs/button-group/overview" + * @param base site base path, '' or e.g. '/react-demos' + */ +export function resolveSampleStyles(source: string, slug: string, base: string): SampleStyle[] { + const styles: SampleStyle[] = []; + CSS_IMPORT_RE.lastIndex = 0; + + for (const match of source.matchAll(CSS_IMPORT_RE)) { + const spec = match[1]; + + const theme = THEME_SPEC_RE.exec(spec); + if (theme) { + const pkg = theme[1] === 'webcomponents' ? 'webcomponents' : 'grids'; + styles.push({ + kind: 'link', + href: `${base}/ig-themes/${pkg}/${theme[2]}/${theme[3]}.css`, + pkg, + variant: theme[2], + theme: theme[3], + }); + continue; + } + + // Relative to the sample's src/ directory. Every sample-local stylesheet + // sits next to index.tsx, so `./name.css` is the only relative shape used. + if (spec.startsWith('./')) { + styles.push({ kind: 'glob', key: `../../samples/${slug}/src/${spec.slice(2)}` }); + continue; + } + + console.warn(`[samples] ${slug}: unrecognised stylesheet import "${spec}" — not inlined`); + } + + return styles; +} + +/** Build the three-level navigation tree from the flat sample list */ +export function buildNavTree(samples: SampleInfo[]): NavGroup[] { + const groupMap = new Map(); + + for (const s of samples) { + if (!groupMap.has(s.group)) { + groupMap.set(s.group, { id: s.group, displayName: s.groupName, components: [] }); + } + const group = groupMap.get(s.group)!; + + let comp = group.components.find(c => c.id === s.component); + if (!comp) { + comp = { id: s.component, displayName: s.componentName, samples: [] }; + group.components.push(comp); + } + + comp.samples.push({ name: s.name, displayName: s.displayName, slug: s.slug }); + } + + return [...groupMap.values()]; +} diff --git a/tests/smoke/browser.spec.ts b/tests/smoke/browser.spec.ts new file mode 100644 index 0000000000..e0ac6dd882 --- /dev/null +++ b/tests/smoke/browser.spec.ts @@ -0,0 +1,176 @@ +import { test, expect, type Frame, type Page } from '@playwright/test'; + +import { at, collectErrors, sampleReady } from './support'; + +/** + * The samples browser around the samples: index, sidebar, old URLs, and the + * contract with the docs site that embeds sample pages in iframes. + */ + +test('index page renders the component grid', async ({ page }) => { + const errors = collectErrors(page); + + await page.goto(at('/')); + + await expect(page.locator('.comp-card').first()).toBeVisible(); + expect(errors).toEqual([]); +}); + +test('nav sidebar renders on index and survives navigation', async ({ page }) => { + await page.goto(at('/')); + const nav = page.locator('#nav-bar'); + await expect(page.locator('html')).toHaveClass(/with-nav/); + await expect(nav.locator('.nav-logo img')).toBeVisible(); + + // Expand the first component group and follow its first sample link. + await nav.locator('.nav-component').first().click(); + await nav.locator('.nav-list[data-state="expanded"] a').first().click(); + + // The sidebar stays visible on the sample page, with the link active. + await expect(page.locator('html')).toHaveClass(/with-nav/); + await expect(page.locator('#nav-bar a.active')).toHaveCount(1); +}); + +test('index arms the sidebar before its modules run', async ({ page }) => { + // Serve the index without its module scripts. The component cards are + // server-rendered and clickable at first paint, so a fast click must still + // reach the sample with the sidebar flag set: arming it may not depend on a + // deferred module. + await page.route(url => url.pathname === at('/'), async route => { + const res = await route.fetch(); + const html = (await res.text()).replace(/