From 5bbb21f294c4c8011030c99f618ea424f9ece30c Mon Sep 17 00:00:00 2001 From: Hristo Hristov Date: Thu, 24 Sep 2026 17:32:50 +0300 Subject: [PATCH 01/15] fix(samples): update button group and switch overview styling --- samples/inputs/button-group/overview/src/index.css | 9 +++++---- samples/inputs/switches/overview/src/index.css | 3 +-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/samples/inputs/button-group/overview/src/index.css b/samples/inputs/button-group/overview/src/index.css index 2190c366e5..c01ecaef91 100644 --- a/samples/inputs/button-group/overview/src/index.css +++ b/samples/inputs/button-group/overview/src/index.css @@ -15,12 +15,13 @@ igc-button-group { } .album-title { - font-size: 0.875rem; + color: var(--ig-gray-600); + font-family: "Aktiv Grotesk", sans-serif; + font-size: 13px; font-weight: 400; - line-height: 1.429; - letter-spacing: 0.0178571em; + line-height: 20px; + letter-spacing: 0.3px; margin-block: 0 0.5rem; - color: var(--ig-primary-500); } .album-photos { diff --git a/samples/inputs/switches/overview/src/index.css b/samples/inputs/switches/overview/src/index.css index 38aea371df..e7017a0029 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,7 +48,6 @@ white-space: normal; & .option__label { - font-size: 16px; color: var(--ig-gray-900); } From d64ec3b1a3ccbf66afb50fe7711f8c578db6becd Mon Sep 17 00:00:00 2001 From: Hristo Hristov Date: Sat, 26 Sep 2026 19:08:08 +0300 Subject: [PATCH 02/15] fix(badge): update badge samples styling --- browser/public/meta.json | 2 +- browser/src/navigation/SamplesBrowser.json | 2 +- samples/inputs/badge/dot/src/index.css | 14 +++++++----- samples/inputs/badge/icon/src/index.css | 17 ++++++-------- samples/inputs/badge/outlined/src/index.css | 22 +++++-------------- samples/inputs/badge/overview/src/index.css | 22 +++++++++++-------- samples/inputs/badge/shape/src/index.css | 12 ++++++++-- samples/inputs/badge/shape/src/index.tsx | 8 +++---- samples/inputs/badge/size/src/index.css | 4 ++-- samples/inputs/badge/styling/src/index.css | 4 ---- .../badge/tailwind-styling/src/index.css | 6 ----- samples/inputs/badge/type/src/index.css | 8 ++----- samples/inputs/badge/variants/src/index.css | 10 ++------- .../inputs/switches/overview/src/index.css | 5 ++++- 14 files changed, 60 insertions(+), 76 deletions(-) diff --git a/browser/public/meta.json b/browser/public/meta.json index 528f88907d..6aa6fe7be7 100644 --- a/browser/public/meta.json +++ b/browser/public/meta.json @@ -1 +1 @@ -{"version":"23.2.915","date":"2026-09-10 00:01:40","note":"this file is auto-generated"} +{"version":"23.2.915","date":"2026-09-26 16:46:30","note":"this file is auto-generated"} \ No newline at end of file diff --git a/browser/src/navigation/SamplesBrowser.json b/browser/src/navigation/SamplesBrowser.json index 528f88907d..6aa6fe7be7 100644 --- a/browser/src/navigation/SamplesBrowser.json +++ b/browser/src/navigation/SamplesBrowser.json @@ -1 +1 @@ -{"version":"23.2.915","date":"2026-09-10 00:01:40","note":"this file is auto-generated"} +{"version":"23.2.915","date":"2026-09-26 16:46:30","note":"this file is auto-generated"} \ No newline at end of file diff --git a/samples/inputs/badge/dot/src/index.css b/samples/inputs/badge/dot/src/index.css index 4419879348..87c39c5125 100644 --- a/samples/inputs/badge/dot/src/index.css +++ b/samples/inputs/badge/dot/src/index.css @@ -6,10 +6,6 @@ igc-badge { --ig-badge-dot-size: 0.5rem; } -igc-avatar { - --size: 40px; -} - .icon-example igc-badge, .avatar-example igc-badge, .nav-icon igc-badge { @@ -44,7 +40,6 @@ igc-avatar { } .icon-example, -.avatar-example, .icon-circle { display: flex; align-items: center; @@ -52,6 +47,13 @@ igc-avatar { height: 36px; } +.avatar-example { + display: inline-flex; + align-items: center; + width: fit-content; + height: fit-content; +} + .icon-circle { justify-content: center; border-radius: 50%; @@ -125,7 +127,7 @@ igc-avatar { } .nav-item.active { - color: var(--ig-primary-800); + color: var(--ig-primary-500); } .nav-icon { diff --git a/samples/inputs/badge/icon/src/index.css b/samples/inputs/badge/icon/src/index.css index 892ad58c6e..37eb5982d2 100644 --- a/samples/inputs/badge/icon/src/index.css +++ b/samples/inputs/badge/icon/src/index.css @@ -1,18 +1,12 @@ /* shared styles are loaded from: */ /* https://dl.infragistics.com/x/css/samples/shared.v8.css */ -igc-avatar { - --size: 40px; - --ig-avatar-background: var(--ig-gray-400); - --ig-avatar-color: var(--ig-gray-800); -} - igc-badge igc-icon { - color: var(--ig-gray-50); + color: #fff; } .badge-star igc-icon { - color: var(--ig-gray-900); + color: #000000; } .icon-wrapper > igc-badge { @@ -50,8 +44,10 @@ igc-badge igc-icon { display: flex; flex-direction: column; align-items: center; + justify-content: flex-end; gap: 6px; min-width: 56px; + min-height: 66px; } .badge-icon-item span { @@ -68,8 +64,9 @@ igc-badge igc-icon { .avatar-wrapper { position: relative; - display: flex; + display: inline-flex; align-items: center; justify-content: center; - height: 40px; + width: fit-content; + height: fit-content; } diff --git a/samples/inputs/badge/outlined/src/index.css b/samples/inputs/badge/outlined/src/index.css index 262863328b..fe94d82fce 100644 --- a/samples/inputs/badge/outlined/src/index.css +++ b/samples/inputs/badge/outlined/src/index.css @@ -5,16 +5,6 @@ igc-badge { --ig-size: var(--ig-size-small); } -igc-avatar { - --size: 40px; - --ig-avatar-background: var(--ig-gray-400); - --ig-avatar-color: var(--ig-gray-800); -} - -.outlined-example igc-avatar igc-icon { - color: var(--ig-gray-50); -} - .outlined-example:nth-child(2) igc-badge { inset-block-start: auto; inset-block-end: -6px; @@ -27,10 +17,6 @@ igc-avatar { inset-inline-end: -10px; } -.icon-circle igc-icon { - font-size: 20px; -} - .badge-outlined { display: flex; align-items: center; @@ -58,15 +44,19 @@ igc-avatar { height: 36px; background: var(--ig-gray-200); color: var(--ig-gray-800); + + igc-icon { + --ig-icon-size: 18px; + } } igc-badge::part(base), igc-badge igc-icon { - color: var(--ig-gray-50); + color: #fff; } igc-badge igc-icon { - fill: var(--ig-gray-50); + fill: #fff; } .steps { diff --git a/samples/inputs/badge/overview/src/index.css b/samples/inputs/badge/overview/src/index.css index d304ba139c..87c4ae81bf 100644 --- a/samples/inputs/badge/overview/src/index.css +++ b/samples/inputs/badge/overview/src/index.css @@ -1,10 +1,6 @@ /* shared styles are loaded from: */ /* https://dl.infragistics.com/x/css/samples/shared.v8.css */ -igc-avatar { - --size: 40px; -} - igc-icon { color: var(--ig-gray-700); font-size: 1.5rem; @@ -19,11 +15,11 @@ igc-badge { igc-badge::part(base), igc-badge igc-icon { - color: var(--ig-gray-50); + color: #fff; } igc-badge igc-icon { - fill: var(--ig-gray-50); + fill: #fff; } .avatar-example igc-badge { @@ -33,12 +29,13 @@ igc-badge igc-icon { } .avatar-example igc-icon { - color: var(--ig-gray-50); - fill: var(--ig-gray-50); + color: #fff; + fill: #fff; } .event-example igc-chip { --ig-size: var(--ig-size-large); + --ig-chip-background: var(--ig-gray-300); } .event-example igc-chip::part(base) { @@ -56,7 +53,7 @@ igc-badge igc-icon { } .icon-example igc-badge::part(base) { - color: var(--ig-gray-50); + color: #fff; } .notification-example igc-badge { @@ -91,3 +88,10 @@ igc-badge igc-icon { width: 2.5rem; height: 2.5rem; } + +.avatar-example { + min-width: auto; + min-height: auto; + width: fit-content; + height: fit-content; +} diff --git a/samples/inputs/badge/shape/src/index.css b/samples/inputs/badge/shape/src/index.css index f6e6b4da52..a9115f9888 100644 --- a/samples/inputs/badge/shape/src/index.css +++ b/samples/inputs/badge/shape/src/index.css @@ -3,11 +3,11 @@ igc-badge::part(base), igc-badge igc-icon { - color: var(--ig-gray-50); + color: #fff; } igc-badge igc-icon { - fill: var(--ig-gray-50); + fill: #fff; } .badge-shape { @@ -38,6 +38,14 @@ igc-badge igc-icon { letter-spacing: 0.3px; } +.badge-large { + --ig-size: var(--ig-size-large); +} + +.badge-medium { + --ig-size: var(--ig-size-medium); +} + .badge-small { --ig-size: var(--ig-size-small); } diff --git a/samples/inputs/badge/shape/src/index.tsx b/samples/inputs/badge/shape/src/index.tsx index 91cdd7f710..bcea12a030 100644 --- a/samples/inputs/badge/shape/src/index.tsx +++ b/samples/inputs/badge/shape/src/index.tsx @@ -16,20 +16,20 @@ export default function BadgeShape(): JSX.Element {
Rounded - + - 2 + 2
Square - + - 2 + 2 diff --git a/samples/inputs/badge/size/src/index.css b/samples/inputs/badge/size/src/index.css index 6e6cc5197c..3eb4bd1571 100644 --- a/samples/inputs/badge/size/src/index.css +++ b/samples/inputs/badge/size/src/index.css @@ -3,11 +3,11 @@ igc-badge::part(base), igc-badge igc-icon { - color: var(--ig-gray-50); + color: #fff; } igc-badge igc-icon { - fill: var(--ig-gray-50); + fill: #fff; } .badge-size { diff --git a/samples/inputs/badge/styling/src/index.css b/samples/inputs/badge/styling/src/index.css index dd46d8149c..3bdfd5dee9 100644 --- a/samples/inputs/badge/styling/src/index.css +++ b/samples/inputs/badge/styling/src/index.css @@ -48,10 +48,6 @@ igc-badge { transform: translate(-50%, -50%); } -.styling-item igc-avatar { - --size: 40px; -} - .styling-item.green igc-avatar { --icon-color: var(--ig-success-900); --ig-avatar-background: var(--ig-success-200); diff --git a/samples/inputs/badge/tailwind-styling/src/index.css b/samples/inputs/badge/tailwind-styling/src/index.css index d98898d2b6..936485850f 100644 --- a/samples/inputs/badge/tailwind-styling/src/index.css +++ b/samples/inputs/badge/tailwind-styling/src/index.css @@ -9,12 +9,6 @@ igc-badge { --ig-size: var(--ig-size-small); } -igc-avatar { - --size: 40px; - --ig-avatar-background: var(--ig-gray-400); - --ig-avatar-color: var(--ig-gray-800); -} - igc-avatar igc-icon { color: var(--ig-gray-800); } diff --git a/samples/inputs/badge/type/src/index.css b/samples/inputs/badge/type/src/index.css index d6398f8cdf..ce540f4014 100644 --- a/samples/inputs/badge/type/src/index.css +++ b/samples/inputs/badge/type/src/index.css @@ -1,10 +1,6 @@ /* shared styles are loaded from: */ /* https://dl.infragistics.com/x/css/samples/shared.v8.css */ -igc-avatar { - --size: 40px; -} - igc-badge { --ig-size: var(--ig-size-small); position: absolute; @@ -14,11 +10,11 @@ igc-badge { .badge-type igc-badge::part(base), .badge-type igc-badge igc-icon { - color: var(--ig-gray-50); + color: #fff; } .badge-type igc-badge igc-icon { - fill: var(--ig-gray-50); + fill: #fff; } .badge-type { diff --git a/samples/inputs/badge/variants/src/index.css b/samples/inputs/badge/variants/src/index.css index 81710d4ed0..e74899599a 100644 --- a/samples/inputs/badge/variants/src/index.css +++ b/samples/inputs/badge/variants/src/index.css @@ -10,17 +10,11 @@ igc-badge { .variant-item:not(:nth-child(4)) igc-badge::part(base), .variant-item:not(:nth-child(4)) igc-badge igc-icon { - color: var(--ig-gray-50); + color: #fff; } .variant-item:not(:nth-child(4)) igc-badge igc-icon { - fill: var(--ig-gray-50); -} - -igc-avatar { - --ig-size: var(--ig-size-small); - --ig-avatar-background: var(--ig-gray-400); - --ig-avatar-color: var(--ig-gray-800); + fill: #fff; } .variant-item:first-child igc-avatar igc-icon, diff --git a/samples/inputs/switches/overview/src/index.css b/samples/inputs/switches/overview/src/index.css index e7017a0029..b4879c3234 100644 --- a/samples/inputs/switches/overview/src/index.css +++ b/samples/inputs/switches/overview/src/index.css @@ -48,11 +48,14 @@ white-space: normal; & .option__label { + 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 From fc1a113419fbf450bf2e17f05010c413d9f6dafc Mon Sep 17 00:00:00 2001 From: Hristo Hristov Date: Thu, 1 Oct 2026 17:24:00 +0300 Subject: [PATCH 03/15] fix(badge): update overview styling --- browser/public/meta.json | 2 +- browser/src/navigation/SamplesBrowser.json | 2 +- samples/inputs/badge/overview/src/index.css | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/browser/public/meta.json b/browser/public/meta.json index c5da309f90..c6d3bc0d80 100644 --- a/browser/public/meta.json +++ b/browser/public/meta.json @@ -1 +1 @@ -{"version":"23.2.915","date":"2026-09-26 16:46:30","note":"this file is auto-generated"} +{"version":"23.2.915","date":"2026-10-01 17:08:02","note":"this file is auto-generated"} \ No newline at end of file diff --git a/browser/src/navigation/SamplesBrowser.json b/browser/src/navigation/SamplesBrowser.json index c5da309f90..c6d3bc0d80 100644 --- a/browser/src/navigation/SamplesBrowser.json +++ b/browser/src/navigation/SamplesBrowser.json @@ -1 +1 @@ -{"version":"23.2.915","date":"2026-09-26 16:46:30","note":"this file is auto-generated"} +{"version":"23.2.915","date":"2026-10-01 17:08:02","note":"this file is auto-generated"} \ No newline at end of file diff --git a/samples/inputs/badge/overview/src/index.css b/samples/inputs/badge/overview/src/index.css index 87c4ae81bf..930e43af6d 100644 --- a/samples/inputs/badge/overview/src/index.css +++ b/samples/inputs/badge/overview/src/index.css @@ -35,11 +35,15 @@ igc-badge igc-icon { .event-example igc-chip { --ig-size: var(--ig-size-large); - --ig-chip-background: var(--ig-gray-300); } .event-example igc-chip::part(base) { border-radius: 999px; + font-family: "Titillium Web", sans-serif; + font-size: 14px; + font-weight: 400; + line-height: 20px; + letter-spacing: 0.25px; } .event-example igc-badge { From 0adc42154b75d5192f77af0a37108adc85f130bc Mon Sep 17 00:00:00 2001 From: Stamen Stoychev Date: Mon, 5 Oct 2026 17:01:37 +0300 Subject: [PATCH 04/15] feat(*): updating grids package (#1114) --- browser/package-lock.json | 56 +++---------------- browser/package.json | 2 +- browser/tasks/gulp-samples.js | 2 +- .../chart-dashboard/package.json | 2 +- samples/charts/sparkline/grid/package.json | 2 +- .../operations-on-workbooks/package.json | 2 +- .../working-with-charts/package.json | 2 +- .../working-with-sparklines/package.json | 2 +- samples/grids/grid/action-strip/package.json | 2 +- .../advanced-filtering-options/package.json | 2 +- .../advanced-filtering-style/package.json | 2 +- .../grid/binding-composite-data/package.json | 2 +- .../grids/grid/binding-crud-data/package.json | 2 +- .../grid/binding-nested-data-1/package.json | 2 +- .../grids/grid/cascading-combo/package.json | 2 +- .../grid/cell-editing-sample/package.json | 2 +- .../grid/cell-editing-styling/package.json | 2 +- .../cell-merge-custom-sample/package.json | 2 +- samples/grids/grid/cell-merge/package.json | 2 +- .../grid/cell-selection-mode/package.json | 2 +- .../grid/cell-selection-style/package.json | 2 +- .../grid/change-icons-custom/package.json | 2 +- .../grid/clipboard-operations/package.json | 2 +- .../grid/column-auto-sizing/package.json | 2 +- .../column-collapsible-groups/package.json | 2 +- .../grids/grid/column-data-types/package.json | 2 +- .../grid/column-hiding-options/package.json | 2 +- .../column-hiding-toolbar-style/package.json | 2 +- .../grid/column-hiding-toolbar/package.json | 2 +- .../grid/column-moving-options/package.json | 2 +- .../grid/column-moving-styles/package.json | 2 +- .../column-pinning-both-sides/package.json | 2 +- .../grid/column-pinning-options/package.json | 2 +- .../column-pinning-right-side/package.json | 2 +- .../grid/column-pinning-styles/package.json | 2 +- .../grids/grid/column-pinning/package.json | 2 +- .../grid/column-resize-styling/package.json | 2 +- .../grids/grid/column-resizing/package.json | 2 +- .../grid/column-selection-group/package.json | 2 +- .../grid/column-selection-mode/package.json | 2 +- .../grid/column-selection-styles/package.json | 2 +- .../column-sorting-indicators/package.json | 2 +- .../grid/column-sorting-options/package.json | 2 +- .../grid/column-sorting-style/package.json | 2 +- .../conditional-cell-style-1/package.json | 2 +- .../conditional-cell-style-2/package.json | 2 +- .../conditional-row-selectors/package.json | 2 +- .../grid/custom-context-menu/package.json | 2 +- .../data-batch-editing-actions/package.json | 2 +- .../data-exporting-indicator/package.json | 2 +- .../package.json | 2 +- .../grids/grid/data-searching/package.json | 2 +- .../grid/data-summary-formatter/package.json | 2 +- .../grid/data-summary-options/package.json | 2 +- .../grid/data-summary-template/package.json | 2 +- .../grid/data-validation-style/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../grid/data-validator-service/package.json | 2 +- .../grid/disabled-summaries/package.json | 2 +- .../grids/grid/editing-columns/package.json | 2 +- .../grids/grid/editing-events/package.json | 2 +- .../grid/editing-excel-style/package.json | 2 +- .../grids/grid/editing-lifecycle/package.json | 2 +- .../grids/grid/excel-exporting/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../excel-style-filtering-style/package.json | 2 +- .../external-advanced-filtering/package.json | 2 +- .../grids/grid/filtering-options/package.json | 2 +- .../grid/filtering-strategy/package.json | 2 +- .../grids/grid/filtering-style/package.json | 2 +- samples/grids/grid/finjs/package.json | 2 +- .../grids/grid/groupby-custom/package.json | 2 +- .../grid/groupby-expressions/package.json | 2 +- .../grids/grid/groupby-paging/package.json | 2 +- .../grids/grid/groupby-styling/package.json | 2 +- .../grid/groupby-summary-options/package.json | 2 +- .../grid/groupby-summary-styling/package.json | 2 +- .../grids/grid/infinite-scroll/package.json | 2 +- .../keyboard-custom-navigation/package.json | 2 +- .../grid/keyboard-mrl-navigation/package.json | 2 +- .../grid/layout-display-density/package.json | 2 +- samples/grids/grid/localization/package.json | 2 +- samples/grids/grid/master-detail/package.json | 2 +- .../multi-cell-selection-mode/package.json | 2 +- .../multi-column-headers-export/package.json | 2 +- .../package.json | 2 +- .../multi-column-headers-styling/package.json | 2 +- .../package.json | 2 +- .../multi-row-layout-options/package.json | 2 +- .../grid/multi-row-layout-style/package.json | 2 +- samples/grids/grid/overview/package.json | 2 +- samples/grids/grid/paste/package.json | 2 +- .../grid/remote-paging-data/package.json | 2 +- .../grid/remote-paging-grid/package.json | 2 +- samples/grids/grid/row-adding/package.json | 2 +- samples/grids/grid/row-classes/package.json | 2 +- samples/grids/grid/row-drag-base/package.json | 2 +- .../grid/row-editing-options/package.json | 2 +- .../grids/grid/row-editing-style/package.json | 2 +- .../grids/grid/row-paging-basic/package.json | 2 +- .../grid/row-paging-options/package.json | 2 +- .../grids/grid/row-pinning-drag/package.json | 2 +- .../row-pinning-extra-column/package.json | 2 +- .../grid/row-pinning-options/package.json | 2 +- .../grids/grid/row-pinning-style/package.json | 2 +- samples/grids/grid/row-reorder/package.json | 2 +- .../grid/row-selection-mode/package.json | 2 +- .../row-selection-template-excel/package.json | 2 +- .../package.json | 2 +- samples/grids/grid/row-styles/package.json | 2 +- .../grid/state-persistence-about/package.json | 2 +- .../grid/state-persistence-main/package.json | 2 +- .../grid/styling-custom-CSS/package.json | 2 +- .../grids/grid/toolbar-sample-1/package.json | 2 +- .../grids/grid/toolbar-sample-2/package.json | 2 +- .../grids/grid/toolbar-sample-3/package.json | 2 +- samples/grids/grid/toolbar-style/package.json | 2 +- .../action-strip/package.json | 2 +- .../advanced-filtering-options/package.json | 2 +- .../advanced-filtering-style/package.json | 2 +- .../cell-editing-sample/package.json | 2 +- .../cell-editing-styling/package.json | 2 +- .../cell-merge-custom-sample/package.json | 2 +- .../hierarchical-grid/cell-merge/package.json | 2 +- .../cell-selection-mode/package.json | 2 +- .../cell-selection-overview/package.json | 2 +- .../cell-selection-style/package.json | 2 +- .../column-auto-sizing/package.json | 2 +- .../column-collapsible-groups/package.json | 2 +- .../column-hiding-toolbar-style/package.json | 2 +- .../column-hiding-toolbar/package.json | 2 +- .../column-moving-options/package.json | 2 +- .../column-moving-styles/package.json | 2 +- .../column-pinning-both-sides/package.json | 2 +- .../column-pinning-options/package.json | 2 +- .../column-pinning-right-side/package.json | 2 +- .../column-pinning-styles/package.json | 2 +- .../column-pinning/package.json | 2 +- .../column-resize-styling/package.json | 2 +- .../column-resizing/package.json | 2 +- .../column-selection-group/package.json | 2 +- .../column-selection-mode/package.json | 2 +- .../column-selection-styles/package.json | 2 +- .../column-sorting-indicators/package.json | 2 +- .../column-sorting-options/package.json | 2 +- .../column-sorting-style/package.json | 2 +- .../conditional-cell-style-1/package.json | 2 +- .../conditional-cell-style-2/package.json | 2 +- .../conditional-row-selectors/package.json | 2 +- .../custom-filtering/package.json | 2 +- .../data-exporting-indicator/package.json | 2 +- .../package.json | 2 +- .../data-summary-formatter/package.json | 2 +- .../data-summary-options-styling/package.json | 2 +- .../data-summary-options/package.json | 2 +- .../data-summary-template/package.json | 2 +- .../disabled-summaries/package.json | 2 +- .../editing-columns/package.json | 2 +- .../editing-events/package.json | 2 +- .../editing-lifecycle/package.json | 2 +- .../excel-exporting/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../excel-style-filtering-style/package.json | 2 +- .../filtering-options/package.json | 2 +- .../filtering-style/package.json | 2 +- .../hierarchical-grid-options/package.json | 2 +- .../package.json | 2 +- .../hierarchical-grid-styling/package.json | 2 +- .../layout-display-density/package.json | 2 +- .../multi-column-headers-export/package.json | 2 +- .../package.json | 2 +- .../multi-column-headers-styling/package.json | 2 +- .../package.json | 2 +- .../hierarchical-grid/overview/package.json | 2 +- .../remote-paging-hgrid/package.json | 2 +- .../hierarchical-grid/row-adding/package.json | 2 +- .../row-classes/package.json | 2 +- .../row-drag-base/package.json | 2 +- .../row-editing-options/package.json | 2 +- .../row-editing-style/package.json | 2 +- .../row-pinning-extra-column/package.json | 2 +- .../row-pinning-options/package.json | 2 +- .../row-pinning-style/package.json | 2 +- .../row-reorder/package.json | 2 +- .../row-selection-mode/package.json | 2 +- .../package.json | 2 +- .../hierarchical-grid/row-styles/package.json | 2 +- .../state-persistence-about/package.json | 2 +- .../state-persistence-main/package.json | 2 +- .../toolbar-sample-3/package.json | 2 +- .../toolbar-sample-4/package.json | 2 +- .../toolbar-style/package.json | 2 +- .../aggregate-max-sales/package.json | 2 +- .../aggregate-units-sold/package.json | 2 +- .../pivot-grid/data-selector/package.json | 2 +- .../grids/pivot-grid/features/package.json | 2 +- .../state-persistence-about/package.json | 2 +- .../state-persistence-main/package.json | 2 +- samples/grids/pivot-grid/styling/package.json | 2 +- .../grids/tree-grid/action-strip/package.json | 2 +- .../advanced-filtering-options/package.json | 2 +- .../advanced-filtering-style/package.json | 2 +- .../cell-editing-sample/package.json | 2 +- .../cell-editing-styling/package.json | 2 +- .../cell-merge-custom-sample/package.json | 2 +- .../grids/tree-grid/cell-merge/package.json | 2 +- .../cell-selection-mode/package.json | 2 +- .../cell-selection-style/package.json | 2 +- .../clipboard-operations/package.json | 2 +- .../tree-grid/column-auto-sizing/package.json | 2 +- .../column-collapsible-groups/package.json | 2 +- .../tree-grid/column-data-types/package.json | 2 +- .../column-hiding-toolbar-style/package.json | 2 +- .../column-hiding-toolbar/package.json | 2 +- .../column-moving-options/package.json | 2 +- .../column-moving-styles/package.json | 2 +- .../column-pinning-both-sides/package.json | 2 +- .../column-pinning-options/package.json | 2 +- .../column-pinning-right-side/package.json | 2 +- .../column-pinning-styles/package.json | 2 +- .../column-pinning-toolbar/package.json | 2 +- .../tree-grid/column-pinning/package.json | 2 +- .../column-resize-styling/package.json | 2 +- .../tree-grid/column-resizing/package.json | 2 +- .../column-selection-group/package.json | 2 +- .../column-selection-mode/package.json | 2 +- .../column-selection-style/package.json | 2 +- .../column-selection-styles/package.json | 2 +- .../column-sorting-indicators/package.json | 2 +- .../column-sorting-options/package.json | 2 +- .../column-sorting-style/package.json | 2 +- .../conditional-cell-style-1/package.json | 2 +- .../conditional-cell-style-2/package.json | 2 +- .../conditional-row-selectors/package.json | 2 +- .../data-exporting-indicator/package.json | 2 +- .../tree-grid/data-searching/package.json | 2 +- .../data-summary-children/package.json | 2 +- .../data-summary-formatter/package.json | 2 +- .../data-summary-options-styling/package.json | 2 +- .../data-summary-options/package.json | 2 +- .../data-summary-template/package.json | 2 +- .../tree-grid/disabled-summaries/package.json | 2 +- .../tree-grid/editing-columns/package.json | 2 +- .../tree-grid/editing-events/package.json | 2 +- .../tree-grid/editing-lifecycle/package.json | 2 +- .../tree-grid/excel-exporting/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../excel-style-filtering-style/package.json | 2 +- .../tree-grid/filtering-options/package.json | 2 +- .../tree-grid/filtering-style/package.json | 2 +- .../keyboard-custom-navigation/package.json | 2 +- .../layout-display-density/package.json | 2 +- .../multi-cell-selection-mode/package.json | 2 +- .../multi-column-headers-export/package.json | 2 +- .../package.json | 2 +- .../multi-column-headers-styling/package.json | 2 +- .../package.json | 2 +- .../tree-grid/overview-styling/package.json | 2 +- samples/grids/tree-grid/overview/package.json | 2 +- .../grids/tree-grid/row-adding/package.json | 2 +- .../grids/tree-grid/row-classes/package.json | 2 +- .../tree-grid/row-drag-base/package.json | 2 +- .../row-editing-options/package.json | 2 +- .../tree-grid/row-editing-style/package.json | 2 +- .../tree-grid/row-paging-basic/package.json | 2 +- .../tree-grid/row-paging-options/package.json | 2 +- .../tree-grid/row-paging-style/package.json | 2 +- .../row-pinning-extra-column/package.json | 2 +- .../row-pinning-options/package.json | 2 +- .../tree-grid/row-pinning-style/package.json | 2 +- .../grids/tree-grid/row-reorder/package.json | 2 +- .../tree-grid/row-selection-mode/package.json | 2 +- .../row-selection-template-excel/package.json | 2 +- .../package.json | 2 +- .../grids/tree-grid/row-styles/package.json | 2 +- .../state-persistence-about/package.json | 2 +- .../state-persistence-main/package.json | 2 +- .../tree-grid/toolbar-sample-1/package.json | 2 +- .../tree-grid/toolbar-sample-2/package.json | 2 +- .../tree-grid/toolbar-sample-3/package.json | 2 +- .../tree-grid/toolbar-sample-4/package.json | 2 +- .../tree-grid/toolbar-style/package.json | 2 +- .../using-primary-foreign-keys/package.json | 2 +- samples/inputs/combo/templates/package.json | 2 +- .../query-builder/overview/package.json | 2 +- .../query-builder/template/package.json | 2 +- .../carousel/configuration/package.json | 4 +- samples/layouts/carousel/styling/package.json | 4 +- .../carousel/tailwind-styling/package.json | 4 +- 296 files changed, 306 insertions(+), 346 deletions(-) diff --git a/browser/package-lock.json b/browser/package-lock.json index 96c36c7ed3..6bedb230a6 100644 --- a/browser/package-lock.json +++ b/browser/package-lock.json @@ -27,7 +27,7 @@ "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-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-react-maps": "19.6.0", @@ -9697,46 +9697,6 @@ "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", @@ -9913,13 +9873,13 @@ } }, "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==", + "version": "19.10.0", + "resolved": "https://registry.npmjs.org/igniteui-react-grids/-/igniteui-react-grids-19.10.0.tgz", + "integrity": "sha512-eTnPrNExg61wooLm4ZfJ6nCrox7lXxSa/aDSe6RVPf+DZgNfbhTa0YrvrXJQRMD6mHs0o53fRDheFF5FRc1Nlg==", "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", "dependencies": { "@lit/react": "^1.0.7", - "igniteui-webcomponents-grids": "~7.1.0", + "igniteui-webcomponents-grids": "~7.3.2", "lit": "^3.3.0" } }, @@ -10049,9 +10009,9 @@ } }, "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==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/igniteui-webcomponents-grids/-/igniteui-webcomponents-grids-7.3.2.tgz", + "integrity": "sha512-hzLrCqZ4JkEDKaoFIhmOKV3w1jPhe2k3/9+/Y6+uCprqK/39okSzMZ43jwI1sWWpwJrOq1iwt+Imimc0rRTpzg==", "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", "dependencies": { "igniteui-i18n-core": "^1.0.3", diff --git a/browser/package.json b/browser/package.json index e273292c1f..29ad48a8fc 100644 --- a/browser/package.json +++ b/browser/package.json @@ -35,7 +35,7 @@ "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-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-react-maps": "19.6.0", diff --git a/browser/tasks/gulp-samples.js b/browser/tasks/gulp-samples.js index 2f6b11de12..0f06d46d38 100644 --- a/browser/tasks/gulp-samples.js +++ b/browser/tasks/gulp-samples.js @@ -867,7 +867,7 @@ function updateIG(cb) { { version: "19.6.0", name: "igniteui-react-excel" }, { version: "19.6.0", name: "igniteui-react-gauges" }, { version: "19.6.0", name: "igniteui-react-data-grids" }, - { version: "19.7.0", name: "igniteui-react-grids" }, + { version: "19.10.0", name: "igniteui-react-grids" }, { version: "19.6.0", name: "igniteui-react-inputs" }, { version: "19.6.0", name: "igniteui-react-layouts" }, { version: "19.6.0", name: "igniteui-react-maps" }, diff --git a/samples/charts/dashboard-tile/chart-dashboard/package.json b/samples/charts/dashboard-tile/chart-dashboard/package.json index d40ca46b23..597ecfd443 100644 --- a/samples/charts/dashboard-tile/chart-dashboard/package.json +++ b/samples/charts/dashboard-tile/chart-dashboard/package.json @@ -20,7 +20,7 @@ "igniteui-react-dashboards": "19.6.0", "igniteui-react-datasources": "19.6.0", "igniteui-react-gauges": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-react-maps": "19.6.0", diff --git a/samples/charts/sparkline/grid/package.json b/samples/charts/sparkline/grid/package.json index bffb24d35f..653f520f29 100644 --- a/samples/charts/sparkline/grid/package.json +++ b/samples/charts/sparkline/grid/package.json @@ -14,7 +14,7 @@ "dependencies": { "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "react": "^19.2.0", diff --git a/samples/excel/excel-library/operations-on-workbooks/package.json b/samples/excel/excel-library/operations-on-workbooks/package.json index 1909812896..a91b2405ce 100644 --- a/samples/excel/excel-library/operations-on-workbooks/package.json +++ b/samples/excel/excel-library/operations-on-workbooks/package.json @@ -16,7 +16,7 @@ "file-saver": "^1.3.8", "igniteui-react-core": "19.6.0", "igniteui-react-excel": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "react": "^19.2.0", diff --git a/samples/excel/excel-library/working-with-charts/package.json b/samples/excel/excel-library/working-with-charts/package.json index 00c66b51d9..24e4604d97 100644 --- a/samples/excel/excel-library/working-with-charts/package.json +++ b/samples/excel/excel-library/working-with-charts/package.json @@ -17,7 +17,7 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-excel": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "react": "^19.2.0", diff --git a/samples/excel/excel-library/working-with-sparklines/package.json b/samples/excel/excel-library/working-with-sparklines/package.json index e06045cd78..6195f823c5 100644 --- a/samples/excel/excel-library/working-with-sparklines/package.json +++ b/samples/excel/excel-library/working-with-sparklines/package.json @@ -17,7 +17,7 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-excel": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "react": "^19.2.0", diff --git a/samples/grids/grid/action-strip/package.json b/samples/grids/grid/action-strip/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/action-strip/package.json +++ b/samples/grids/grid/action-strip/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/advanced-filtering-options/package.json b/samples/grids/grid/advanced-filtering-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/advanced-filtering-options/package.json +++ b/samples/grids/grid/advanced-filtering-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/advanced-filtering-style/package.json b/samples/grids/grid/advanced-filtering-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/advanced-filtering-style/package.json +++ b/samples/grids/grid/advanced-filtering-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/binding-composite-data/package.json b/samples/grids/grid/binding-composite-data/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/binding-composite-data/package.json +++ b/samples/grids/grid/binding-composite-data/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/binding-crud-data/package.json b/samples/grids/grid/binding-crud-data/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/binding-crud-data/package.json +++ b/samples/grids/grid/binding-crud-data/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/binding-nested-data-1/package.json b/samples/grids/grid/binding-nested-data-1/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/binding-nested-data-1/package.json +++ b/samples/grids/grid/binding-nested-data-1/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/cascading-combo/package.json b/samples/grids/grid/cascading-combo/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/cascading-combo/package.json +++ b/samples/grids/grid/cascading-combo/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/cell-editing-sample/package.json b/samples/grids/grid/cell-editing-sample/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/cell-editing-sample/package.json +++ b/samples/grids/grid/cell-editing-sample/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/cell-editing-styling/package.json b/samples/grids/grid/cell-editing-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/cell-editing-styling/package.json +++ b/samples/grids/grid/cell-editing-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/cell-merge-custom-sample/package.json b/samples/grids/grid/cell-merge-custom-sample/package.json index ff9e92eb27..94fd796be4 100644 --- a/samples/grids/grid/cell-merge-custom-sample/package.json +++ b/samples/grids/grid/cell-merge-custom-sample/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/cell-merge/package.json b/samples/grids/grid/cell-merge/package.json index ff9e92eb27..94fd796be4 100644 --- a/samples/grids/grid/cell-merge/package.json +++ b/samples/grids/grid/cell-merge/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/cell-selection-mode/package.json b/samples/grids/grid/cell-selection-mode/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/cell-selection-mode/package.json +++ b/samples/grids/grid/cell-selection-mode/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/cell-selection-style/package.json b/samples/grids/grid/cell-selection-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/cell-selection-style/package.json +++ b/samples/grids/grid/cell-selection-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/change-icons-custom/package.json b/samples/grids/grid/change-icons-custom/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/change-icons-custom/package.json +++ b/samples/grids/grid/change-icons-custom/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/clipboard-operations/package.json b/samples/grids/grid/clipboard-operations/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/clipboard-operations/package.json +++ b/samples/grids/grid/clipboard-operations/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/column-auto-sizing/package.json b/samples/grids/grid/column-auto-sizing/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-auto-sizing/package.json +++ b/samples/grids/grid/column-auto-sizing/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-collapsible-groups/package.json b/samples/grids/grid/column-collapsible-groups/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-collapsible-groups/package.json +++ b/samples/grids/grid/column-collapsible-groups/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-data-types/package.json b/samples/grids/grid/column-data-types/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-data-types/package.json +++ b/samples/grids/grid/column-data-types/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-hiding-options/package.json b/samples/grids/grid/column-hiding-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-hiding-options/package.json +++ b/samples/grids/grid/column-hiding-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-hiding-toolbar-style/package.json b/samples/grids/grid/column-hiding-toolbar-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-hiding-toolbar-style/package.json +++ b/samples/grids/grid/column-hiding-toolbar-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-hiding-toolbar/package.json b/samples/grids/grid/column-hiding-toolbar/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-hiding-toolbar/package.json +++ b/samples/grids/grid/column-hiding-toolbar/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-moving-options/package.json b/samples/grids/grid/column-moving-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-moving-options/package.json +++ b/samples/grids/grid/column-moving-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-moving-styles/package.json b/samples/grids/grid/column-moving-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-moving-styles/package.json +++ b/samples/grids/grid/column-moving-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-pinning-both-sides/package.json b/samples/grids/grid/column-pinning-both-sides/package.json index ff9e92eb27..94fd796be4 100644 --- a/samples/grids/grid/column-pinning-both-sides/package.json +++ b/samples/grids/grid/column-pinning-both-sides/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/column-pinning-options/package.json b/samples/grids/grid/column-pinning-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-pinning-options/package.json +++ b/samples/grids/grid/column-pinning-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-pinning-right-side/package.json b/samples/grids/grid/column-pinning-right-side/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-pinning-right-side/package.json +++ b/samples/grids/grid/column-pinning-right-side/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-pinning-styles/package.json b/samples/grids/grid/column-pinning-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-pinning-styles/package.json +++ b/samples/grids/grid/column-pinning-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-pinning/package.json b/samples/grids/grid/column-pinning/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-pinning/package.json +++ b/samples/grids/grid/column-pinning/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-resize-styling/package.json b/samples/grids/grid/column-resize-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-resize-styling/package.json +++ b/samples/grids/grid/column-resize-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-resizing/package.json b/samples/grids/grid/column-resizing/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-resizing/package.json +++ b/samples/grids/grid/column-resizing/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-selection-group/package.json b/samples/grids/grid/column-selection-group/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-selection-group/package.json +++ b/samples/grids/grid/column-selection-group/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-selection-mode/package.json b/samples/grids/grid/column-selection-mode/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/column-selection-mode/package.json +++ b/samples/grids/grid/column-selection-mode/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/column-selection-styles/package.json b/samples/grids/grid/column-selection-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-selection-styles/package.json +++ b/samples/grids/grid/column-selection-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-sorting-indicators/package.json b/samples/grids/grid/column-sorting-indicators/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-sorting-indicators/package.json +++ b/samples/grids/grid/column-sorting-indicators/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/column-sorting-options/package.json b/samples/grids/grid/column-sorting-options/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/column-sorting-options/package.json +++ b/samples/grids/grid/column-sorting-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/column-sorting-style/package.json b/samples/grids/grid/column-sorting-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/column-sorting-style/package.json +++ b/samples/grids/grid/column-sorting-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/conditional-cell-style-1/package.json b/samples/grids/grid/conditional-cell-style-1/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/conditional-cell-style-1/package.json +++ b/samples/grids/grid/conditional-cell-style-1/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/conditional-cell-style-2/package.json b/samples/grids/grid/conditional-cell-style-2/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/conditional-cell-style-2/package.json +++ b/samples/grids/grid/conditional-cell-style-2/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/conditional-row-selectors/package.json b/samples/grids/grid/conditional-row-selectors/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/conditional-row-selectors/package.json +++ b/samples/grids/grid/conditional-row-selectors/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/custom-context-menu/package.json b/samples/grids/grid/custom-context-menu/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/custom-context-menu/package.json +++ b/samples/grids/grid/custom-context-menu/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/data-batch-editing-actions/package.json b/samples/grids/grid/data-batch-editing-actions/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/data-batch-editing-actions/package.json +++ b/samples/grids/grid/data-batch-editing-actions/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/data-exporting-indicator/package.json b/samples/grids/grid/data-exporting-indicator/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/data-exporting-indicator/package.json +++ b/samples/grids/grid/data-exporting-indicator/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/data-performance-virtualization/package.json b/samples/grids/grid/data-performance-virtualization/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/data-performance-virtualization/package.json +++ b/samples/grids/grid/data-performance-virtualization/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/data-searching/package.json b/samples/grids/grid/data-searching/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/data-searching/package.json +++ b/samples/grids/grid/data-searching/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/data-summary-formatter/package.json b/samples/grids/grid/data-summary-formatter/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/data-summary-formatter/package.json +++ b/samples/grids/grid/data-summary-formatter/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/data-summary-options/package.json b/samples/grids/grid/data-summary-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/data-summary-options/package.json +++ b/samples/grids/grid/data-summary-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/data-summary-template/package.json b/samples/grids/grid/data-summary-template/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/data-summary-template/package.json +++ b/samples/grids/grid/data-summary-template/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/data-validation-style/package.json b/samples/grids/grid/data-validation-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/data-validation-style/package.json +++ b/samples/grids/grid/data-validation-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/data-validator-service-cross-field/package.json b/samples/grids/grid/data-validator-service-cross-field/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/data-validator-service-cross-field/package.json +++ b/samples/grids/grid/data-validator-service-cross-field/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/data-validator-service-extended/package.json b/samples/grids/grid/data-validator-service-extended/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/data-validator-service-extended/package.json +++ b/samples/grids/grid/data-validator-service-extended/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/data-validator-service/package.json b/samples/grids/grid/data-validator-service/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/data-validator-service/package.json +++ b/samples/grids/grid/data-validator-service/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/disabled-summaries/package.json b/samples/grids/grid/disabled-summaries/package.json index 85fcb929bc..c767faa394 100644 --- a/samples/grids/grid/disabled-summaries/package.json +++ b/samples/grids/grid/disabled-summaries/package.json @@ -12,7 +12,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "lit-html": "^3.2.0", diff --git a/samples/grids/grid/editing-columns/package.json b/samples/grids/grid/editing-columns/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/editing-columns/package.json +++ b/samples/grids/grid/editing-columns/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/editing-events/package.json b/samples/grids/grid/editing-events/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/editing-events/package.json +++ b/samples/grids/grid/editing-events/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/editing-excel-style/package.json b/samples/grids/grid/editing-excel-style/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/editing-excel-style/package.json +++ b/samples/grids/grid/editing-excel-style/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/editing-lifecycle/package.json b/samples/grids/grid/editing-lifecycle/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/editing-lifecycle/package.json +++ b/samples/grids/grid/editing-lifecycle/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/excel-exporting/package.json b/samples/grids/grid/excel-exporting/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/excel-exporting/package.json +++ b/samples/grids/grid/excel-exporting/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/excel-style-filtering-sample-1/package.json b/samples/grids/grid/excel-style-filtering-sample-1/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/excel-style-filtering-sample-1/package.json +++ b/samples/grids/grid/excel-style-filtering-sample-1/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/excel-style-filtering-sample-2/package.json b/samples/grids/grid/excel-style-filtering-sample-2/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/excel-style-filtering-sample-2/package.json +++ b/samples/grids/grid/excel-style-filtering-sample-2/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/excel-style-filtering-sample-3/package.json b/samples/grids/grid/excel-style-filtering-sample-3/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/excel-style-filtering-sample-3/package.json +++ b/samples/grids/grid/excel-style-filtering-sample-3/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/excel-style-filtering-style/package.json b/samples/grids/grid/excel-style-filtering-style/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/excel-style-filtering-style/package.json +++ b/samples/grids/grid/excel-style-filtering-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/external-advanced-filtering/package.json b/samples/grids/grid/external-advanced-filtering/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/external-advanced-filtering/package.json +++ b/samples/grids/grid/external-advanced-filtering/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/filtering-options/package.json b/samples/grids/grid/filtering-options/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/filtering-options/package.json +++ b/samples/grids/grid/filtering-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/filtering-strategy/package.json b/samples/grids/grid/filtering-strategy/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/filtering-strategy/package.json +++ b/samples/grids/grid/filtering-strategy/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/filtering-style/package.json b/samples/grids/grid/filtering-style/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/filtering-style/package.json +++ b/samples/grids/grid/filtering-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/finjs/package.json b/samples/grids/grid/finjs/package.json index 5675c69ca4..c5edc82637 100644 --- a/samples/grids/grid/finjs/package.json +++ b/samples/grids/grid/finjs/package.json @@ -19,7 +19,7 @@ "igniteui-react-charts": "19.6.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/groupby-custom/package.json b/samples/grids/grid/groupby-custom/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/groupby-custom/package.json +++ b/samples/grids/grid/groupby-custom/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/groupby-expressions/package.json b/samples/grids/grid/groupby-expressions/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/groupby-expressions/package.json +++ b/samples/grids/grid/groupby-expressions/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/groupby-paging/package.json b/samples/grids/grid/groupby-paging/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/groupby-paging/package.json +++ b/samples/grids/grid/groupby-paging/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/groupby-styling/package.json b/samples/grids/grid/groupby-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/groupby-styling/package.json +++ b/samples/grids/grid/groupby-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/groupby-summary-options/package.json b/samples/grids/grid/groupby-summary-options/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/groupby-summary-options/package.json +++ b/samples/grids/grid/groupby-summary-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/groupby-summary-styling/package.json b/samples/grids/grid/groupby-summary-styling/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/groupby-summary-styling/package.json +++ b/samples/grids/grid/groupby-summary-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/infinite-scroll/package.json b/samples/grids/grid/infinite-scroll/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/infinite-scroll/package.json +++ b/samples/grids/grid/infinite-scroll/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/keyboard-custom-navigation/package.json b/samples/grids/grid/keyboard-custom-navigation/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/keyboard-custom-navigation/package.json +++ b/samples/grids/grid/keyboard-custom-navigation/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/keyboard-mrl-navigation/package.json b/samples/grids/grid/keyboard-mrl-navigation/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/keyboard-mrl-navigation/package.json +++ b/samples/grids/grid/keyboard-mrl-navigation/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/layout-display-density/package.json b/samples/grids/grid/layout-display-density/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/layout-display-density/package.json +++ b/samples/grids/grid/layout-display-density/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/localization/package.json b/samples/grids/grid/localization/package.json index d666af1804..b55b80eae9 100644 --- a/samples/grids/grid/localization/package.json +++ b/samples/grids/grid/localization/package.json @@ -18,7 +18,7 @@ "igniteui-i18n-resources": "^1.0.5", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/master-detail/package.json b/samples/grids/grid/master-detail/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/master-detail/package.json +++ b/samples/grids/grid/master-detail/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/multi-cell-selection-mode/package.json b/samples/grids/grid/multi-cell-selection-mode/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/multi-cell-selection-mode/package.json +++ b/samples/grids/grid/multi-cell-selection-mode/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/multi-column-headers-export/package.json b/samples/grids/grid/multi-column-headers-export/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/multi-column-headers-export/package.json +++ b/samples/grids/grid/multi-column-headers-export/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/multi-column-headers-overview/package.json b/samples/grids/grid/multi-column-headers-overview/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/multi-column-headers-overview/package.json +++ b/samples/grids/grid/multi-column-headers-overview/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/multi-column-headers-styling/package.json b/samples/grids/grid/multi-column-headers-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/multi-column-headers-styling/package.json +++ b/samples/grids/grid/multi-column-headers-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/multi-column-headers-template/package.json b/samples/grids/grid/multi-column-headers-template/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/multi-column-headers-template/package.json +++ b/samples/grids/grid/multi-column-headers-template/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/multi-row-layout-options/package.json b/samples/grids/grid/multi-row-layout-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/multi-row-layout-options/package.json +++ b/samples/grids/grid/multi-row-layout-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/multi-row-layout-style/package.json b/samples/grids/grid/multi-row-layout-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/multi-row-layout-style/package.json +++ b/samples/grids/grid/multi-row-layout-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/overview/package.json b/samples/grids/grid/overview/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/overview/package.json +++ b/samples/grids/grid/overview/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/paste/package.json b/samples/grids/grid/paste/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/paste/package.json +++ b/samples/grids/grid/paste/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/remote-paging-data/package.json b/samples/grids/grid/remote-paging-data/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/remote-paging-data/package.json +++ b/samples/grids/grid/remote-paging-data/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/remote-paging-grid/package.json b/samples/grids/grid/remote-paging-grid/package.json index 8f8845e6ed..2564d1bdeb 100644 --- a/samples/grids/grid/remote-paging-grid/package.json +++ b/samples/grids/grid/remote-paging-grid/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/row-adding/package.json b/samples/grids/grid/row-adding/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/row-adding/package.json +++ b/samples/grids/grid/row-adding/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/row-classes/package.json b/samples/grids/grid/row-classes/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/row-classes/package.json +++ b/samples/grids/grid/row-classes/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/row-drag-base/package.json b/samples/grids/grid/row-drag-base/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/row-drag-base/package.json +++ b/samples/grids/grid/row-drag-base/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/row-editing-options/package.json b/samples/grids/grid/row-editing-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/row-editing-options/package.json +++ b/samples/grids/grid/row-editing-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/row-editing-style/package.json b/samples/grids/grid/row-editing-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/row-editing-style/package.json +++ b/samples/grids/grid/row-editing-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/row-paging-basic/package.json b/samples/grids/grid/row-paging-basic/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/row-paging-basic/package.json +++ b/samples/grids/grid/row-paging-basic/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/row-paging-options/package.json b/samples/grids/grid/row-paging-options/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/row-paging-options/package.json +++ b/samples/grids/grid/row-paging-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/row-pinning-drag/package.json b/samples/grids/grid/row-pinning-drag/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/row-pinning-drag/package.json +++ b/samples/grids/grid/row-pinning-drag/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/row-pinning-extra-column/package.json b/samples/grids/grid/row-pinning-extra-column/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/row-pinning-extra-column/package.json +++ b/samples/grids/grid/row-pinning-extra-column/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/row-pinning-options/package.json b/samples/grids/grid/row-pinning-options/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/row-pinning-options/package.json +++ b/samples/grids/grid/row-pinning-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/row-pinning-style/package.json b/samples/grids/grid/row-pinning-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/row-pinning-style/package.json +++ b/samples/grids/grid/row-pinning-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/row-reorder/package.json b/samples/grids/grid/row-reorder/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/row-reorder/package.json +++ b/samples/grids/grid/row-reorder/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/row-selection-mode/package.json b/samples/grids/grid/row-selection-mode/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/row-selection-mode/package.json +++ b/samples/grids/grid/row-selection-mode/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/row-selection-template-excel/package.json b/samples/grids/grid/row-selection-template-excel/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/grid/row-selection-template-excel/package.json +++ b/samples/grids/grid/row-selection-template-excel/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/row-selection-template-numbers/package.json b/samples/grids/grid/row-selection-template-numbers/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/row-selection-template-numbers/package.json +++ b/samples/grids/grid/row-selection-template-numbers/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/row-styles/package.json b/samples/grids/grid/row-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/row-styles/package.json +++ b/samples/grids/grid/row-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/state-persistence-about/package.json b/samples/grids/grid/state-persistence-about/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/state-persistence-about/package.json +++ b/samples/grids/grid/state-persistence-about/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/state-persistence-main/package.json b/samples/grids/grid/state-persistence-main/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/grid/state-persistence-main/package.json +++ b/samples/grids/grid/state-persistence-main/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/grid/styling-custom-CSS/package.json b/samples/grids/grid/styling-custom-CSS/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/styling-custom-CSS/package.json +++ b/samples/grids/grid/styling-custom-CSS/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/toolbar-sample-1/package.json b/samples/grids/grid/toolbar-sample-1/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/toolbar-sample-1/package.json +++ b/samples/grids/grid/toolbar-sample-1/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/toolbar-sample-2/package.json b/samples/grids/grid/toolbar-sample-2/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/toolbar-sample-2/package.json +++ b/samples/grids/grid/toolbar-sample-2/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/toolbar-sample-3/package.json b/samples/grids/grid/toolbar-sample-3/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/toolbar-sample-3/package.json +++ b/samples/grids/grid/toolbar-sample-3/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/grid/toolbar-style/package.json b/samples/grids/grid/toolbar-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/grid/toolbar-style/package.json +++ b/samples/grids/grid/toolbar-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/action-strip/package.json b/samples/grids/hierarchical-grid/action-strip/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/action-strip/package.json +++ b/samples/grids/hierarchical-grid/action-strip/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/advanced-filtering-options/package.json b/samples/grids/hierarchical-grid/advanced-filtering-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/advanced-filtering-options/package.json +++ b/samples/grids/hierarchical-grid/advanced-filtering-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/advanced-filtering-style/package.json b/samples/grids/hierarchical-grid/advanced-filtering-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/advanced-filtering-style/package.json +++ b/samples/grids/hierarchical-grid/advanced-filtering-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/cell-editing-sample/package.json b/samples/grids/hierarchical-grid/cell-editing-sample/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/cell-editing-sample/package.json +++ b/samples/grids/hierarchical-grid/cell-editing-sample/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/cell-editing-styling/package.json b/samples/grids/hierarchical-grid/cell-editing-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/cell-editing-styling/package.json +++ b/samples/grids/hierarchical-grid/cell-editing-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/cell-merge-custom-sample/package.json b/samples/grids/hierarchical-grid/cell-merge-custom-sample/package.json index ff9e92eb27..94fd796be4 100644 --- a/samples/grids/hierarchical-grid/cell-merge-custom-sample/package.json +++ b/samples/grids/hierarchical-grid/cell-merge-custom-sample/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/cell-merge/package.json b/samples/grids/hierarchical-grid/cell-merge/package.json index ff9e92eb27..94fd796be4 100644 --- a/samples/grids/hierarchical-grid/cell-merge/package.json +++ b/samples/grids/hierarchical-grid/cell-merge/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/cell-selection-mode/package.json b/samples/grids/hierarchical-grid/cell-selection-mode/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/hierarchical-grid/cell-selection-mode/package.json +++ b/samples/grids/hierarchical-grid/cell-selection-mode/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/cell-selection-overview/package.json b/samples/grids/hierarchical-grid/cell-selection-overview/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/hierarchical-grid/cell-selection-overview/package.json +++ b/samples/grids/hierarchical-grid/cell-selection-overview/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/cell-selection-style/package.json b/samples/grids/hierarchical-grid/cell-selection-style/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/hierarchical-grid/cell-selection-style/package.json +++ b/samples/grids/hierarchical-grid/cell-selection-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/column-auto-sizing/package.json b/samples/grids/hierarchical-grid/column-auto-sizing/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/hierarchical-grid/column-auto-sizing/package.json +++ b/samples/grids/hierarchical-grid/column-auto-sizing/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/column-collapsible-groups/package.json b/samples/grids/hierarchical-grid/column-collapsible-groups/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-collapsible-groups/package.json +++ b/samples/grids/hierarchical-grid/column-collapsible-groups/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-hiding-toolbar-style/package.json b/samples/grids/hierarchical-grid/column-hiding-toolbar-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-hiding-toolbar-style/package.json +++ b/samples/grids/hierarchical-grid/column-hiding-toolbar-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-hiding-toolbar/package.json b/samples/grids/hierarchical-grid/column-hiding-toolbar/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-hiding-toolbar/package.json +++ b/samples/grids/hierarchical-grid/column-hiding-toolbar/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-moving-options/package.json b/samples/grids/hierarchical-grid/column-moving-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-moving-options/package.json +++ b/samples/grids/hierarchical-grid/column-moving-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-moving-styles/package.json b/samples/grids/hierarchical-grid/column-moving-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-moving-styles/package.json +++ b/samples/grids/hierarchical-grid/column-moving-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-pinning-both-sides/package.json b/samples/grids/hierarchical-grid/column-pinning-both-sides/package.json index ff9e92eb27..94fd796be4 100644 --- a/samples/grids/hierarchical-grid/column-pinning-both-sides/package.json +++ b/samples/grids/hierarchical-grid/column-pinning-both-sides/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/column-pinning-options/package.json b/samples/grids/hierarchical-grid/column-pinning-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-pinning-options/package.json +++ b/samples/grids/hierarchical-grid/column-pinning-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-pinning-right-side/package.json b/samples/grids/hierarchical-grid/column-pinning-right-side/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-pinning-right-side/package.json +++ b/samples/grids/hierarchical-grid/column-pinning-right-side/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-pinning-styles/package.json b/samples/grids/hierarchical-grid/column-pinning-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-pinning-styles/package.json +++ b/samples/grids/hierarchical-grid/column-pinning-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-pinning/package.json b/samples/grids/hierarchical-grid/column-pinning/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-pinning/package.json +++ b/samples/grids/hierarchical-grid/column-pinning/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-resize-styling/package.json b/samples/grids/hierarchical-grid/column-resize-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-resize-styling/package.json +++ b/samples/grids/hierarchical-grid/column-resize-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-resizing/package.json b/samples/grids/hierarchical-grid/column-resizing/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-resizing/package.json +++ b/samples/grids/hierarchical-grid/column-resizing/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-selection-group/package.json b/samples/grids/hierarchical-grid/column-selection-group/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-selection-group/package.json +++ b/samples/grids/hierarchical-grid/column-selection-group/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-selection-mode/package.json b/samples/grids/hierarchical-grid/column-selection-mode/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/hierarchical-grid/column-selection-mode/package.json +++ b/samples/grids/hierarchical-grid/column-selection-mode/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/column-selection-styles/package.json b/samples/grids/hierarchical-grid/column-selection-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-selection-styles/package.json +++ b/samples/grids/hierarchical-grid/column-selection-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-sorting-indicators/package.json b/samples/grids/hierarchical-grid/column-sorting-indicators/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-sorting-indicators/package.json +++ b/samples/grids/hierarchical-grid/column-sorting-indicators/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-sorting-options/package.json b/samples/grids/hierarchical-grid/column-sorting-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-sorting-options/package.json +++ b/samples/grids/hierarchical-grid/column-sorting-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/column-sorting-style/package.json b/samples/grids/hierarchical-grid/column-sorting-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/column-sorting-style/package.json +++ b/samples/grids/hierarchical-grid/column-sorting-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/conditional-cell-style-1/package.json b/samples/grids/hierarchical-grid/conditional-cell-style-1/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/conditional-cell-style-1/package.json +++ b/samples/grids/hierarchical-grid/conditional-cell-style-1/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/conditional-cell-style-2/package.json b/samples/grids/hierarchical-grid/conditional-cell-style-2/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/conditional-cell-style-2/package.json +++ b/samples/grids/hierarchical-grid/conditional-cell-style-2/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/conditional-row-selectors/package.json b/samples/grids/hierarchical-grid/conditional-row-selectors/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/conditional-row-selectors/package.json +++ b/samples/grids/hierarchical-grid/conditional-row-selectors/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/custom-filtering/package.json b/samples/grids/hierarchical-grid/custom-filtering/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/custom-filtering/package.json +++ b/samples/grids/hierarchical-grid/custom-filtering/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/data-exporting-indicator/package.json b/samples/grids/hierarchical-grid/data-exporting-indicator/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/hierarchical-grid/data-exporting-indicator/package.json +++ b/samples/grids/hierarchical-grid/data-exporting-indicator/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/data-performance-virtualization/package.json b/samples/grids/hierarchical-grid/data-performance-virtualization/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/hierarchical-grid/data-performance-virtualization/package.json +++ b/samples/grids/hierarchical-grid/data-performance-virtualization/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/data-summary-formatter/package.json b/samples/grids/hierarchical-grid/data-summary-formatter/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/data-summary-formatter/package.json +++ b/samples/grids/hierarchical-grid/data-summary-formatter/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/data-summary-options-styling/package.json b/samples/grids/hierarchical-grid/data-summary-options-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/data-summary-options-styling/package.json +++ b/samples/grids/hierarchical-grid/data-summary-options-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/data-summary-options/package.json b/samples/grids/hierarchical-grid/data-summary-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/data-summary-options/package.json +++ b/samples/grids/hierarchical-grid/data-summary-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/data-summary-template/package.json b/samples/grids/hierarchical-grid/data-summary-template/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/hierarchical-grid/data-summary-template/package.json +++ b/samples/grids/hierarchical-grid/data-summary-template/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/disabled-summaries/package.json b/samples/grids/hierarchical-grid/disabled-summaries/package.json index 85fcb929bc..c767faa394 100644 --- a/samples/grids/hierarchical-grid/disabled-summaries/package.json +++ b/samples/grids/hierarchical-grid/disabled-summaries/package.json @@ -12,7 +12,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "lit-html": "^3.2.0", diff --git a/samples/grids/hierarchical-grid/editing-columns/package.json b/samples/grids/hierarchical-grid/editing-columns/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/editing-columns/package.json +++ b/samples/grids/hierarchical-grid/editing-columns/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/editing-events/package.json b/samples/grids/hierarchical-grid/editing-events/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/editing-events/package.json +++ b/samples/grids/hierarchical-grid/editing-events/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/editing-lifecycle/package.json b/samples/grids/hierarchical-grid/editing-lifecycle/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/editing-lifecycle/package.json +++ b/samples/grids/hierarchical-grid/editing-lifecycle/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/excel-exporting/package.json b/samples/grids/hierarchical-grid/excel-exporting/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/excel-exporting/package.json +++ b/samples/grids/hierarchical-grid/excel-exporting/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/excel-style-filtering-sample-1/package.json b/samples/grids/hierarchical-grid/excel-style-filtering-sample-1/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/excel-style-filtering-sample-1/package.json +++ b/samples/grids/hierarchical-grid/excel-style-filtering-sample-1/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/excel-style-filtering-sample-2/package.json b/samples/grids/hierarchical-grid/excel-style-filtering-sample-2/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/excel-style-filtering-sample-2/package.json +++ b/samples/grids/hierarchical-grid/excel-style-filtering-sample-2/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/excel-style-filtering-sample-3/package.json b/samples/grids/hierarchical-grid/excel-style-filtering-sample-3/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/excel-style-filtering-sample-3/package.json +++ b/samples/grids/hierarchical-grid/excel-style-filtering-sample-3/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/excel-style-filtering-style/package.json b/samples/grids/hierarchical-grid/excel-style-filtering-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/excel-style-filtering-style/package.json +++ b/samples/grids/hierarchical-grid/excel-style-filtering-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/filtering-options/package.json b/samples/grids/hierarchical-grid/filtering-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/filtering-options/package.json +++ b/samples/grids/hierarchical-grid/filtering-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/filtering-style/package.json b/samples/grids/hierarchical-grid/filtering-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/filtering-style/package.json +++ b/samples/grids/hierarchical-grid/filtering-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/hierarchical-grid-options/package.json b/samples/grids/hierarchical-grid/hierarchical-grid-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/hierarchical-grid-options/package.json +++ b/samples/grids/hierarchical-grid/hierarchical-grid-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/hierarchical-grid-paging-style/package.json b/samples/grids/hierarchical-grid/hierarchical-grid-paging-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/hierarchical-grid-paging-style/package.json +++ b/samples/grids/hierarchical-grid/hierarchical-grid-paging-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/hierarchical-grid-styling/package.json b/samples/grids/hierarchical-grid/hierarchical-grid-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/hierarchical-grid-styling/package.json +++ b/samples/grids/hierarchical-grid/hierarchical-grid-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/layout-display-density/package.json b/samples/grids/hierarchical-grid/layout-display-density/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/hierarchical-grid/layout-display-density/package.json +++ b/samples/grids/hierarchical-grid/layout-display-density/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/multi-column-headers-export/package.json b/samples/grids/hierarchical-grid/multi-column-headers-export/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/multi-column-headers-export/package.json +++ b/samples/grids/hierarchical-grid/multi-column-headers-export/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/multi-column-headers-overview/package.json b/samples/grids/hierarchical-grid/multi-column-headers-overview/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/hierarchical-grid/multi-column-headers-overview/package.json +++ b/samples/grids/hierarchical-grid/multi-column-headers-overview/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/multi-column-headers-styling/package.json b/samples/grids/hierarchical-grid/multi-column-headers-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/multi-column-headers-styling/package.json +++ b/samples/grids/hierarchical-grid/multi-column-headers-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/multi-column-headers-template/package.json b/samples/grids/hierarchical-grid/multi-column-headers-template/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/multi-column-headers-template/package.json +++ b/samples/grids/hierarchical-grid/multi-column-headers-template/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/overview/package.json b/samples/grids/hierarchical-grid/overview/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/overview/package.json +++ b/samples/grids/hierarchical-grid/overview/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/remote-paging-hgrid/package.json b/samples/grids/hierarchical-grid/remote-paging-hgrid/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/hierarchical-grid/remote-paging-hgrid/package.json +++ b/samples/grids/hierarchical-grid/remote-paging-hgrid/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/row-adding/package.json b/samples/grids/hierarchical-grid/row-adding/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/row-adding/package.json +++ b/samples/grids/hierarchical-grid/row-adding/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/row-classes/package.json b/samples/grids/hierarchical-grid/row-classes/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/row-classes/package.json +++ b/samples/grids/hierarchical-grid/row-classes/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/row-drag-base/package.json b/samples/grids/hierarchical-grid/row-drag-base/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/hierarchical-grid/row-drag-base/package.json +++ b/samples/grids/hierarchical-grid/row-drag-base/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/row-editing-options/package.json b/samples/grids/hierarchical-grid/row-editing-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/row-editing-options/package.json +++ b/samples/grids/hierarchical-grid/row-editing-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/row-editing-style/package.json b/samples/grids/hierarchical-grid/row-editing-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/row-editing-style/package.json +++ b/samples/grids/hierarchical-grid/row-editing-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/row-pinning-extra-column/package.json b/samples/grids/hierarchical-grid/row-pinning-extra-column/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/hierarchical-grid/row-pinning-extra-column/package.json +++ b/samples/grids/hierarchical-grid/row-pinning-extra-column/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/row-pinning-options/package.json b/samples/grids/hierarchical-grid/row-pinning-options/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/hierarchical-grid/row-pinning-options/package.json +++ b/samples/grids/hierarchical-grid/row-pinning-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/row-pinning-style/package.json b/samples/grids/hierarchical-grid/row-pinning-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/row-pinning-style/package.json +++ b/samples/grids/hierarchical-grid/row-pinning-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/row-reorder/package.json b/samples/grids/hierarchical-grid/row-reorder/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/row-reorder/package.json +++ b/samples/grids/hierarchical-grid/row-reorder/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/row-selection-mode/package.json b/samples/grids/hierarchical-grid/row-selection-mode/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/hierarchical-grid/row-selection-mode/package.json +++ b/samples/grids/hierarchical-grid/row-selection-mode/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/row-selection-template-numbers/package.json b/samples/grids/hierarchical-grid/row-selection-template-numbers/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/row-selection-template-numbers/package.json +++ b/samples/grids/hierarchical-grid/row-selection-template-numbers/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/row-styles/package.json b/samples/grids/hierarchical-grid/row-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/row-styles/package.json +++ b/samples/grids/hierarchical-grid/row-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/state-persistence-about/package.json b/samples/grids/hierarchical-grid/state-persistence-about/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/hierarchical-grid/state-persistence-about/package.json +++ b/samples/grids/hierarchical-grid/state-persistence-about/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/state-persistence-main/package.json b/samples/grids/hierarchical-grid/state-persistence-main/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/hierarchical-grid/state-persistence-main/package.json +++ b/samples/grids/hierarchical-grid/state-persistence-main/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/toolbar-sample-3/package.json b/samples/grids/hierarchical-grid/toolbar-sample-3/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/toolbar-sample-3/package.json +++ b/samples/grids/hierarchical-grid/toolbar-sample-3/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/hierarchical-grid/toolbar-sample-4/package.json b/samples/grids/hierarchical-grid/toolbar-sample-4/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/hierarchical-grid/toolbar-sample-4/package.json +++ b/samples/grids/hierarchical-grid/toolbar-sample-4/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/hierarchical-grid/toolbar-style/package.json b/samples/grids/hierarchical-grid/toolbar-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/hierarchical-grid/toolbar-style/package.json +++ b/samples/grids/hierarchical-grid/toolbar-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/pivot-grid/aggregate-max-sales/package.json b/samples/grids/pivot-grid/aggregate-max-sales/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/pivot-grid/aggregate-max-sales/package.json +++ b/samples/grids/pivot-grid/aggregate-max-sales/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/pivot-grid/aggregate-units-sold/package.json b/samples/grids/pivot-grid/aggregate-units-sold/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/pivot-grid/aggregate-units-sold/package.json +++ b/samples/grids/pivot-grid/aggregate-units-sold/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/pivot-grid/data-selector/package.json b/samples/grids/pivot-grid/data-selector/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/pivot-grid/data-selector/package.json +++ b/samples/grids/pivot-grid/data-selector/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/pivot-grid/features/package.json b/samples/grids/pivot-grid/features/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/pivot-grid/features/package.json +++ b/samples/grids/pivot-grid/features/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/pivot-grid/state-persistence-about/package.json b/samples/grids/pivot-grid/state-persistence-about/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/pivot-grid/state-persistence-about/package.json +++ b/samples/grids/pivot-grid/state-persistence-about/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/pivot-grid/state-persistence-main/package.json b/samples/grids/pivot-grid/state-persistence-main/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/pivot-grid/state-persistence-main/package.json +++ b/samples/grids/pivot-grid/state-persistence-main/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/pivot-grid/styling/package.json b/samples/grids/pivot-grid/styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/pivot-grid/styling/package.json +++ b/samples/grids/pivot-grid/styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/action-strip/package.json b/samples/grids/tree-grid/action-strip/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/action-strip/package.json +++ b/samples/grids/tree-grid/action-strip/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/advanced-filtering-options/package.json b/samples/grids/tree-grid/advanced-filtering-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/advanced-filtering-options/package.json +++ b/samples/grids/tree-grid/advanced-filtering-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/advanced-filtering-style/package.json b/samples/grids/tree-grid/advanced-filtering-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/advanced-filtering-style/package.json +++ b/samples/grids/tree-grid/advanced-filtering-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/cell-editing-sample/package.json b/samples/grids/tree-grid/cell-editing-sample/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/cell-editing-sample/package.json +++ b/samples/grids/tree-grid/cell-editing-sample/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/cell-editing-styling/package.json b/samples/grids/tree-grid/cell-editing-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/cell-editing-styling/package.json +++ b/samples/grids/tree-grid/cell-editing-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/cell-merge-custom-sample/package.json b/samples/grids/tree-grid/cell-merge-custom-sample/package.json index ff9e92eb27..94fd796be4 100644 --- a/samples/grids/tree-grid/cell-merge-custom-sample/package.json +++ b/samples/grids/tree-grid/cell-merge-custom-sample/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/cell-merge/package.json b/samples/grids/tree-grid/cell-merge/package.json index ff9e92eb27..94fd796be4 100644 --- a/samples/grids/tree-grid/cell-merge/package.json +++ b/samples/grids/tree-grid/cell-merge/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/cell-selection-mode/package.json b/samples/grids/tree-grid/cell-selection-mode/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/cell-selection-mode/package.json +++ b/samples/grids/tree-grid/cell-selection-mode/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/cell-selection-style/package.json b/samples/grids/tree-grid/cell-selection-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/cell-selection-style/package.json +++ b/samples/grids/tree-grid/cell-selection-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/clipboard-operations/package.json b/samples/grids/tree-grid/clipboard-operations/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/tree-grid/clipboard-operations/package.json +++ b/samples/grids/tree-grid/clipboard-operations/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/column-auto-sizing/package.json b/samples/grids/tree-grid/column-auto-sizing/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-auto-sizing/package.json +++ b/samples/grids/tree-grid/column-auto-sizing/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-collapsible-groups/package.json b/samples/grids/tree-grid/column-collapsible-groups/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-collapsible-groups/package.json +++ b/samples/grids/tree-grid/column-collapsible-groups/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-data-types/package.json b/samples/grids/tree-grid/column-data-types/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/tree-grid/column-data-types/package.json +++ b/samples/grids/tree-grid/column-data-types/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/column-hiding-toolbar-style/package.json b/samples/grids/tree-grid/column-hiding-toolbar-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-hiding-toolbar-style/package.json +++ b/samples/grids/tree-grid/column-hiding-toolbar-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-hiding-toolbar/package.json b/samples/grids/tree-grid/column-hiding-toolbar/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-hiding-toolbar/package.json +++ b/samples/grids/tree-grid/column-hiding-toolbar/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-moving-options/package.json b/samples/grids/tree-grid/column-moving-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-moving-options/package.json +++ b/samples/grids/tree-grid/column-moving-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-moving-styles/package.json b/samples/grids/tree-grid/column-moving-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-moving-styles/package.json +++ b/samples/grids/tree-grid/column-moving-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-pinning-both-sides/package.json b/samples/grids/tree-grid/column-pinning-both-sides/package.json index ff9e92eb27..94fd796be4 100644 --- a/samples/grids/tree-grid/column-pinning-both-sides/package.json +++ b/samples/grids/tree-grid/column-pinning-both-sides/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/column-pinning-options/package.json b/samples/grids/tree-grid/column-pinning-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-pinning-options/package.json +++ b/samples/grids/tree-grid/column-pinning-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-pinning-right-side/package.json b/samples/grids/tree-grid/column-pinning-right-side/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-pinning-right-side/package.json +++ b/samples/grids/tree-grid/column-pinning-right-side/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-pinning-styles/package.json b/samples/grids/tree-grid/column-pinning-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-pinning-styles/package.json +++ b/samples/grids/tree-grid/column-pinning-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-pinning-toolbar/package.json b/samples/grids/tree-grid/column-pinning-toolbar/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-pinning-toolbar/package.json +++ b/samples/grids/tree-grid/column-pinning-toolbar/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-pinning/package.json b/samples/grids/tree-grid/column-pinning/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-pinning/package.json +++ b/samples/grids/tree-grid/column-pinning/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-resize-styling/package.json b/samples/grids/tree-grid/column-resize-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-resize-styling/package.json +++ b/samples/grids/tree-grid/column-resize-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-resizing/package.json b/samples/grids/tree-grid/column-resizing/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-resizing/package.json +++ b/samples/grids/tree-grid/column-resizing/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-selection-group/package.json b/samples/grids/tree-grid/column-selection-group/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-selection-group/package.json +++ b/samples/grids/tree-grid/column-selection-group/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-selection-mode/package.json b/samples/grids/tree-grid/column-selection-mode/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/column-selection-mode/package.json +++ b/samples/grids/tree-grid/column-selection-mode/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/column-selection-style/package.json b/samples/grids/tree-grid/column-selection-style/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/tree-grid/column-selection-style/package.json +++ b/samples/grids/tree-grid/column-selection-style/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/column-selection-styles/package.json b/samples/grids/tree-grid/column-selection-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-selection-styles/package.json +++ b/samples/grids/tree-grid/column-selection-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-sorting-indicators/package.json b/samples/grids/tree-grid/column-sorting-indicators/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/column-sorting-indicators/package.json +++ b/samples/grids/tree-grid/column-sorting-indicators/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/column-sorting-options/package.json b/samples/grids/tree-grid/column-sorting-options/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/column-sorting-options/package.json +++ b/samples/grids/tree-grid/column-sorting-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/column-sorting-style/package.json b/samples/grids/tree-grid/column-sorting-style/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/column-sorting-style/package.json +++ b/samples/grids/tree-grid/column-sorting-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/conditional-cell-style-1/package.json b/samples/grids/tree-grid/conditional-cell-style-1/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/conditional-cell-style-1/package.json +++ b/samples/grids/tree-grid/conditional-cell-style-1/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/conditional-cell-style-2/package.json b/samples/grids/tree-grid/conditional-cell-style-2/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/conditional-cell-style-2/package.json +++ b/samples/grids/tree-grid/conditional-cell-style-2/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/conditional-row-selectors/package.json b/samples/grids/tree-grid/conditional-row-selectors/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/conditional-row-selectors/package.json +++ b/samples/grids/tree-grid/conditional-row-selectors/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/data-exporting-indicator/package.json b/samples/grids/tree-grid/data-exporting-indicator/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/tree-grid/data-exporting-indicator/package.json +++ b/samples/grids/tree-grid/data-exporting-indicator/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/data-searching/package.json b/samples/grids/tree-grid/data-searching/package.json index 9309f63649..2bdad8f409 100644 --- a/samples/grids/tree-grid/data-searching/package.json +++ b/samples/grids/tree-grid/data-searching/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "igniteui-react": "19.9.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "lit-html": "^2.2.0", "react": "^19.2.0", "react-dom": "^19.2.0", diff --git a/samples/grids/tree-grid/data-summary-children/package.json b/samples/grids/tree-grid/data-summary-children/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/data-summary-children/package.json +++ b/samples/grids/tree-grid/data-summary-children/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/data-summary-formatter/package.json b/samples/grids/tree-grid/data-summary-formatter/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/data-summary-formatter/package.json +++ b/samples/grids/tree-grid/data-summary-formatter/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/data-summary-options-styling/package.json b/samples/grids/tree-grid/data-summary-options-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/data-summary-options-styling/package.json +++ b/samples/grids/tree-grid/data-summary-options-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/data-summary-options/package.json b/samples/grids/tree-grid/data-summary-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/data-summary-options/package.json +++ b/samples/grids/tree-grid/data-summary-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/data-summary-template/package.json b/samples/grids/tree-grid/data-summary-template/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/data-summary-template/package.json +++ b/samples/grids/tree-grid/data-summary-template/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/disabled-summaries/package.json b/samples/grids/tree-grid/disabled-summaries/package.json index 85fcb929bc..c767faa394 100644 --- a/samples/grids/tree-grid/disabled-summaries/package.json +++ b/samples/grids/tree-grid/disabled-summaries/package.json @@ -12,7 +12,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "lit-html": "^3.2.0", diff --git a/samples/grids/tree-grid/editing-columns/package.json b/samples/grids/tree-grid/editing-columns/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/editing-columns/package.json +++ b/samples/grids/tree-grid/editing-columns/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/editing-events/package.json b/samples/grids/tree-grid/editing-events/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/editing-events/package.json +++ b/samples/grids/tree-grid/editing-events/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/editing-lifecycle/package.json b/samples/grids/tree-grid/editing-lifecycle/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/editing-lifecycle/package.json +++ b/samples/grids/tree-grid/editing-lifecycle/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/excel-exporting/package.json b/samples/grids/tree-grid/excel-exporting/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/excel-exporting/package.json +++ b/samples/grids/tree-grid/excel-exporting/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/excel-style-filtering-sample-1/package.json b/samples/grids/tree-grid/excel-style-filtering-sample-1/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/excel-style-filtering-sample-1/package.json +++ b/samples/grids/tree-grid/excel-style-filtering-sample-1/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/excel-style-filtering-sample-2/package.json b/samples/grids/tree-grid/excel-style-filtering-sample-2/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/excel-style-filtering-sample-2/package.json +++ b/samples/grids/tree-grid/excel-style-filtering-sample-2/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/excel-style-filtering-sample-3/package.json b/samples/grids/tree-grid/excel-style-filtering-sample-3/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/excel-style-filtering-sample-3/package.json +++ b/samples/grids/tree-grid/excel-style-filtering-sample-3/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/excel-style-filtering-style/package.json b/samples/grids/tree-grid/excel-style-filtering-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/excel-style-filtering-style/package.json +++ b/samples/grids/tree-grid/excel-style-filtering-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/filtering-options/package.json b/samples/grids/tree-grid/filtering-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/filtering-options/package.json +++ b/samples/grids/tree-grid/filtering-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/filtering-style/package.json b/samples/grids/tree-grid/filtering-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/filtering-style/package.json +++ b/samples/grids/tree-grid/filtering-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/keyboard-custom-navigation/package.json b/samples/grids/tree-grid/keyboard-custom-navigation/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/keyboard-custom-navigation/package.json +++ b/samples/grids/tree-grid/keyboard-custom-navigation/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/layout-display-density/package.json b/samples/grids/tree-grid/layout-display-density/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/layout-display-density/package.json +++ b/samples/grids/tree-grid/layout-display-density/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/multi-cell-selection-mode/package.json b/samples/grids/tree-grid/multi-cell-selection-mode/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/tree-grid/multi-cell-selection-mode/package.json +++ b/samples/grids/tree-grid/multi-cell-selection-mode/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/multi-column-headers-export/package.json b/samples/grids/tree-grid/multi-column-headers-export/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/multi-column-headers-export/package.json +++ b/samples/grids/tree-grid/multi-column-headers-export/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/multi-column-headers-overview/package.json b/samples/grids/tree-grid/multi-column-headers-overview/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/multi-column-headers-overview/package.json +++ b/samples/grids/tree-grid/multi-column-headers-overview/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/multi-column-headers-styling/package.json b/samples/grids/tree-grid/multi-column-headers-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/multi-column-headers-styling/package.json +++ b/samples/grids/tree-grid/multi-column-headers-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/multi-column-headers-template/package.json b/samples/grids/tree-grid/multi-column-headers-template/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/multi-column-headers-template/package.json +++ b/samples/grids/tree-grid/multi-column-headers-template/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/overview-styling/package.json b/samples/grids/tree-grid/overview-styling/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/overview-styling/package.json +++ b/samples/grids/tree-grid/overview-styling/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/overview/package.json b/samples/grids/tree-grid/overview/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/overview/package.json +++ b/samples/grids/tree-grid/overview/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/row-adding/package.json b/samples/grids/tree-grid/row-adding/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-adding/package.json +++ b/samples/grids/tree-grid/row-adding/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/row-classes/package.json b/samples/grids/tree-grid/row-classes/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-classes/package.json +++ b/samples/grids/tree-grid/row-classes/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/row-drag-base/package.json b/samples/grids/tree-grid/row-drag-base/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/tree-grid/row-drag-base/package.json +++ b/samples/grids/tree-grid/row-drag-base/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/row-editing-options/package.json b/samples/grids/tree-grid/row-editing-options/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-editing-options/package.json +++ b/samples/grids/tree-grid/row-editing-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/row-editing-style/package.json b/samples/grids/tree-grid/row-editing-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-editing-style/package.json +++ b/samples/grids/tree-grid/row-editing-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/row-paging-basic/package.json b/samples/grids/tree-grid/row-paging-basic/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-paging-basic/package.json +++ b/samples/grids/tree-grid/row-paging-basic/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/row-paging-options/package.json b/samples/grids/tree-grid/row-paging-options/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/row-paging-options/package.json +++ b/samples/grids/tree-grid/row-paging-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/row-paging-style/package.json b/samples/grids/tree-grid/row-paging-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-paging-style/package.json +++ b/samples/grids/tree-grid/row-paging-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/row-pinning-extra-column/package.json b/samples/grids/tree-grid/row-pinning-extra-column/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-pinning-extra-column/package.json +++ b/samples/grids/tree-grid/row-pinning-extra-column/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/row-pinning-options/package.json b/samples/grids/tree-grid/row-pinning-options/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/row-pinning-options/package.json +++ b/samples/grids/tree-grid/row-pinning-options/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/row-pinning-style/package.json b/samples/grids/tree-grid/row-pinning-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-pinning-style/package.json +++ b/samples/grids/tree-grid/row-pinning-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/row-reorder/package.json b/samples/grids/tree-grid/row-reorder/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-reorder/package.json +++ b/samples/grids/tree-grid/row-reorder/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/row-selection-mode/package.json b/samples/grids/tree-grid/row-selection-mode/package.json index 71f5d2c861..4e359707ce 100644 --- a/samples/grids/tree-grid/row-selection-mode/package.json +++ b/samples/grids/tree-grid/row-selection-mode/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/row-selection-template-excel/package.json b/samples/grids/tree-grid/row-selection-template-excel/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-selection-template-excel/package.json +++ b/samples/grids/tree-grid/row-selection-template-excel/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/row-selection-template-numbers/package.json b/samples/grids/tree-grid/row-selection-template-numbers/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-selection-template-numbers/package.json +++ b/samples/grids/tree-grid/row-selection-template-numbers/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/row-styles/package.json b/samples/grids/tree-grid/row-styles/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/row-styles/package.json +++ b/samples/grids/tree-grid/row-styles/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/state-persistence-about/package.json b/samples/grids/tree-grid/state-persistence-about/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/tree-grid/state-persistence-about/package.json +++ b/samples/grids/tree-grid/state-persistence-about/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/state-persistence-main/package.json b/samples/grids/tree-grid/state-persistence-main/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/tree-grid/state-persistence-main/package.json +++ b/samples/grids/tree-grid/state-persistence-main/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/toolbar-sample-1/package.json b/samples/grids/tree-grid/toolbar-sample-1/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/toolbar-sample-1/package.json +++ b/samples/grids/tree-grid/toolbar-sample-1/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/toolbar-sample-2/package.json b/samples/grids/tree-grid/toolbar-sample-2/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/tree-grid/toolbar-sample-2/package.json +++ b/samples/grids/tree-grid/toolbar-sample-2/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/toolbar-sample-3/package.json b/samples/grids/tree-grid/toolbar-sample-3/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/toolbar-sample-3/package.json +++ b/samples/grids/tree-grid/toolbar-sample-3/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/toolbar-sample-4/package.json b/samples/grids/tree-grid/toolbar-sample-4/package.json index 7a4362fa38..49dd776433 100644 --- a/samples/grids/tree-grid/toolbar-sample-4/package.json +++ b/samples/grids/tree-grid/toolbar-sample-4/package.json @@ -18,7 +18,7 @@ "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", "igniteui-react-datasources": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/grids/tree-grid/toolbar-style/package.json b/samples/grids/tree-grid/toolbar-style/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/toolbar-style/package.json +++ b/samples/grids/tree-grid/toolbar-style/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/grids/tree-grid/using-primary-foreign-keys/package.json b/samples/grids/tree-grid/using-primary-foreign-keys/package.json index 6120f7615b..2258b6b7f8 100644 --- a/samples/grids/tree-grid/using-primary-foreign-keys/package.json +++ b/samples/grids/tree-grid/using-primary-foreign-keys/package.json @@ -17,7 +17,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-webcomponents": "^7.4.1", "lit-html": "^3.2.0", "react": "^19.2.0", diff --git a/samples/inputs/combo/templates/package.json b/samples/inputs/combo/templates/package.json index 9cbc61b383..1e110b4899 100644 --- a/samples/inputs/combo/templates/package.json +++ b/samples/inputs/combo/templates/package.json @@ -15,7 +15,7 @@ "igniteui-dockmanager": "^1.17.0", "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-react-grids": "19.7.0", + "igniteui-react-grids": "19.10.0", "igniteui-react-inputs": "19.6.0", "igniteui-react-layouts": "19.6.0", "igniteui-webcomponents": "^7.4.1", diff --git a/samples/interactions/query-builder/overview/package.json b/samples/interactions/query-builder/overview/package.json index 928fea992f..3980e1faa1 100644 --- a/samples/interactions/query-builder/overview/package.json +++ b/samples/interactions/query-builder/overview/package.json @@ -16,7 +16,7 @@ "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", diff --git a/samples/interactions/query-builder/template/package.json b/samples/interactions/query-builder/template/package.json index 5b6729c967..528c2c6c67 100644 --- a/samples/interactions/query-builder/template/package.json +++ b/samples/interactions/query-builder/template/package.json @@ -16,7 +16,7 @@ "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", diff --git a/samples/layouts/carousel/configuration/package.json b/samples/layouts/carousel/configuration/package.json index 7d47971ea5..010609d452 100644 --- a/samples/layouts/carousel/configuration/package.json +++ b/samples/layouts/carousel/configuration/package.json @@ -12,9 +12,9 @@ "test": "vitest" }, "dependencies": { - "igniteui-react": "19.7.0", + "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.2.1", + "igniteui-webcomponents": "^7.4.1", "react": "^19.2.0", "react-dom": "^19.2.0", "tslib": "^2.4.0" diff --git a/samples/layouts/carousel/styling/package.json b/samples/layouts/carousel/styling/package.json index 9d14d32eae..64c19541e4 100644 --- a/samples/layouts/carousel/styling/package.json +++ b/samples/layouts/carousel/styling/package.json @@ -12,9 +12,9 @@ "test": "vitest" }, "dependencies": { - "igniteui-react": "19.7.0", + "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.2.1", + "igniteui-webcomponents": "^7.4.1", "react": "^19.2.0", "react-dom": "^19.2.0", "tslib": "^2.4.0" diff --git a/samples/layouts/carousel/tailwind-styling/package.json b/samples/layouts/carousel/tailwind-styling/package.json index eec40021ee..0e04d41f41 100644 --- a/samples/layouts/carousel/tailwind-styling/package.json +++ b/samples/layouts/carousel/tailwind-styling/package.json @@ -12,9 +12,9 @@ "test": "vitest" }, "dependencies": { - "igniteui-react": "19.7.0", + "igniteui-react": "19.9.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.2.1", + "igniteui-webcomponents": "^7.4.1", "react": "^19.2.0", "react-dom": "^19.2.0", "tslib": "^2.4.0" From d57e2cc3394907ab4b378bdacc3482b4c1c8e928 Mon Sep 17 00:00:00 2001 From: Hristo Hristov Date: Tue, 6 Oct 2026 22:16:26 +0300 Subject: [PATCH 05/15] fix: samples styling --- samples/inputs/badge/overview/src/index.css | 1 + 1 file changed, 1 insertion(+) diff --git a/samples/inputs/badge/overview/src/index.css b/samples/inputs/badge/overview/src/index.css index 930e43af6d..5d7308c521 100644 --- a/samples/inputs/badge/overview/src/index.css +++ b/samples/inputs/badge/overview/src/index.css @@ -35,6 +35,7 @@ igc-badge igc-icon { .event-example igc-chip { --ig-size: var(--ig-size-large); + --ig-chip-background: var(--ig-gray-300); } .event-example igc-chip::part(base) { From e28731ac221c8cc8ec892b2581af240f4869e3fd Mon Sep 17 00:00:00 2001 From: Adrian Petrov <99720888+adrianptrv@users.noreply.github.com> Date: Wed, 7 Oct 2026 12:00:41 +0300 Subject: [PATCH 06/15] feat(breadcrumbs): add dropdown sample + add theme-picker to 'state' and 'size' samples (#1116) --- .../dropdown/.devcontainer/devcontainer.json | 4 + .../layouts/breadcrumbs/dropdown/.eslintrc.js | 75 +++++++++++++++++++ .../layouts/breadcrumbs/dropdown/README.md | 56 ++++++++++++++ .../layouts/breadcrumbs/dropdown/index.html | 11 +++ .../layouts/breadcrumbs/dropdown/package.json | 42 +++++++++++ .../breadcrumbs/dropdown/sandbox.config.json | 5 ++ .../breadcrumbs/dropdown/src/index.css | 41 ++++++++++ .../breadcrumbs/dropdown/src/index.tsx | 60 +++++++++++++++ .../breadcrumbs/dropdown/tsconfig.json | 44 +++++++++++ .../breadcrumbs/dropdown/vite.config.js | 12 +++ .../breadcrumbs/overview/src/index.tsx | 2 +- .../layouts/breadcrumbs/sizes/src/index.css | 3 +- .../layouts/breadcrumbs/sizes/src/index.tsx | 2 +- .../layouts/breadcrumbs/states/src/index.css | 44 ++++++++++- .../layouts/breadcrumbs/states/src/index.tsx | 2 +- 15 files changed, 395 insertions(+), 8 deletions(-) create mode 100644 samples/layouts/breadcrumbs/dropdown/.devcontainer/devcontainer.json create mode 100644 samples/layouts/breadcrumbs/dropdown/.eslintrc.js create mode 100644 samples/layouts/breadcrumbs/dropdown/README.md create mode 100644 samples/layouts/breadcrumbs/dropdown/index.html create mode 100644 samples/layouts/breadcrumbs/dropdown/package.json create mode 100644 samples/layouts/breadcrumbs/dropdown/sandbox.config.json create mode 100644 samples/layouts/breadcrumbs/dropdown/src/index.css create mode 100644 samples/layouts/breadcrumbs/dropdown/src/index.tsx create mode 100644 samples/layouts/breadcrumbs/dropdown/tsconfig.json create mode 100644 samples/layouts/breadcrumbs/dropdown/vite.config.js diff --git a/samples/layouts/breadcrumbs/dropdown/.devcontainer/devcontainer.json b/samples/layouts/breadcrumbs/dropdown/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..e0b8e9c925 --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:22" +} \ No newline at end of file diff --git a/samples/layouts/breadcrumbs/dropdown/.eslintrc.js b/samples/layouts/breadcrumbs/dropdown/.eslintrc.js new file mode 100644 index 0000000000..b45160a9ee --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/.eslintrc.js @@ -0,0 +1,75 @@ +// 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/dropdown/README.md b/samples/layouts/breadcrumbs/dropdown/README.md new file mode 100644 index 0000000000..df6ea08e44 --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/README.md @@ -0,0 +1,56 @@ + + + +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 + + + 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/breadcrumbs/dropdown +``` + +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/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..4be21c2b34 --- /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": "^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/breadcrumbs/dropdown/sandbox.config.json b/samples/layouts/breadcrumbs/dropdown/sandbox.config.json new file mode 100644 index 0000000000..00acba0c10 --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/sandbox.config.json @@ -0,0 +1,5 @@ +{ + "infiniteLoopProtection": false, + "hardReloadOnChange": false, + "view": "browser" +} \ No newline at end of file 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..f631d16442 --- /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..8c0d146f95 --- /dev/null +++ b/samples/layouts/breadcrumbs/dropdown/tsconfig.json @@ -0,0 +1,44 @@ +{ + "compilerOptions": { + "resolveJsonModule": true, + "esModuleInterop": true, + "baseUrl": ".", + "outDir": "build/dist", + "module": "esnext", + "target": "es5", + "lib": [ + "es6", + "dom" + ], + "sourceMap": true, + "allowJs": true, + "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, + "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/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/src/index.tsx b/samples/layouts/breadcrumbs/overview/src/index.tsx index 87ce1370c7..d74f609adc 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 = ''; 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..0b4f381c80 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 = ''; 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..93589d52e2 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 = ''; From 775e104e660b2329f5829d38ec297c9c45bc6cab Mon Sep 17 00:00:00 2001 From: Borislav Traykov Date: Mon, 12 Oct 2026 16:43:21 +0300 Subject: [PATCH 07/15] ci: Add Dependabot configuration for GitHub Actions updates (#1122) Weekly grouped version updates for GitHub Actions with a 14-day cooldown, identical to igniteui-blazor's .github/dependabot.yml. Co-authored-by: Claude Opus 5.5 --- .github/dependabot.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..49cab9a4fb --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,15 @@ +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 From 058939c6bd609aaac67aa322a14e608d0965954d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 20:15:04 +0300 Subject: [PATCH 08/15] chore(deps): bump the github-actions group with 2 updates (#1123) Bumps the github-actions group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [actions/github-script](https://github.com/actions/github-script). Updates `actions/checkout` from 6 to 7 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v6...v7) Updates `actions/github-script` from 8 to 9 - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v8...v9) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/github-script dependency-version: '9' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/build-sb.yml | 2 +- .github/workflows/igniteui-react-examples-cd.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-sb.yml b/.github/workflows/build-sb.yml index 9fba7ef1bd..31f661f31d 100644 --- a/.github/workflows/build-sb.yml +++ b/.github/workflows/build-sb.yml @@ -17,7 +17,7 @@ jobs: # 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 + - uses: actions/checkout@v7 - name: Use Node.js 24 uses: actions/setup-node@v6 diff --git a/.github/workflows/igniteui-react-examples-cd.yml b/.github/workflows/igniteui-react-examples-cd.yml index 963c4617ac..6623c502a6 100644 --- a/.github/workflows/igniteui-react-examples-cd.yml +++ b/.github/workflows/igniteui-react-examples-cd.yml @@ -26,7 +26,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 with: ref: ${{ env.BRANCH_REF }} token: ${{ secrets.GITHUB_TOKEN }} @@ -105,7 +105,7 @@ jobs: path: react-demos.zip - name: Trigger Deploy Workflow in IgniteUI Actions - uses: actions/github-script@v8 + uses: actions/github-script@v9 with: github-token: ${{ secrets.CLASSIC_PAT_GITHUB }} script: | From 59e0d587991ee3c018177d4213f77bdbbbb76938 Mon Sep 17 00:00:00 2001 From: Ivan Minchev <61944284+IMinchev64@users.noreply.github.com> Date: Wed, 21 Oct 2026 18:44:02 +0300 Subject: [PATCH 09/15] feat(card): update card samples for new documentation (#1096) --- browser/package.json | 2 + browser/public/meta.json | 2 +- browser/src/navigation/SamplesBrowser.json | 2 +- .../.devcontainer/devcontainer.json | 0 .../card/{horizontal => actions}/.eslintrc.js | 0 .../card/{horizontal => actions}/README.md | 8 +- .../card/{horizontal => actions}/index.html | 2 +- .../{semi-horizontal => actions}/package.json | 8 +- .../sandbox.config.json | 0 samples/layouts/card/actions/src/index.css | 104 ++++++++++ samples/layouts/card/actions/src/index.tsx | 130 +++++++++++++ .../{horizontal => actions}/tsconfig.json | 0 .../{horizontal => actions}/vite.config.js | 0 .../card/horizontal/src/CardHorizontal.css | 23 --- samples/layouts/card/horizontal/src/index.css | 0 samples/layouts/card/horizontal/src/index.tsx | 41 ---- .../.devcontainer/devcontainer.json | 0 .../{semi-horizontal => media}/.eslintrc.js | 0 .../card/{semi-horizontal => media}/README.md | 8 +- .../{semi-horizontal => media}/index.html | 2 +- samples/layouts/card/media/package.json | 42 ++++ .../sandbox.config.json | 0 samples/layouts/card/media/src/index.css | 80 ++++++++ samples/layouts/card/media/src/index.tsx | 126 ++++++++++++ .../{semi-horizontal => media}/tsconfig.json | 0 .../{semi-horizontal => media}/vite.config.js | 0 .../card/overview/src/CardOverview.css | 8 - samples/layouts/card/overview/src/index.css | 44 +++++ samples/layouts/card/overview/src/index.tsx | 157 ++++++++------- .../position/.devcontainer/devcontainer.json | 4 + samples/layouts/card/position/.eslintrc.js | 75 +++++++ samples/layouts/card/position/README.md | 56 ++++++ samples/layouts/card/position/index.html | 11 ++ .../{horizontal => position}/package.json | 4 +- .../layouts/card/position/sandbox.config.json | 5 + samples/layouts/card/position/src/index.css | 104 ++++++++++ samples/layouts/card/position/src/index.tsx | 88 +++++++++ samples/layouts/card/position/tsconfig.json | 44 +++++ samples/layouts/card/position/vite.config.js | 12 ++ .../src/CardSemiHorizontal.css | 23 --- .../card/semi-horizontal/src/index.css | 0 .../card/semi-horizontal/src/index.tsx | 58 ------ .../layouts/card/styling/src/CardStyling.css | 26 --- samples/layouts/card/styling/src/index.css | 174 +++++++++++++++++ samples/layouts/card/styling/src/index.tsx | 108 ++++++----- .../.devcontainer/devcontainer.json | 4 + .../card/tailwind-styling/.eslintrc.js | 75 +++++++ .../layouts/card/tailwind-styling/README.md | 56 ++++++ .../layouts/card/tailwind-styling/index.html | 11 ++ .../card/tailwind-styling/package.json | 44 +++++ .../card/tailwind-styling/sandbox.config.json | 5 + .../card/tailwind-styling/src/index.css | 56 ++++++ .../card/tailwind-styling/src/index.tsx | 183 ++++++++++++++++++ .../card/tailwind-styling/tsconfig.json | 44 +++++ .../card/tailwind-styling/vite.config.js | 13 ++ 55 files changed, 1763 insertions(+), 309 deletions(-) rename samples/layouts/card/{horizontal => actions}/.devcontainer/devcontainer.json (100%) rename samples/layouts/card/{horizontal => actions}/.eslintrc.js (100%) rename samples/layouts/card/{horizontal => actions}/README.md (86%) rename samples/layouts/card/{horizontal => actions}/index.html (88%) rename samples/layouts/card/{semi-horizontal => actions}/package.json (81%) rename samples/layouts/card/{horizontal => actions}/sandbox.config.json (100%) create mode 100644 samples/layouts/card/actions/src/index.css create mode 100644 samples/layouts/card/actions/src/index.tsx rename samples/layouts/card/{horizontal => actions}/tsconfig.json (100%) rename samples/layouts/card/{horizontal => actions}/vite.config.js (100%) delete mode 100644 samples/layouts/card/horizontal/src/CardHorizontal.css delete mode 100644 samples/layouts/card/horizontal/src/index.css delete mode 100644 samples/layouts/card/horizontal/src/index.tsx rename samples/layouts/card/{semi-horizontal => media}/.devcontainer/devcontainer.json (100%) rename samples/layouts/card/{semi-horizontal => media}/.eslintrc.js (100%) rename samples/layouts/card/{semi-horizontal => media}/README.md (85%) rename samples/layouts/card/{semi-horizontal => media}/index.html (86%) create mode 100644 samples/layouts/card/media/package.json rename samples/layouts/card/{semi-horizontal => media}/sandbox.config.json (100%) create mode 100644 samples/layouts/card/media/src/index.css create mode 100644 samples/layouts/card/media/src/index.tsx rename samples/layouts/card/{semi-horizontal => media}/tsconfig.json (100%) rename samples/layouts/card/{semi-horizontal => media}/vite.config.js (100%) delete mode 100644 samples/layouts/card/overview/src/CardOverview.css create mode 100644 samples/layouts/card/position/.devcontainer/devcontainer.json create mode 100644 samples/layouts/card/position/.eslintrc.js create mode 100644 samples/layouts/card/position/README.md create mode 100644 samples/layouts/card/position/index.html rename samples/layouts/card/{horizontal => position}/package.json (87%) create mode 100644 samples/layouts/card/position/sandbox.config.json create mode 100644 samples/layouts/card/position/src/index.css create mode 100644 samples/layouts/card/position/src/index.tsx create mode 100644 samples/layouts/card/position/tsconfig.json create mode 100644 samples/layouts/card/position/vite.config.js delete mode 100644 samples/layouts/card/semi-horizontal/src/CardSemiHorizontal.css delete mode 100644 samples/layouts/card/semi-horizontal/src/index.css delete mode 100644 samples/layouts/card/semi-horizontal/src/index.tsx delete mode 100644 samples/layouts/card/styling/src/CardStyling.css create mode 100644 samples/layouts/card/tailwind-styling/.devcontainer/devcontainer.json create mode 100644 samples/layouts/card/tailwind-styling/.eslintrc.js create mode 100644 samples/layouts/card/tailwind-styling/README.md create mode 100644 samples/layouts/card/tailwind-styling/index.html create mode 100644 samples/layouts/card/tailwind-styling/package.json create mode 100644 samples/layouts/card/tailwind-styling/sandbox.config.json create mode 100644 samples/layouts/card/tailwind-styling/src/index.css create mode 100644 samples/layouts/card/tailwind-styling/src/index.tsx create mode 100644 samples/layouts/card/tailwind-styling/tsconfig.json create mode 100644 samples/layouts/card/tailwind-styling/vite.config.js diff --git a/browser/package.json b/browser/package.json index 29ad48a8fc..e9b054e033 100644 --- a/browser/package.json +++ b/browser/package.json @@ -70,6 +70,7 @@ "@types/react-router-dom": "^5.3.3", "@typescript-eslint/eslint-plugin": "^5.51.0", "@typescript-eslint/parser": "^5.51.0", + "@tailwindcss/vite": "^4.3.3", "@vitejs/plugin-react": "^5.0.4", "@vitest/browser": "^3.2.4", "browser-sync": "^3.0.4", @@ -103,6 +104,7 @@ "tailwindcss": "^4.3.3", "ts-loader": "^9.5.4", "ts-node": "^10.9.2", + "tailwindcss": "^4.3.3", "typescript": "^4.8.4", "vite": "^7.1.9", "vite-tsconfig-paths": "^5.1.4", diff --git a/browser/public/meta.json b/browser/public/meta.json index 3274837cd5..e2a7e3c537 100644 --- a/browser/public/meta.json +++ b/browser/public/meta.json @@ -1 +1 @@ -{"version":"23.2.915","date":"2026-10-01 17:08:02","note":"this file is auto-generated"} +{"version":"23.2.915","date":"2026-10-12 12:47:25","note":"this file is auto-generated"} diff --git a/browser/src/navigation/SamplesBrowser.json b/browser/src/navigation/SamplesBrowser.json index 3274837cd5..e2a7e3c537 100644 --- a/browser/src/navigation/SamplesBrowser.json +++ b/browser/src/navigation/SamplesBrowser.json @@ -1 +1 @@ -{"version":"23.2.915","date":"2026-10-01 17:08:02","note":"this file is auto-generated"} +{"version":"23.2.915","date":"2026-10-12 12:47:25","note":"this file is auto-generated"} diff --git a/samples/layouts/card/horizontal/.devcontainer/devcontainer.json b/samples/layouts/card/actions/.devcontainer/devcontainer.json similarity index 100% rename from samples/layouts/card/horizontal/.devcontainer/devcontainer.json rename to samples/layouts/card/actions/.devcontainer/devcontainer.json diff --git a/samples/layouts/card/horizontal/.eslintrc.js b/samples/layouts/card/actions/.eslintrc.js similarity index 100% rename from samples/layouts/card/horizontal/.eslintrc.js rename to samples/layouts/card/actions/.eslintrc.js diff --git a/samples/layouts/card/horizontal/README.md b/samples/layouts/card/actions/README.md similarity index 86% rename from samples/layouts/card/horizontal/README.md rename to samples/layouts/card/actions/README.md index f2b2bc6479..f8588ffefe 100644 --- a/samples/layouts/card/horizontal/README.md +++ b/samples/layouts/card/actions/README.md @@ -1,7 +1,7 @@ -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. +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. @@ -12,10 +12,10 @@ This folder contains implementation of React application with example of Horizon View Code - + Run Sample - + Run Sample @@ -34,7 +34,7 @@ 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 +cd ./samples/layouts/card/actions ``` open above folder in VS Code or type: diff --git a/samples/layouts/card/horizontal/index.html b/samples/layouts/card/actions/index.html similarity index 88% rename from samples/layouts/card/horizontal/index.html rename to samples/layouts/card/actions/index.html index 7b1aed8967..686b0535a1 100644 --- a/samples/layouts/card/horizontal/index.html +++ b/samples/layouts/card/actions/index.html @@ -1,7 +1,7 @@ - CardHorizontal + CardActions diff --git a/samples/layouts/card/semi-horizontal/package.json b/samples/layouts/card/actions/package.json similarity index 81% rename from samples/layouts/card/semi-horizontal/package.json rename to samples/layouts/card/actions/package.json index 308ae336df..4d4a31f58a 100644 --- a/samples/layouts/card/semi-horizontal/package.json +++ b/samples/layouts/card/actions/package.json @@ -1,6 +1,6 @@ { - "name": "react-card-semi-horizontal", - "description": "This project provides example of Icon Sizing using Infragistics React components", + "name": "react-card-actions", + "description": "This project provides example of Card Actions using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", @@ -13,9 +13,9 @@ }, "dependencies": { "igniteui-dockmanager": "^1.17.0", - "igniteui-react": "19.9.0", + "igniteui-react": "19.7.0", "igniteui-react-core": "19.6.0", - "igniteui-webcomponents": "^7.4.1", + "igniteui-webcomponents": "^7.2.1", "react": "^19.2.0", "react-dom": "^19.2.0", "tslib": "^2.4.0" diff --git a/samples/layouts/card/horizontal/sandbox.config.json b/samples/layouts/card/actions/sandbox.config.json similarity index 100% rename from samples/layouts/card/horizontal/sandbox.config.json rename to samples/layouts/card/actions/sandbox.config.json 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..82e49199d4 --- /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/horizontal/tsconfig.json b/samples/layouts/card/actions/tsconfig.json similarity index 100% rename from samples/layouts/card/horizontal/tsconfig.json rename to samples/layouts/card/actions/tsconfig.json diff --git a/samples/layouts/card/horizontal/vite.config.js b/samples/layouts/card/actions/vite.config.js similarity index 100% rename from samples/layouts/card/horizontal/vite.config.js rename to samples/layouts/card/actions/vite.config.js 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/semi-horizontal/.devcontainer/devcontainer.json b/samples/layouts/card/media/.devcontainer/devcontainer.json similarity index 100% rename from samples/layouts/card/semi-horizontal/.devcontainer/devcontainer.json rename to samples/layouts/card/media/.devcontainer/devcontainer.json diff --git a/samples/layouts/card/semi-horizontal/.eslintrc.js b/samples/layouts/card/media/.eslintrc.js similarity index 100% rename from samples/layouts/card/semi-horizontal/.eslintrc.js rename to samples/layouts/card/media/.eslintrc.js diff --git a/samples/layouts/card/semi-horizontal/README.md b/samples/layouts/card/media/README.md similarity index 85% rename from samples/layouts/card/semi-horizontal/README.md rename to samples/layouts/card/media/README.md index 8f00962115..58b359b783 100644 --- a/samples/layouts/card/semi-horizontal/README.md +++ b/samples/layouts/card/media/README.md @@ -1,7 +1,7 @@ -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. +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. @@ -12,10 +12,10 @@ This folder contains implementation of React application with example of Semi Ho View Code - + Run Sample - + Run Sample @@ -34,7 +34,7 @@ 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 +cd ./samples/layouts/card/media ``` open above folder in VS Code or type: diff --git a/samples/layouts/card/semi-horizontal/index.html b/samples/layouts/card/media/index.html similarity index 86% rename from samples/layouts/card/semi-horizontal/index.html rename to samples/layouts/card/media/index.html index 6c49bd09e2..411399814f 100644 --- a/samples/layouts/card/semi-horizontal/index.html +++ b/samples/layouts/card/media/index.html @@ -1,7 +1,7 @@ - CardSemiHorizontal + CardMedia diff --git a/samples/layouts/card/media/package.json b/samples/layouts/card/media/package.json new file mode 100644 index 0000000000..a1a2fd4aeb --- /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": "^1.17.0", + "igniteui-react": "19.7.0", + "igniteui-react-core": "19.6.0", + "igniteui-webcomponents": "^7.2.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/media/sandbox.config.json similarity index 100% rename from samples/layouts/card/semi-horizontal/sandbox.config.json rename to samples/layouts/card/media/sandbox.config.json 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..eb362832da --- /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/semi-horizontal/tsconfig.json b/samples/layouts/card/media/tsconfig.json similarity index 100% rename from samples/layouts/card/semi-horizontal/tsconfig.json rename to samples/layouts/card/media/tsconfig.json diff --git a/samples/layouts/card/semi-horizontal/vite.config.js b/samples/layouts/card/media/vite.config.js similarity index 100% rename from samples/layouts/card/semi-horizontal/vite.config.js rename to samples/layouts/card/media/vite.config.js 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/.devcontainer/devcontainer.json b/samples/layouts/card/position/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..e0b8e9c925 --- /dev/null +++ b/samples/layouts/card/position/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:22" +} \ No newline at end of file diff --git a/samples/layouts/card/position/.eslintrc.js b/samples/layouts/card/position/.eslintrc.js new file mode 100644 index 0000000000..b45160a9ee --- /dev/null +++ b/samples/layouts/card/position/.eslintrc.js @@ -0,0 +1,75 @@ +// 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/position/README.md b/samples/layouts/card/position/README.md new file mode 100644 index 0000000000..beaab8f520 --- /dev/null +++ b/samples/layouts/card/position/README.md @@ -0,0 +1,56 @@ + + + +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 + + + 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/position +``` + +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/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/horizontal/package.json b/samples/layouts/card/position/package.json similarity index 87% rename from samples/layouts/card/horizontal/package.json rename to samples/layouts/card/position/package.json index 07bc2b9e73..2bd2b9b30c 100644 --- a/samples/layouts/card/horizontal/package.json +++ b/samples/layouts/card/position/package.json @@ -1,6 +1,6 @@ { - "name": "react-card-horizontal", - "description": "This project provides example of Card Horizontal using Infragistics React components", + "name": "react-card-position", + "description": "This project provides example of Card Position using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/layouts/card/position/sandbox.config.json b/samples/layouts/card/position/sandbox.config.json new file mode 100644 index 0000000000..00acba0c10 --- /dev/null +++ b/samples/layouts/card/position/sandbox.config.json @@ -0,0 +1,5 @@ +{ + "infiniteLoopProtection": false, + "hardReloadOnChange": false, + "view": "browser" +} \ No newline at end of file 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..182907a7b4 --- /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..8c0d146f95 --- /dev/null +++ b/samples/layouts/card/position/tsconfig.json @@ -0,0 +1,44 @@ +{ + "compilerOptions": { + "resolveJsonModule": true, + "esModuleInterop": true, + "baseUrl": ".", + "outDir": "build/dist", + "module": "esnext", + "target": "es5", + "lib": [ + "es6", + "dom" + ], + "sourceMap": true, + "allowJs": true, + "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, + "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/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/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/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/.devcontainer/devcontainer.json b/samples/layouts/card/tailwind-styling/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..e0b8e9c925 --- /dev/null +++ b/samples/layouts/card/tailwind-styling/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:22" +} \ No newline at end of file diff --git a/samples/layouts/card/tailwind-styling/.eslintrc.js b/samples/layouts/card/tailwind-styling/.eslintrc.js new file mode 100644 index 0000000000..b45160a9ee --- /dev/null +++ b/samples/layouts/card/tailwind-styling/.eslintrc.js @@ -0,0 +1,75 @@ +// 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/tailwind-styling/README.md b/samples/layouts/card/tailwind-styling/README.md new file mode 100644 index 0000000000..d56077df55 --- /dev/null +++ b/samples/layouts/card/tailwind-styling/README.md @@ -0,0 +1,56 @@ + + + +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 + + + 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/tailwind-styling +``` + +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/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..8eed943058 --- /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": "^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", + "@tailwindcss/vite": "^4.3.3", + "tailwindcss": "^4.3.3" + }, + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] +} diff --git a/samples/layouts/card/tailwind-styling/sandbox.config.json b/samples/layouts/card/tailwind-styling/sandbox.config.json new file mode 100644 index 0000000000..00acba0c10 --- /dev/null +++ b/samples/layouts/card/tailwind-styling/sandbox.config.json @@ -0,0 +1,5 @@ +{ + "infiniteLoopProtection": false, + "hardReloadOnChange": false, + "view": "browser" +} \ No newline at end of file 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..4164131313 --- /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..8c0d146f95 --- /dev/null +++ b/samples/layouts/card/tailwind-styling/tsconfig.json @@ -0,0 +1,44 @@ +{ + "compilerOptions": { + "resolveJsonModule": true, + "esModuleInterop": true, + "baseUrl": ".", + "outDir": "build/dist", + "module": "esnext", + "target": "es5", + "lib": [ + "es6", + "dom" + ], + "sourceMap": true, + "allowJs": true, + "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, + "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/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 + }, +}); From 3381b5b5de00d78d9b43f1ea218b04f333ada786 Mon Sep 17 00:00:00 2001 From: Radoslav Karaivanov Date: Thu, 22 Oct 2026 13:48:29 +0300 Subject: [PATCH 10/15] feat: Overhaul react-examples build (#1110) --- .env | 2 - .eslintignore | 4 - .gitattributes | 49 +- .gitconfig | 11 - .github/dependabot.yml | 7 + .github/workflows/build-and-deploy.yml | 97 + .github/workflows/build-sb.yml | 36 - .github/workflows/ci.yml | 73 + .../workflows/igniteui-react-examples-cd.yml | 128 - .gitignore | 23 +- CODEOWNERS | 7 - README.md | 183 +- astro.config.mjs | 455 + azure-pipelines/build-pipeline.yml | 137 - browser/.env | 3 - browser/.eslintignore | 5 - browser/.eslintrc.js | 82 - browser/README.md | 68 - browser/cleanup.bat | 14 - browser/config-overrides.js | 268 - browser/gulpfile.js | 78 - browser/images.d.ts | 7 - browser/index.html | 48 - browser/package-lock.json | 19892 ---------------- browser/package.json | 135 - browser/package_move.bat | 44 - browser/public/assets/comingSoon.svg | 1 - browser/public/favicon.ico | Bin 3150 -> 0 bytes browser/public/images/preview.PNG | Bin 104282 -> 0 bytes browser/public/logo-ignite-ui.svg | 102 - browser/public/logo192.png | Bin 5347 -> 0 bytes browser/public/logo512.png | Bin 9664 -> 0 bytes browser/public/manifest.json | 25 - browser/public/meta.json | 1 - browser/public/robots.txt | 3 - browser/reactSamples.nuspec | 15 - browser/src/index.css | 17 - browser/src/index.tsx | 44 - browser/src/jszip-shim.js | 6 - browser/src/logo.svg | 7 - browser/src/navigation/SamplesBrowser.css | 206 - browser/src/navigation/SamplesBrowser.json | 1 - browser/src/navigation/SamplesBrowser.tsx | 324 - browser/src/navigation/SamplesBuster.tsx | 130 - browser/src/navigation/SamplesCache.tsx | 86 - browser/src/navigation/SamplesData.ts | 18 - browser/src/navigation/SamplesFallback.css | 82 - browser/src/navigation/SamplesFallback.tsx | 40 - browser/src/navigation/SamplesLoading.css | 68 - browser/src/navigation/SamplesLoading.tsx | 14 - browser/src/navigation/SamplesRouter.tsx | 110 - browser/src/navigation/Scrollbars.css | 28 - browser/src/sample-theme.ts | 193 - browser/src/select.css | 74 - browser/src/serviceWorker.ts | 133 - browser/src/setupTests.ts | 5 - browser/src/typedecls.d.ts | 12 - browser/tasks/Transformer.ts | 838 - browser/tasks/copyWebConfig.js | 17 - browser/tasks/gulp-config.js | 47 - browser/tasks/gulp-samples.js | 977 - browser/tasks/web.config | 36 - .../sample/.devcontainer/devcontainer.json | 4 - browser/templates/sample/.eslintrc.js | 75 - browser/templates/sample/.gitignore | 41 - browser/templates/sample/ReadMe-dev.md | 88 - browser/templates/sample/ReadMe.md | 56 - browser/templates/sample/index.html | 22 - browser/templates/sample/package-remove.json | 10 - browser/templates/sample/package.json | 56 - browser/templates/sample/sandbox.config.json | 5 - .../templates/sample/src/SampleFileName.css | 243 - .../templates/sample/src/SampleFileName.tsx | 22 - browser/templates/sample/src/index.css | 0 browser/templates/sample/src/index.tsx | 12 - browser/templates/sample/tsconfig.json | 44 - browser/templates/shared/public/favicon.ico | Bin 3150 -> 0 bytes .../shared/src/CategoryChartSharedData.ts | 65 - .../templates/shared/src/CountryTreeData.ts | 229 - .../shared/src/DataChartSharedData.ts | 80 - .../templates/shared/src/DataGridPager.css | 30 - .../templates/shared/src/DataGridPager.tsx | 277 - .../shared/src/DataGridSharedData.ts | 289 - .../shared/src/DockManagerSharedData.ts | 301 - browser/templates/shared/src/EsriUtility.ts | 79 - .../templates/shared/src/ExcelSharedData.ts | 5 - browser/templates/shared/src/ExcelUtility.ts | 107 - .../templates/shared/src/LegendOverlay.css | 89 - .../templates/shared/src/LegendOverlay.tsx | 81 - .../templates/shared/src/LiveFinancialData.ts | 1032 - .../shared/src/MapShapeStyleUtility.ts | 235 - browser/templates/shared/src/MapUtils.ts | 109 - .../templates/shared/src/PeriodicElements.ts | 127 - browser/templates/shared/src/Products.ts | 116 - .../shared/src/SampleCategoryData.ts | 16 - .../templates/shared/src/SampleComboData.ts | 224 - .../templates/shared/src/SampleDensityData.ts | 49 - .../shared/src/SampleFinancialData.ts | 55 - .../templates/shared/src/SamplePolarData.ts | 25 - .../templates/shared/src/SampleRadialData.ts | 15 - .../templates/shared/src/SampleRangeData.ts | 20 - .../templates/shared/src/SampleScatterData.ts | 42 - .../shared/src/SampleScatterStats.ts | 388 - .../templates/shared/src/SampleShapeData.ts | 38 - .../templates/shared/src/SampleTreeData.ts | 232 - .../shared/src/SparklineSharedData.ts | 54 - .../templates/shared/src/StockIndexData.ts | 257 - browser/templates/shared/src/StocksHistory.ts | 109 - browser/templates/shared/src/StocksUtility.ts | 155 - browser/templates/shared/src/StringUtils.ts | 9 - browser/templates/shared/src/TaskUtil.ts | 23 - browser/templates/shared/src/WorldCities.ts | 616 - .../templates/shared/src/WorldConnections.ts | 124 - .../templates/shared/src/WorldLocations.ts | 641 - browser/templates/shared/src/WorldUtils.ts | 223 - .../templates/shared/src/heatworker.worker.ts | 13 - browser/tsconfig.json | 69 - browser/tsconfig.paths.json | 24 - browser/tsconfig.prod.json | 3 - browser/tsconfig.test.json | 6 - browser/tslint.json | 79 - browser/vite.config.js | 54 - package-lock.json | 8868 ++++++- package.json | 73 + playwright.config.ts | 28 + postcss.config.mjs | 5 + public/styles/layout.css | 162 + public/web.config | 50 + .../.devcontainer/devcontainer.json | 4 - .../annotations-all/.eslintrc.js | 78 - .../category-chart/annotations-all/README.md | 50 + .../category-chart/annotations-all/ReadMe.md | 56 - .../annotations-all/package.json | 24 +- .../annotations-all/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../annotations-callouts/.eslintrc.js | 78 - .../annotations-callouts/README.md | 50 + .../annotations-callouts/ReadMe.md | 56 - .../annotations-callouts/package.json | 24 +- .../annotations-callouts/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../annotations-crosshairs/.eslintrc.js | 78 - .../annotations-crosshairs/README.md | 50 + .../annotations-crosshairs/ReadMe.md | 56 - .../annotations-crosshairs/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../annotations-custom/.eslintrc.js | 78 - .../annotations-custom/README.md | 50 + .../annotations-custom/ReadMe.md | 56 - .../annotations-custom/package.json | 24 +- .../annotations-custom/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../annotations-final-value/.eslintrc.js | 78 - .../annotations-final-value/README.md | 50 + .../annotations-final-value/ReadMe.md | 56 - .../annotations-final-value/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../annotations-highlighting/.eslintrc.js | 78 - .../annotations-highlighting/README.md | 50 + .../annotations-highlighting/ReadMe.md | 56 - .../annotations-highlighting/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/annotations/.eslintrc.js | 75 - .../category-chart/annotations/README.md | 12 +- .../category-chart/annotations/package.json | 24 +- .../annotations/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../area-chart-multiple-sources/.eslintrc.js | 78 - .../area-chart-multiple-sources/README.md | 50 + .../area-chart-multiple-sources/ReadMe.md | 56 - .../area-chart-multiple-sources/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../area-chart-single-source/.eslintrc.js | 78 - .../area-chart-single-source/README.md | 50 + .../area-chart-single-source/ReadMe.md | 56 - .../area-chart-single-source/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../area-chart-styling/.eslintrc.js | 78 - .../area-chart-styling/README.md | 50 + .../area-chart-styling/ReadMe.md | 56 - .../area-chart-styling/package.json | 24 +- .../area-chart-styling/sandbox.config.json | 5 - .../axis-gap/.devcontainer/devcontainer.json | 4 - .../category-chart/axis-gap/.eslintrc.js | 78 - .../charts/category-chart/axis-gap/README.md | 50 + .../charts/category-chart/axis-gap/ReadMe.md | 56 - .../category-chart/axis-gap/package.json | 24 +- .../axis-gap/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../axis-gridlines/.eslintrc.js | 78 - .../category-chart/axis-gridlines/README.md | 50 + .../category-chart/axis-gridlines/ReadMe.md | 56 - .../axis-gridlines/package.json | 24 +- .../axis-gridlines/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/axis-inverted/.eslintrc.js | 78 - .../category-chart/axis-inverted/README.md | 50 + .../category-chart/axis-inverted/ReadMe.md | 56 - .../category-chart/axis-inverted/package.json | 24 +- .../axis-inverted/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/axis-labels/.eslintrc.js | 78 - .../category-chart/axis-labels/README.md | 50 + .../category-chart/axis-labels/ReadMe.md | 56 - .../category-chart/axis-labels/package.json | 24 +- .../axis-labels/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../axis-locations/.eslintrc.js | 78 - .../category-chart/axis-locations/README.md | 50 + .../category-chart/axis-locations/ReadMe.md | 56 - .../axis-locations/package.json | 24 +- .../axis-locations/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/axis-options/.eslintrc.js | 78 - .../category-chart/axis-options/README.md | 12 +- .../category-chart/axis-options/package.json | 24 +- .../axis-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/axis-overlap/.eslintrc.js | 78 - .../category-chart/axis-overlap/README.md | 12 +- .../category-chart/axis-overlap/package.json | 24 +- .../axis-overlap/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/axis-range/.eslintrc.js | 78 - .../category-chart/axis-range/README.md | 12 +- .../category-chart/axis-range/package.json | 24 +- .../axis-range/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../axis-tickmarks/.eslintrc.js | 78 - .../category-chart/axis-tickmarks/README.md | 50 + .../category-chart/axis-tickmarks/ReadMe.md | 56 - .../axis-tickmarks/package.json | 24 +- .../axis-tickmarks/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/axis-titles/.eslintrc.js | 78 - .../category-chart/axis-titles/README.md | 50 + .../category-chart/axis-titles/ReadMe.md | 56 - .../category-chart/axis-titles/package.json | 24 +- .../axis-titles/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../chart-highlight-filter/.eslintrc.js | 78 - .../chart-highlight-filter/README.md | 50 + .../chart-highlight-filter/ReadMe.md | 56 - .../chart-highlight-filter/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../column-chart-multiple-sources/README.md | 50 + .../column-chart-multiple-sources/ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-chart-single-source/.eslintrc.js | 78 - .../column-chart-single-source/README.md | 50 + .../column-chart-single-source/ReadMe.md | 56 - .../column-chart-single-source/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-chart-styling/.eslintrc.js | 78 - .../column-chart-styling/README.md | 50 + .../column-chart-styling/ReadMe.md | 56 - .../column-chart-styling/package.json | 24 +- .../column-chart-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 75 - .../column-chart-with-highlighting/README.md | 12 +- .../package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-chart-with-tooltips/.eslintrc.js | 78 - .../column-chart-with-tooltips/README.md | 12 +- .../column-chart-with-tooltips/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../custom-selection/.eslintrc.js | 78 - .../category-chart/custom-selection/README.md | 50 + .../category-chart/custom-selection/ReadMe.md | 56 - .../custom-selection/package.json | 24 +- .../custom-selection/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-aggregations/.eslintrc.js | 78 - .../data-aggregations/README.md | 50 + .../data-aggregations/ReadMe.md | 56 - .../data-aggregations/package.json | 24 +- .../data-aggregations/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/data-filter/.eslintrc.js | 78 - .../category-chart/data-filter/README.md | 50 + .../category-chart/data-filter/ReadMe.md | 56 - .../category-chart/data-filter/package.json | 24 +- .../data-filter/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../data-legend-formatting-decimals/README.md | 50 + .../data-legend-formatting-decimals/ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/data-legend/.eslintrc.js | 78 - .../category-chart/data-legend/README.md | 50 + .../category-chart/data-legend/ReadMe.md | 56 - .../category-chart/data-legend/package.json | 24 +- .../data-legend/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-tooltip-positioning/.eslintrc.js | 78 - .../data-tooltip-positioning/README.md | 50 + .../data-tooltip-positioning/ReadMe.md | 56 - .../data-tooltip-positioning/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/data-tooltip/.eslintrc.js | 78 - .../category-chart/data-tooltip/README.md | 50 + .../category-chart/data-tooltip/ReadMe.md | 56 - .../category-chart/data-tooltip/package.json | 24 +- .../data-tooltip/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../format-specifiers/.eslintrc.js | 78 - .../format-specifiers/README.md | 50 + .../format-specifiers/ReadMe.md | 56 - .../format-specifiers/package.json | 24 +- .../format-specifiers/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../high-frequency/.eslintrc.js | 75 - .../category-chart/high-frequency/README.md | 12 +- .../high-frequency/package.json | 22 +- .../high-frequency/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/high-volume/.eslintrc.js | 75 - .../category-chart/high-volume/README.md | 12 +- .../category-chart/high-volume/package.json | 22 +- .../high-volume/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../highlighting-behavior/.eslintrc.js | 78 - .../highlighting-behavior/README.md | 50 + .../highlighting-behavior/ReadMe.md | 56 - .../highlighting-behavior/package.json | 24 +- .../highlighting-behavior/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../highlighting-mode/.eslintrc.js | 78 - .../highlighting-mode/README.md | 50 + .../highlighting-mode/ReadMe.md | 56 - .../highlighting-mode/package.json | 24 +- .../highlighting-mode/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/highlighting/.eslintrc.js | 75 - .../category-chart/highlighting/README.md | 12 +- .../category-chart/highlighting/package.json | 22 +- .../highlighting/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../legend-highlighting/.eslintrc.js | 78 - .../legend-highlighting/README.md | 50 + .../legend-highlighting/ReadMe.md | 56 - .../legend-highlighting/package.json | 24 +- .../legend-highlighting/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../line-chart-multiple-sources/.eslintrc.js | 78 - .../line-chart-multiple-sources/README.md | 12 +- .../line-chart-multiple-sources/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../line-chart-single-source/.eslintrc.js | 78 - .../line-chart-single-source/README.md | 12 +- .../line-chart-single-source/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../line-chart-styling/.eslintrc.js | 78 - .../line-chart-styling/README.md | 12 +- .../line-chart-styling/package.json | 24 +- .../line-chart-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../line-chart-with-animations/.eslintrc.js | 75 - .../line-chart-with-animations/README.md | 12 +- .../line-chart-with-animations/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../line-chart-with-annotations/.eslintrc.js | 75 - .../line-chart-with-annotations/README.md | 12 +- .../line-chart-with-annotations/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../marker-options/.eslintrc.js | 78 - .../category-chart/marker-options/README.md | 12 +- .../marker-options/package.json | 24 +- .../marker-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../marker-templates/.eslintrc.js | 75 - .../category-chart/marker-templates/README.md | 12 +- .../marker-templates/package.json | 22 +- .../marker-templates/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../category-chart/overview/.eslintrc.js | 78 - .../charts/category-chart/overview/README.md | 12 +- .../category-chart/overview/package.json | 24 +- .../overview/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../point-chart-multiple-sources/.eslintrc.js | 78 - .../point-chart-multiple-sources/README.md | 50 + .../point-chart-multiple-sources/ReadMe.md | 56 - .../point-chart-multiple-sources/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../point-chart-single-source/.eslintrc.js | 78 - .../point-chart-single-source/README.md | 50 + .../point-chart-single-source/ReadMe.md | 56 - .../point-chart-single-source/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../point-chart-styling/.eslintrc.js | 78 - .../point-chart-styling/README.md | 50 + .../point-chart-styling/ReadMe.md | 56 - .../point-chart-styling/package.json | 24 +- .../point-chart-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../selection-matcher/.eslintrc.js | 78 - .../selection-matcher/README.md | 50 + .../selection-matcher/ReadMe.md | 56 - .../selection-matcher/package.json | 24 +- .../selection-matcher/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../selection-modes/.eslintrc.js | 78 - .../category-chart/selection-modes/README.md | 50 + .../category-chart/selection-modes/ReadMe.md | 56 - .../selection-modes/package.json | 24 +- .../selection-modes/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../selection-multiple-modes/.eslintrc.js | 78 - .../selection-multiple-modes/README.md | 50 + .../selection-multiple-modes/ReadMe.md | 56 - .../selection-multiple-modes/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spline-area-multiple-sources/.eslintrc.js | 78 - .../spline-area-multiple-sources/README.md | 50 + .../spline-area-multiple-sources/ReadMe.md | 56 - .../spline-area-multiple-sources/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spline-area-single-source/.eslintrc.js | 78 - .../spline-area-single-source/README.md | 50 + .../spline-area-single-source/ReadMe.md | 56 - .../spline-area-single-source/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spline-area-styling/.eslintrc.js | 78 - .../spline-area-styling/README.md | 50 + .../spline-area-styling/ReadMe.md | 56 - .../spline-area-styling/package.json | 24 +- .../spline-area-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spline-multiple-sources/.eslintrc.js | 78 - .../spline-multiple-sources/README.md | 50 + .../spline-multiple-sources/ReadMe.md | 56 - .../spline-multiple-sources/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spline-single-source/.eslintrc.js | 78 - .../spline-single-source/README.md | 50 + .../spline-single-source/ReadMe.md | 56 - .../spline-single-source/package.json | 24 +- .../spline-single-source/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spline-styling/.eslintrc.js | 78 - .../category-chart/spline-styling/README.md | 50 + .../category-chart/spline-styling/ReadMe.md | 56 - .../spline-styling/package.json | 24 +- .../spline-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/stack-columns/.eslintrc.js | 75 - .../category-chart/stack-columns/README.md | 12 +- .../category-chart/stack-columns/package.json | 22 +- .../stack-columns/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../step-area-multiple-sources/.eslintrc.js | 78 - .../step-area-multiple-sources/README.md | 50 + .../step-area-multiple-sources/ReadMe.md | 56 - .../step-area-multiple-sources/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../step-area-single-source/.eslintrc.js | 78 - .../step-area-single-source/README.md | 50 + .../step-area-single-source/ReadMe.md | 56 - .../step-area-single-source/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../step-area-styling/.eslintrc.js | 78 - .../step-area-styling/README.md | 50 + .../step-area-styling/ReadMe.md | 56 - .../step-area-styling/package.json | 24 +- .../step-area-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../step-line-multiple-sources/.eslintrc.js | 78 - .../step-line-multiple-sources/README.md | 50 + .../step-line-multiple-sources/ReadMe.md | 56 - .../step-line-multiple-sources/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../step-line-single-source/.eslintrc.js | 78 - .../step-line-single-source/README.md | 50 + .../step-line-single-source/ReadMe.md | 56 - .../step-line-single-source/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../step-line-styling/.eslintrc.js | 78 - .../step-line-styling/README.md | 50 + .../step-line-styling/ReadMe.md | 56 - .../step-line-styling/package.json | 24 +- .../step-line-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tooltip-template/.eslintrc.js | 75 - .../category-chart/tooltip-template/README.md | 12 +- .../tooltip-template/package.json | 22 +- .../tooltip-template/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/tooltip-types/.eslintrc.js | 75 - .../category-chart/tooltip-types/README.md | 12 +- .../category-chart/tooltip-types/package.json | 22 +- .../tooltip-types/sandbox.config.json | 5 - .../trendline/.devcontainer/devcontainer.json | 4 - .../category-chart/trendline/.eslintrc.js | 75 - .../charts/category-chart/trendline/README.md | 12 +- .../category-chart/trendline/package.json | 22 +- .../trendline/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../category-chart/value-lines/.eslintrc.js | 78 - .../category-chart/value-lines/README.md | 50 + .../category-chart/value-lines/ReadMe.md | 56 - .../category-chart/value-lines/package.json | 24 +- .../value-lines/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../chart-dashboard/.eslintrc.js | 78 - .../dashboard-tile/chart-dashboard/README.md | 50 + .../dashboard-tile/chart-dashboard/ReadMe.md | 56 - .../chart-dashboard/package.json | 24 +- .../chart-dashboard/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../financial-dashboard/.eslintrc.js | 78 - .../financial-dashboard/README.md | 50 + .../financial-dashboard/ReadMe.md | 56 - .../financial-dashboard/package.json | 24 +- .../financial-dashboard/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../gauge-dashboard/.eslintrc.js | 78 - .../dashboard-tile/gauge-dashboard/README.md | 50 + .../dashboard-tile/gauge-dashboard/ReadMe.md | 56 - .../gauge-dashboard/package.json | 24 +- .../gauge-dashboard/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../local-data-source-dashboard/.eslintrc.js | 78 - .../local-data-source-dashboard/README.md | 50 + .../local-data-source-dashboard/ReadMe.md | 56 - .../local-data-source-dashboard/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../dashboard-tile/map-dashboard/.eslintrc.js | 78 - .../dashboard-tile/map-dashboard/README.md | 50 + .../dashboard-tile/map-dashboard/ReadMe.md | 56 - .../dashboard-tile/map-dashboard/package.json | 24 +- .../map-dashboard/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../dashboard-tile/pie-dashboard/.eslintrc.js | 78 - .../dashboard-tile/pie-dashboard/README.md | 50 + .../dashboard-tile/pie-dashboard/ReadMe.md | 56 - .../dashboard-tile/pie-dashboard/package.json | 24 +- .../pie-dashboard/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../annotations-custom/.eslintrc.js | 78 - .../data-chart/annotations-custom/README.md | 50 + .../data-chart/annotations-custom/ReadMe.md | 56 - .../annotations-custom/package.json | 24 +- .../annotations-custom/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../axis-annotations-corner-radius/README.md | 50 + .../axis-annotations-corner-radius/ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/axis-annotations/.eslintrc.js | 75 - .../data-chart/axis-annotations/README.md | 12 +- .../data-chart/axis-annotations/package.json | 22 +- .../axis-annotations/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/axis-crossing/.eslintrc.js | 75 - .../charts/data-chart/axis-crossing/README.md | 12 +- .../data-chart/axis-crossing/package.json | 22 +- .../axis-crossing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../axis-label-rotation/.eslintrc.js | 78 - .../data-chart/axis-label-rotation/README.md | 50 + .../data-chart/axis-label-rotation/ReadMe.md | 56 - .../axis-label-rotation/package.json | 24 +- .../axis-label-rotation/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/axis-locations/.eslintrc.js | 75 - .../data-chart/axis-locations/README.md | 12 +- .../data-chart/axis-locations/package.json | 22 +- .../axis-locations/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/axis-min-max-gap/.eslintrc.js | 78 - .../data-chart/axis-min-max-gap/README.md | 50 + .../data-chart/axis-min-max-gap/ReadMe.md | 56 - .../data-chart/axis-min-max-gap/package.json | 24 +- .../axis-min-max-gap/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/axis-settings/.eslintrc.js | 75 - .../charts/data-chart/axis-settings/README.md | 12 +- .../data-chart/axis-settings/package.json | 22 +- .../axis-settings/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/axis-sharing/.eslintrc.js | 75 - .../charts/data-chart/axis-sharing/README.md | 12 +- .../data-chart/axis-sharing/package.json | 22 +- .../axis-sharing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../charts/data-chart/axis-types/.eslintrc.js | 75 - .../charts/data-chart/axis-types/README.md | 12 +- .../charts/data-chart/axis-types/package.json | 22 +- .../data-chart/axis-types/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../bar-chart-multiple-sources/.eslintrc.js | 78 - .../bar-chart-multiple-sources/README.md | 50 + .../bar-chart-multiple-sources/ReadMe.md | 56 - .../bar-chart-multiple-sources/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../bar-chart-overlapping/.eslintrc.js | 78 - .../bar-chart-overlapping/README.md | 50 + .../bar-chart-overlapping/ReadMe.md | 56 - .../bar-chart-overlapping/package.json | 24 +- .../bar-chart-overlapping/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../bar-chart-single-source/.eslintrc.js | 78 - .../bar-chart-single-source/README.md | 50 + .../bar-chart-single-source/ReadMe.md | 56 - .../bar-chart-single-source/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/bar-chart-styling/.eslintrc.js | 78 - .../data-chart/bar-chart-styling/README.md | 50 + .../data-chart/bar-chart-styling/ReadMe.md | 56 - .../data-chart/bar-chart-styling/package.json | 24 +- .../bar-chart-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../callout-layer-styling/.eslintrc.js | 78 - .../callout-layer-styling/README.md | 50 + .../callout-layer-styling/ReadMe.md | 56 - .../callout-layer-styling/package.json | 24 +- .../callout-layer-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../chart-highlight-filter/.eslintrc.js | 78 - .../chart-highlight-filter/README.md | 50 + .../chart-highlight-filter/ReadMe.md | 56 - .../chart-highlight-filter/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/chart-navigation/.eslintrc.js | 75 - .../data-chart/chart-navigation/README.md | 12 +- .../data-chart/chart-navigation/package.json | 22 +- .../chart-navigation/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/chart-overview/.eslintrc.js | 75 - .../data-chart/chart-overview/README.md | 12 +- .../data-chart/chart-overview/package.json | 22 +- .../chart-overview/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/chart-performance/.eslintrc.js | 75 - .../data-chart/chart-performance/README.md | 12 +- .../data-chart/chart-performance/package.json | 22 +- .../chart-performance/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../chart-synchronization/.eslintrc.js | 75 - .../chart-synchronization/README.md | 12 +- .../chart-synchronization/package.json | 22 +- .../chart-synchronization/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/chart-titles/.eslintrc.js | 75 - .../charts/data-chart/chart-titles/README.md | 12 +- .../data-chart/chart-titles/package.json | 22 +- .../chart-titles/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/composite-chart/.eslintrc.js | 75 - .../data-chart/composite-chart/README.md | 12 +- .../data-chart/composite-chart/package.json | 22 +- .../composite-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../crosshair-layer-styling/.eslintrc.js | 75 - .../crosshair-layer-styling/README.md | 12 +- .../crosshair-layer-styling/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../custom-drawing-annotations/.eslintrc.js | 75 - .../custom-drawing-annotations/README.md | 12 +- .../custom-drawing-annotations/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../custom-editing-data/.eslintrc.js | 75 - .../data-chart/custom-editing-data/README.md | 12 +- .../custom-editing-data/package.json | 22 +- .../custom-editing-data/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/dash-array-axes/.eslintrc.js | 76 - .../data-chart/dash-array-axes/README.md | 50 + .../data-chart/dash-array-axes/ReadMe.md | 56 - .../data-chart/dash-array-axes/package.json | 24 +- .../dash-array-axes/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/dash-array-series/.eslintrc.js | 76 - .../data-chart/dash-array-series/README.md | 50 + .../data-chart/dash-array-series/ReadMe.md | 56 - .../data-chart/dash-array-series/package.json | 24 +- .../dash-array-series/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../dash-array-tickmarks/.eslintrc.js | 76 - .../data-chart/dash-array-tickmarks/README.md | 50 + .../data-chart/dash-array-tickmarks/ReadMe.md | 56 - .../dash-array-tickmarks/package.json | 24 +- .../dash-array-tickmarks/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../dash-array-trendline/.eslintrc.js | 76 - .../data-chart/dash-array-trendline/README.md | 50 + .../data-chart/dash-array-trendline/ReadMe.md | 56 - .../dash-array-trendline/package.json | 24 +- .../dash-array-trendline/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-annotation-band-layer/.eslintrc.js | 78 - .../data-annotation-band-layer/README.md | 50 + .../data-annotation-band-layer/ReadMe.md | 56 - .../data-annotation-band-layer/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-annotation-line-layer/.eslintrc.js | 78 - .../data-annotation-line-layer/README.md | 50 + .../data-annotation-line-layer/ReadMe.md | 56 - .../data-annotation-line-layer/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-annotation-rect-layer/.eslintrc.js | 78 - .../data-annotation-rect-layer/README.md | 50 + .../data-annotation-rect-layer/ReadMe.md | 56 - .../data-annotation-rect-layer/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-annotation-slice-layer/.eslintrc.js | 78 - .../data-annotation-slice-layer/README.md | 50 + .../data-annotation-slice-layer/ReadMe.md | 56 - .../data-annotation-slice-layer/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-annotation-strip-layer/.eslintrc.js | 78 - .../data-annotation-strip-layer/README.md | 50 + .../data-annotation-strip-layer/ReadMe.md | 56 - .../data-annotation-strip-layer/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-legend-grouping/.eslintrc.js | 78 - .../data-chart/data-legend-grouping/README.md | 50 + .../data-chart/data-legend-grouping/ReadMe.md | 56 - .../data-legend-grouping/package.json | 24 +- .../data-legend-grouping/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-legend-styling/.eslintrc.js | 78 - .../data-chart/data-legend-styling/README.md | 50 + .../data-chart/data-legend-styling/ReadMe.md | 56 - .../data-legend-styling/package.json | 24 +- .../data-legend-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/data-legend/.eslintrc.js | 78 - .../charts/data-chart/data-legend/README.md | 50 + .../charts/data-chart/data-legend/ReadMe.md | 56 - .../data-chart/data-legend/package.json | 24 +- .../data-legend/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-tooltip-grouping/.eslintrc.js | 78 - .../data-tooltip-grouping/README.md | 50 + .../data-tooltip-grouping/ReadMe.md | 56 - .../data-tooltip-grouping/package.json | 24 +- .../data-tooltip-grouping/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-tooltip-styling/.eslintrc.js | 78 - .../data-chart/data-tooltip-styling/README.md | 50 + .../data-chart/data-tooltip-styling/ReadMe.md | 56 - .../data-tooltip-styling/package.json | 24 +- .../data-tooltip-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/data-tooltip/.eslintrc.js | 78 - .../charts/data-chart/data-tooltip/README.md | 50 + .../charts/data-chart/data-tooltip/ReadMe.md | 56 - .../data-chart/data-tooltip/package.json | 24 +- .../data-tooltip/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../final-value-layer-styling/.eslintrc.js | 75 - .../final-value-layer-styling/README.md | 12 +- .../final-value-layer-styling/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../financial-price-series/.eslintrc.js | 78 - .../financial-price-series/README.md | 50 + .../financial-price-series/ReadMe.md | 56 - .../financial-price-series/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/format-specifiers/.eslintrc.js | 76 - .../data-chart/format-specifiers/README.md | 50 + .../data-chart/format-specifiers/ReadMe.md | 56 - .../data-chart/format-specifiers/package.json | 24 +- .../format-specifiers/sandbox.config.json | 5 - .../itemized-bar-chart/.eslintrc.js | 76 - .../data-chart/itemized-bar-chart/README.md | 44 + .../data-chart/itemized-bar-chart/ReadMe.md | 50 - .../itemized-bar-chart/package.json | 24 +- .../itemized-bar-chart/sandbox.config.json | 5 - .../itemized-column-chart/.eslintrc.js | 76 - .../itemized-column-chart/README.md | 44 + .../itemized-column-chart/ReadMe.md | 50 - .../itemized-column-chart/package.json | 24 +- .../itemized-column-chart/sandbox.config.json | 5 - .../itemized-stacked-bar-chart/.eslintrc.js | 76 - .../itemized-stacked-bar-chart/README.md | 44 + .../itemized-stacked-bar-chart/ReadMe.md | 50 - .../itemized-stacked-bar-chart/package.json | 24 +- .../sandbox.config.json | 5 - .../.eslintrc.js | 76 - .../itemized-stacked-column-chart/README.md | 44 + .../itemized-stacked-column-chart/ReadMe.md | 50 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../legends/.devcontainer/devcontainer.json | 4 - .../charts/data-chart/legends/.eslintrc.js | 75 - samples/charts/data-chart/legends/README.md | 12 +- .../charts/data-chart/legends/package.json | 22 +- .../data-chart/legends/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../polar-area-chart-styling/.eslintrc.js | 78 - .../polar-area-chart-styling/README.md | 50 + .../polar-area-chart-styling/ReadMe.md | 56 - .../polar-area-chart-styling/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/polar-area-chart/.eslintrc.js | 78 - .../data-chart/polar-area-chart/README.md | 12 +- .../data-chart/polar-area-chart/package.json | 24 +- .../polar-area-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/polar-chart-types/.eslintrc.js | 75 - .../data-chart/polar-chart-types/README.md | 12 +- .../data-chart/polar-chart-types/package.json | 22 +- .../polar-chart-types/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/polar-line-chart/.eslintrc.js | 78 - .../data-chart/polar-line-chart/README.md | 12 +- .../data-chart/polar-line-chart/package.json | 24 +- .../polar-line-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../polar-scatter-chart/.eslintrc.js | 78 - .../data-chart/polar-scatter-chart/README.md | 12 +- .../polar-scatter-chart/package.json | 24 +- .../polar-scatter-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../polar-spline-area-chart/.eslintrc.js | 78 - .../polar-spline-area-chart/README.md | 12 +- .../polar-spline-area-chart/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../polar-spline-chart/.eslintrc.js | 78 - .../data-chart/polar-spline-chart/README.md | 12 +- .../polar-spline-chart/package.json | 24 +- .../polar-spline-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../radial-area-chart-styling/.eslintrc.js | 78 - .../radial-area-chart-styling/README.md | 50 + .../radial-area-chart-styling/ReadMe.md | 56 - .../radial-area-chart-styling/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/radial-area-chart/.eslintrc.js | 78 - .../data-chart/radial-area-chart/README.md | 12 +- .../data-chart/radial-area-chart/package.json | 24 +- .../radial-area-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../radial-chart-types/.eslintrc.js | 75 - .../data-chart/radial-chart-types/README.md | 12 +- .../radial-chart-types/package.json | 22 +- .../radial-chart-types/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../radial-column-chart-selection/README.md | 50 + .../radial-column-chart-selection/ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../radial-column-chart/.eslintrc.js | 78 - .../data-chart/radial-column-chart/README.md | 12 +- .../radial-column-chart/package.json | 24 +- .../radial-column-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/radial-label-mode/.eslintrc.js | 78 - .../data-chart/radial-label-mode/README.md | 50 + .../data-chart/radial-label-mode/ReadMe.md | 56 - .../data-chart/radial-label-mode/package.json | 24 +- .../radial-label-mode/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/radial-line-chart/.eslintrc.js | 78 - .../data-chart/radial-line-chart/README.md | 12 +- .../data-chart/radial-line-chart/package.json | 24 +- .../radial-line-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/radial-pie-chart/.eslintrc.js | 78 - .../data-chart/radial-pie-chart/README.md | 12 +- .../data-chart/radial-pie-chart/package.json | 24 +- .../radial-pie-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/range-area-chart/.eslintrc.js | 78 - .../data-chart/range-area-chart/README.md | 50 + .../data-chart/range-area-chart/ReadMe.md | 56 - .../data-chart/range-area-chart/package.json | 24 +- .../range-area-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/range-bar-chart/.eslintrc.js | 78 - .../data-chart/range-bar-chart/README.md | 50 + .../data-chart/range-bar-chart/ReadMe.md | 56 - .../data-chart/range-bar-chart/package.json | 24 +- .../range-bar-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../range-column-chart/.eslintrc.js | 78 - .../data-chart/range-column-chart/README.md | 50 + .../data-chart/range-column-chart/ReadMe.md | 56 - .../range-column-chart/package.json | 24 +- .../range-column-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../scatter-bubble-chart-fill-scale/README.md | 50 + .../scatter-bubble-chart-fill-scale/ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../scatter-bubble-chart-styling/.eslintrc.js | 78 - .../scatter-bubble-chart-styling/README.md | 50 + .../scatter-bubble-chart-styling/ReadMe.md | 56 - .../scatter-bubble-chart-styling/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../scatter-line-chart/.eslintrc.js | 78 - .../data-chart/scatter-line-chart/README.md | 50 + .../data-chart/scatter-line-chart/ReadMe.md | 56 - .../scatter-line-chart/package.json | 24 +- .../scatter-line-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../scatter-line-threshold/.eslintrc.js | 76 - .../scatter-line-threshold/README.md | 50 + .../scatter-line-threshold/ReadMe.md | 56 - .../scatter-line-threshold/package.json | 24 +- .../sandbox.config.json | 5 - .../scatter-line-threshold.zip | Bin 141662 -> 0 bytes .../.devcontainer/devcontainer.json | 4 - .../scatter-marker-options/.eslintrc.js | 78 - .../scatter-marker-options/README.md | 50 + .../scatter-marker-options/ReadMe.md | 56 - .../scatter-marker-options/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../scatter-point-chart/.eslintrc.js | 78 - .../data-chart/scatter-point-chart/README.md | 50 + .../data-chart/scatter-point-chart/ReadMe.md | 56 - .../scatter-point-chart/package.json | 24 +- .../scatter-point-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../scatter-spline-chart/.eslintrc.js | 78 - .../data-chart/scatter-spline-chart/README.md | 50 + .../data-chart/scatter-spline-chart/ReadMe.md | 56 - .../scatter-spline-chart/package.json | 24 +- .../scatter-spline-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/selection-matcher/.eslintrc.js | 78 - .../data-chart/selection-matcher/README.md | 50 + .../data-chart/selection-matcher/ReadMe.md | 56 - .../data-chart/selection-matcher/package.json | 24 +- .../selection-matcher/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../series-annotations/.eslintrc.js | 75 - .../data-chart/series-annotations/README.md | 12 +- .../series-annotations/package.json | 22 +- .../series-annotations/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../series-highlighting/.eslintrc.js | 75 - .../data-chart/series-highlighting/README.md | 12 +- .../series-highlighting/package.json | 22 +- .../series-highlighting/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../series-marker-template/.eslintrc.js | 75 - .../series-marker-template/README.md | 12 +- .../series-marker-template/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/series-markers/.eslintrc.js | 75 - .../data-chart/series-markers/README.md | 12 +- .../data-chart/series-markers/package.json | 22 +- .../series-markers/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/series-tooltips/.eslintrc.js | 75 - .../data-chart/series-tooltips/README.md | 12 +- .../data-chart/series-tooltips/package.json | 22 +- .../series-tooltips/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/series-trendlines/.eslintrc.js | 75 - .../data-chart/series-trendlines/README.md | 12 +- .../data-chart/series-trendlines/package.json | 22 +- .../series-trendlines/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../series-value-overlay/.eslintrc.js | 75 - .../data-chart/series-value-overlay/README.md | 12 +- .../series-value-overlay/package.json | 22 +- .../series-value-overlay/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stacked-100-area-chart/.eslintrc.js | 78 - .../stacked-100-area-chart/README.md | 50 + .../stacked-100-area-chart/ReadMe.md | 56 - .../stacked-100-area-chart/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stacked-100-bar-chart/.eslintrc.js | 78 - .../stacked-100-bar-chart/README.md | 50 + .../stacked-100-bar-chart/ReadMe.md | 56 - .../stacked-100-bar-chart/package.json | 24 +- .../stacked-100-bar-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stacked-100-column-chart/.eslintrc.js | 78 - .../stacked-100-column-chart/README.md | 50 + .../stacked-100-column-chart/ReadMe.md | 56 - .../stacked-100-column-chart/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stacked-100-line-chart/.eslintrc.js | 78 - .../stacked-100-line-chart/README.md | 50 + .../stacked-100-line-chart/ReadMe.md | 56 - .../stacked-100-line-chart/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../stacked-100-spline-area-chart/README.md | 50 + .../stacked-100-spline-area-chart/ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stacked-100-spline-chart/.eslintrc.js | 78 - .../stacked-100-spline-chart/README.md | 50 + .../stacked-100-spline-chart/ReadMe.md | 56 - .../stacked-100-spline-chart/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stacked-area-chart/.eslintrc.js | 78 - .../data-chart/stacked-area-chart/README.md | 50 + .../data-chart/stacked-area-chart/ReadMe.md | 56 - .../stacked-area-chart/package.json | 24 +- .../stacked-area-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/stacked-bar-chart/.eslintrc.js | 78 - .../data-chart/stacked-bar-chart/README.md | 50 + .../data-chart/stacked-bar-chart/ReadMe.md | 56 - .../data-chart/stacked-bar-chart/package.json | 24 +- .../stacked-bar-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stacked-chart-types/.eslintrc.js | 75 - .../data-chart/stacked-chart-types/README.md | 12 +- .../stacked-chart-types/package.json | 22 +- .../stacked-chart-types/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stacked-column-chart/.eslintrc.js | 78 - .../data-chart/stacked-column-chart/README.md | 50 + .../data-chart/stacked-column-chart/ReadMe.md | 56 - .../stacked-column-chart/package.json | 24 +- .../stacked-column-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stacked-line-chart/.eslintrc.js | 78 - .../data-chart/stacked-line-chart/README.md | 50 + .../data-chart/stacked-line-chart/ReadMe.md | 56 - .../stacked-line-chart/package.json | 24 +- .../stacked-line-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stacked-spline-area-chart/.eslintrc.js | 78 - .../stacked-spline-area-chart/README.md | 50 + .../stacked-spline-area-chart/ReadMe.md | 56 - .../stacked-spline-area-chart/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stacked-spline-chart/.eslintrc.js | 78 - .../data-chart/stacked-spline-chart/README.md | 50 + .../data-chart/stacked-spline-chart/ReadMe.md | 56 - .../stacked-spline-chart/package.json | 24 +- .../stacked-spline-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/tooltip-template/.eslintrc.js | 75 - .../data-chart/tooltip-template/README.md | 12 +- .../data-chart/tooltip-template/package.json | 22 +- .../tooltip-template/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/transition-event/.eslintrc.js | 78 - .../data-chart/transition-event/README.md | 50 + .../data-chart/transition-event/ReadMe.md | 56 - .../data-chart/transition-event/package.json | 24 +- .../transition-event/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/trendline-layer/.eslintrc.js | 78 - .../data-chart/trendline-layer/README.md | 50 + .../data-chart/trendline-layer/ReadMe.md | 56 - .../data-chart/trendline-layer/package.json | 24 +- .../trendline-layer/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 75 - .../README.md | 12 +- .../package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 75 - .../README.md | 12 +- .../package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 75 - .../type-financial-indicators-line/README.md | 12 +- .../package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-financial-ohlc-series/.eslintrc.js | 75 - .../type-financial-ohlc-series/README.md | 12 +- .../type-financial-ohlc-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-financial-overlays/.eslintrc.js | 75 - .../type-financial-overlays/README.md | 12 +- .../type-financial-overlays/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-financial-series/.eslintrc.js | 75 - .../type-financial-series/README.md | 12 +- .../type-financial-series/package.json | 22 +- .../type-financial-series/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-range-area-series/.eslintrc.js | 75 - .../type-range-area-series/README.md | 12 +- .../type-range-area-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-range-column-series/.eslintrc.js | 75 - .../type-range-column-series/README.md | 12 +- .../type-range-column-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/type-range-series/.eslintrc.js | 75 - .../data-chart/type-range-series/README.md | 12 +- .../data-chart/type-range-series/package.json | 22 +- .../type-range-series/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-area-series/.eslintrc.js | 75 - .../type-scatter-area-series/README.md | 12 +- .../type-scatter-area-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-bubble-series/.eslintrc.js | 75 - .../type-scatter-bubble-series/README.md | 12 +- .../type-scatter-bubble-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-contour-series/.eslintrc.js | 75 - .../type-scatter-contour-series/README.md | 12 +- .../type-scatter-contour-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-hd-series/.eslintrc.js | 75 - .../type-scatter-hd-series/README.md | 12 +- .../type-scatter-hd-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-polygon-series/.eslintrc.js | 75 - .../type-scatter-polygon-series/README.md | 12 +- .../type-scatter-polygon-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-polyline-series/.eslintrc.js | 75 - .../type-scatter-polyline-series/README.md | 12 +- .../type-scatter-polyline-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-series/.eslintrc.js | 75 - .../data-chart/type-scatter-series/README.md | 12 +- .../type-scatter-series/package.json | 22 +- .../type-scatter-series/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/type-shape-series/.eslintrc.js | 75 - .../data-chart/type-shape-series/README.md | 12 +- .../data-chart/type-shape-series/package.json | 22 +- .../type-shape-series/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../user-annotation-layer/.eslintrc.js | 78 - .../user-annotation-layer/README.md | 50 + .../user-annotation-layer/ReadMe.md | 56 - .../user-annotation-layer/package.json | 24 +- .../user-annotation-layer/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-chart/waterfall-chart/.eslintrc.js | 78 - .../data-chart/waterfall-chart/README.md | 50 + .../data-chart/waterfall-chart/ReadMe.md | 56 - .../data-chart/waterfall-chart/package.json | 24 +- .../waterfall-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../animation-replay/.eslintrc.js | 78 - .../data-pie-chart/animation-replay/README.md | 50 + .../data-pie-chart/animation-replay/ReadMe.md | 56 - .../animation-replay/package.json | 24 +- .../animation-replay/sandbox.config.json | 5 - .../animation/.devcontainer/devcontainer.json | 4 - .../data-pie-chart/animation/.eslintrc.js | 78 - .../charts/data-pie-chart/animation/README.md | 50 + .../charts/data-pie-chart/animation/ReadMe.md | 56 - .../data-pie-chart/animation/package.json | 24 +- .../animation/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../highlight-filter/.eslintrc.js | 78 - .../data-pie-chart/highlight-filter/README.md | 50 + .../data-pie-chart/highlight-filter/ReadMe.md | 56 - .../highlight-filter/package.json | 24 +- .../highlight-filter/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-pie-chart/highlighting/.eslintrc.js | 78 - .../data-pie-chart/highlighting/README.md | 50 + .../data-pie-chart/highlighting/ReadMe.md | 56 - .../data-pie-chart/highlighting/package.json | 24 +- .../highlighting/sandbox.config.json | 5 - .../legend/.devcontainer/devcontainer.json | 4 - .../charts/data-pie-chart/legend/.eslintrc.js | 78 - .../charts/data-pie-chart/legend/README.md | 50 + .../charts/data-pie-chart/legend/ReadMe.md | 56 - .../charts/data-pie-chart/legend/package.json | 24 +- .../data-pie-chart/legend/sandbox.config.json | 5 - .../others/.devcontainer/devcontainer.json | 4 - .../charts/data-pie-chart/others/.eslintrc.js | 78 - .../charts/data-pie-chart/others/README.md | 50 + .../charts/data-pie-chart/others/ReadMe.md | 56 - .../charts/data-pie-chart/others/package.json | 24 +- .../data-pie-chart/others/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../data-pie-chart/overview/.eslintrc.js | 78 - .../charts/data-pie-chart/overview/README.md | 50 + .../charts/data-pie-chart/overview/ReadMe.md | 56 - .../data-pie-chart/overview/package.json | 24 +- .../overview/sandbox.config.json | 5 - .../selection/.devcontainer/devcontainer.json | 4 - .../data-pie-chart/selection/.eslintrc.js | 78 - .../charts/data-pie-chart/selection/README.md | 50 + .../charts/data-pie-chart/selection/ReadMe.md | 56 - .../data-pie-chart/selection/package.json | 24 +- .../selection/sandbox.config.json | 5 - .../animation/.devcontainer/devcontainer.json | 4 - .../doughnut-chart/animation/.eslintrc.js | 75 - .../charts/doughnut-chart/animation/README.md | 12 +- .../doughnut-chart/animation/package.json | 22 +- .../animation/sandbox.config.json | 5 - .../explosion/.devcontainer/devcontainer.json | 4 - .../doughnut-chart/explosion/.eslintrc.js | 75 - .../charts/doughnut-chart/explosion/README.md | 12 +- .../doughnut-chart/explosion/package.json | 22 +- .../explosion/sandbox.config.json | 5 - .../legend/.devcontainer/devcontainer.json | 4 - .../charts/doughnut-chart/legend/.eslintrc.js | 78 - .../charts/doughnut-chart/legend/README.md | 12 +- .../charts/doughnut-chart/legend/package.json | 24 +- .../doughnut-chart/legend/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../doughnut-chart/overview/.eslintrc.js | 78 - .../charts/doughnut-chart/overview/README.md | 12 +- .../doughnut-chart/overview/package.json | 24 +- .../overview/sandbox.config.json | 5 - .../rings/.devcontainer/devcontainer.json | 4 - .../charts/doughnut-chart/rings/.eslintrc.js | 78 - samples/charts/doughnut-chart/rings/README.md | 12 +- .../charts/doughnut-chart/rings/package.json | 24 +- .../doughnut-chart/rings/sandbox.config.json | 5 - .../selection/.devcontainer/devcontainer.json | 4 - .../doughnut-chart/selection/.eslintrc.js | 75 - .../charts/doughnut-chart/selection/README.md | 12 +- .../doughnut-chart/selection/package.json | 22 +- .../selection/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../financial-chart/annotations/.eslintrc.js | 75 - .../financial-chart/annotations/README.md | 12 +- .../financial-chart/annotations/package.json | 22 +- .../annotations/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../financial-chart/axis-types/.eslintrc.js | 75 - .../financial-chart/axis-types/README.md | 12 +- .../financial-chart/axis-types/package.json | 22 +- .../axis-types/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../data-legend-formatting-currency/README.md | 50 + .../data-legend-formatting-currency/ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-legend-styling-props/.eslintrc.js | 78 - .../data-legend-styling-props/README.md | 50 + .../data-legend-styling-props/ReadMe.md | 56 - .../data-legend-styling-props/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../financial-chart/data-legend/.eslintrc.js | 78 - .../financial-chart/data-legend/README.md | 50 + .../financial-chart/data-legend/ReadMe.md | 56 - .../financial-chart/data-legend/package.json | 24 +- .../data-legend/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-tooltip-styling-props/.eslintrc.js | 78 - .../data-tooltip-styling-props/README.md | 50 + .../data-tooltip-styling-props/ReadMe.md | 56 - .../data-tooltip-styling-props/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../financial-chart/data-tooltip/.eslintrc.js | 78 - .../financial-chart/data-tooltip/README.md | 50 + .../financial-chart/data-tooltip/ReadMe.md | 56 - .../financial-chart/data-tooltip/package.json | 24 +- .../data-tooltip/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../format-specifiers/.eslintrc.js | 78 - .../format-specifiers/README.md | 50 + .../format-specifiers/ReadMe.md | 56 - .../format-specifiers/package.json | 24 +- .../format-specifiers/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../high-frequency/.eslintrc.js | 75 - .../financial-chart/high-frequency/README.md | 12 +- .../high-frequency/package.json | 22 +- .../high-frequency/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../financial-chart/high-volume/.eslintrc.js | 75 - .../financial-chart/high-volume/README.md | 12 +- .../financial-chart/high-volume/package.json | 22 +- .../high-volume/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../indicator-customization/.eslintrc.js | 75 - .../indicator-customization/README.md | 12 +- .../indicator-customization/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../indicator-types/.eslintrc.js | 75 - .../financial-chart/indicator-types/README.md | 12 +- .../indicator-types/package.json | 22 +- .../indicator-types/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../multiple-data/.eslintrc.js | 75 - .../financial-chart/multiple-data/README.md | 12 +- .../multiple-data/package.json | 22 +- .../multiple-data/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../financial-chart/overview/.eslintrc.js | 75 - .../charts/financial-chart/overview/README.md | 12 +- .../financial-chart/overview/package.json | 22 +- .../overview/sandbox.config.json | 5 - .../panes/.devcontainer/devcontainer.json | 4 - .../charts/financial-chart/panes/.eslintrc.js | 75 - .../charts/financial-chart/panes/README.md | 12 +- .../charts/financial-chart/panes/package.json | 22 +- .../financial-chart/panes/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../financial-chart/performance/.eslintrc.js | 75 - .../financial-chart/performance/README.md | 12 +- .../financial-chart/performance/package.json | 22 +- .../performance/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../financial-chart/scrollbars/.eslintrc.js | 78 - .../financial-chart/scrollbars/README.md | 12 +- .../financial-chart/scrollbars/package.json | 24 +- .../scrollbars/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../stock-index-chart/.eslintrc.js | 75 - .../stock-index-chart/README.md | 12 +- .../stock-index-chart/package.json | 22 +- .../stock-index-chart/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - .../financial-chart/styling/.eslintrc.js | 75 - .../charts/financial-chart/styling/README.md | 12 +- .../financial-chart/styling/package.json | 22 +- .../styling/sandbox.config.json | 5 - .../titles/.devcontainer/devcontainer.json | 4 - .../financial-chart/titles/.eslintrc.js | 75 - .../charts/financial-chart/titles/README.md | 12 +- .../financial-chart/titles/package.json | 22 +- .../titles/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tooltip-types/.eslintrc.js | 75 - .../financial-chart/tooltip-types/README.md | 12 +- .../tooltip-types/package.json | 22 +- .../tooltip-types/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../financial-chart/trendlines/.eslintrc.js | 75 - .../financial-chart/trendlines/README.md | 12 +- .../financial-chart/trendlines/package.json | 22 +- .../trendlines/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../financial-chart/volume-types/.eslintrc.js | 75 - .../financial-chart/volume-types/README.md | 12 +- .../financial-chart/volume-types/package.json | 22 +- .../volume-types/sandbox.config.json | 5 - .../animation/.devcontainer/devcontainer.json | 4 - .../charts/pie-chart/animation/.eslintrc.js | 75 - samples/charts/pie-chart/animation/README.md | 12 +- .../charts/pie-chart/animation/package.json | 22 +- .../pie-chart/animation/sandbox.config.json | 5 - .../explosion/.devcontainer/devcontainer.json | 4 - .../charts/pie-chart/explosion/.eslintrc.js | 75 - samples/charts/pie-chart/explosion/README.md | 12 +- .../charts/pie-chart/explosion/package.json | 22 +- .../pie-chart/explosion/sandbox.config.json | 5 - .../legend/.devcontainer/devcontainer.json | 4 - samples/charts/pie-chart/legend/.eslintrc.js | 78 - samples/charts/pie-chart/legend/README.md | 12 +- samples/charts/pie-chart/legend/package.json | 24 +- .../pie-chart/legend/sandbox.config.json | 5 - .../others/.devcontainer/devcontainer.json | 4 - samples/charts/pie-chart/others/.eslintrc.js | 78 - samples/charts/pie-chart/others/README.md | 12 +- samples/charts/pie-chart/others/package.json | 24 +- .../pie-chart/others/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../charts/pie-chart/overview/.eslintrc.js | 78 - samples/charts/pie-chart/overview/README.md | 12 +- .../charts/pie-chart/overview/package.json | 24 +- .../pie-chart/overview/sandbox.config.json | 5 - .../selection/.devcontainer/devcontainer.json | 4 - .../charts/pie-chart/selection/.eslintrc.js | 75 - samples/charts/pie-chart/selection/README.md | 12 +- .../charts/pie-chart/selection/package.json | 22 +- .../pie-chart/selection/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/charts/pie-chart/styling/.eslintrc.js | 78 - samples/charts/pie-chart/styling/README.md | 50 + samples/charts/pie-chart/styling/ReadMe.md | 56 - samples/charts/pie-chart/styling/package.json | 24 +- .../pie-chart/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../sparkline/display-area/.eslintrc.js | 78 - .../charts/sparkline/display-area/README.md | 50 + .../charts/sparkline/display-area/ReadMe.md | 56 - .../sparkline/display-area/package.json | 24 +- .../display-area/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../sparkline/display-column/.eslintrc.js | 78 - .../charts/sparkline/display-column/README.md | 50 + .../charts/sparkline/display-column/ReadMe.md | 56 - .../sparkline/display-column/package.json | 24 +- .../display-column/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../sparkline/display-lines/.eslintrc.js | 78 - .../charts/sparkline/display-lines/README.md | 50 + .../charts/sparkline/display-lines/ReadMe.md | 56 - .../sparkline/display-lines/package.json | 24 +- .../display-lines/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../sparkline/display-types/.eslintrc.js | 75 - .../charts/sparkline/display-types/README.md | 12 +- .../sparkline/display-types/package.json | 22 +- .../display-types/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../sparkline/display-winloss/.eslintrc.js | 78 - .../sparkline/display-winloss/README.md | 50 + .../sparkline/display-winloss/ReadMe.md | 56 - .../sparkline/display-winloss/package.json | 24 +- .../display-winloss/sandbox.config.json | 5 - .../grid/.devcontainer/devcontainer.json | 4 - samples/charts/sparkline/grid/.eslintrc.js | 75 - samples/charts/sparkline/grid/README.md | 12 +- samples/charts/sparkline/grid/package.json | 22 +- .../charts/sparkline/grid/sandbox.config.json | 5 - .../markers/.devcontainer/devcontainer.json | 4 - samples/charts/sparkline/markers/.eslintrc.js | 78 - samples/charts/sparkline/markers/README.md | 12 +- samples/charts/sparkline/markers/package.json | 24 +- .../sparkline/markers/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../sparkline/normal-range/.eslintrc.js | 78 - .../charts/sparkline/normal-range/README.md | 12 +- .../sparkline/normal-range/package.json | 24 +- .../normal-range/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../charts/sparkline/trendlines/.eslintrc.js | 78 - samples/charts/sparkline/trendlines/README.md | 12 +- .../charts/sparkline/trendlines/package.json | 24 +- .../sparkline/trendlines/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../sparkline/unknown-values/.eslintrc.js | 78 - .../charts/sparkline/unknown-values/README.md | 12 +- .../sparkline/unknown-values/package.json | 24 +- .../unknown-values/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../actions-built-in-category-chart/README.md | 50 + .../actions-built-in-category-chart/ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../actions-built-in-data-chart/.eslintrc.js | 78 - .../actions-built-in-data-chart/README.md | 50 + .../actions-built-in-data-chart/ReadMe.md | 56 - .../actions-built-in-data-chart/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../toolbar/color-editor-support/.eslintrc.js | 78 - .../toolbar/color-editor-support/README.md | 50 + .../toolbar/color-editor-support/ReadMe.md | 56 - .../toolbar/color-editor-support/package.json | 24 +- .../color-editor-support/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../charts/toolbar/custom-tool/.eslintrc.js | 78 - samples/charts/toolbar/custom-tool/README.md | 50 + samples/charts/toolbar/custom-tool/ReadMe.md | 56 - .../charts/toolbar/custom-tool/package.json | 24 +- .../toolbar/custom-tool/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../layout-actions-for-data-chart/README.md | 50 + .../layout-actions-for-data-chart/ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../layout-in-vertical-orientation/README.md | 50 + .../layout-in-vertical-orientation/ReadMe.md | 56 - .../package.json | 24 +- .../sandbox.config.json | 5 - .../theming/.devcontainer/devcontainer.json | 4 - samples/charts/toolbar/theming/.eslintrc.js | 78 - samples/charts/toolbar/theming/README.md | 50 + samples/charts/toolbar/theming/ReadMe.md | 56 - samples/charts/toolbar/theming/package.json | 24 +- .../toolbar/theming/sandbox.config.json | 5 - .../events/.devcontainer/devcontainer.json | 4 - samples/charts/tree-map/events/.eslintrc.js | 75 - samples/charts/tree-map/events/README.md | 12 +- samples/charts/tree-map/events/package.json | 22 +- .../tree-map/events/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../highlighting-percent-based/.eslintrc.js | 78 - .../highlighting-percent-based/README.md | 50 + .../highlighting-percent-based/ReadMe.md | 56 - .../highlighting-percent-based/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../charts/tree-map/highlighting/.eslintrc.js | 78 - .../charts/tree-map/highlighting/README.md | 50 + .../charts/tree-map/highlighting/ReadMe.md | 56 - .../charts/tree-map/highlighting/package.json | 24 +- .../tree-map/highlighting/sandbox.config.json | 5 - .../layout/.devcontainer/devcontainer.json | 4 - samples/charts/tree-map/layout/.eslintrc.js | 78 - samples/charts/tree-map/layout/README.md | 50 + samples/charts/tree-map/layout/ReadMe.md | 56 - samples/charts/tree-map/layout/package.json | 24 +- .../tree-map/layout/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/charts/tree-map/overview/.eslintrc.js | 78 - samples/charts/tree-map/overview/README.md | 12 +- samples/charts/tree-map/overview/package.json | 24 +- .../tree-map/overview/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/charts/tree-map/styling/.eslintrc.js | 78 - samples/charts/tree-map/styling/README.md | 50 + samples/charts/tree-map/styling/ReadMe.md | 56 - samples/charts/tree-map/styling/package.json | 24 +- .../tree-map/styling/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../charts/zoomslider/overview/.eslintrc.js | 75 - samples/charts/zoomslider/overview/README.md | 12 +- .../charts/zoomslider/overview/package.json | 22 +- .../zoomslider/overview/sandbox.config.json | 5 - samples/cleanup.bat | 14 - .../overview/.devcontainer/devcontainer.json | 4 - .../overview/.eslintrc.js | 75 - .../multi-column-combobox/overview/README.md | 12 +- .../overview/package.json | 24 +- .../overview/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../x-date-picker/date-limits/.eslintrc.js | 75 - .../x-date-picker/date-limits/README.md | 12 +- .../x-date-picker/date-limits/package.json | 24 +- .../date-limits/sandbox.config.json | 5 - .../editing/.devcontainer/devcontainer.json | 4 - .../x-date-picker/editing/.eslintrc.js | 75 - .../editors/x-date-picker/editing/README.md | 12 +- .../x-date-picker/editing/package.json | 22 +- .../x-date-picker/editing/sandbox.config.json | 5 - .../format/.devcontainer/devcontainer.json | 4 - .../editors/x-date-picker/format/.eslintrc.js | 75 - .../editors/x-date-picker/format/README.md | 12 +- .../editors/x-date-picker/format/package.json | 22 +- .../x-date-picker/format/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../x-date-picker/overview/.eslintrc.js | 75 - .../editors/x-date-picker/overview/README.md | 12 +- .../x-date-picker/overview/package.json | 24 +- .../overview/sandbox.config.json | 5 - .../range/.devcontainer/devcontainer.json | 4 - .../editors/x-date-picker/range/.eslintrc.js | 75 - samples/editors/x-date-picker/range/README.md | 12 +- .../editors/x-date-picker/range/package.json | 24 +- .../x-date-picker/range/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../operations-on-workbooks/.eslintrc.js | 75 - .../operations-on-workbooks/README.md | 12 +- .../operations-on-workbooks/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../operations-on-worksheets/.eslintrc.js | 75 - .../operations-on-worksheets/README.md | 12 +- .../operations-on-worksheets/package.json | 22 +- .../sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../excel/excel-library/overview/.eslintrc.js | 75 - .../excel/excel-library/overview/README.md | 12 +- .../excel/excel-library/overview/package.json | 22 +- .../overview/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../working-with-cells/.eslintrc.js | 75 - .../working-with-cells/README.md | 12 +- .../working-with-cells/package.json | 22 +- .../working-with-cells/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../working-with-charts/.eslintrc.js | 75 - .../working-with-charts/README.md | 12 +- .../working-with-charts/package.json | 22 +- .../working-with-charts/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../working-with-sparklines/.eslintrc.js | 75 - .../working-with-sparklines/README.md | 12 +- .../working-with-sparklines/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../excel/spreadsheet/activation/.eslintrc.js | 75 - .../excel/spreadsheet/activation/README.md | 12 +- .../excel/spreadsheet/activation/package.json | 22 +- .../activation/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spreadsheet/adapter-chart/.eslintrc.js | 75 - .../excel/spreadsheet/adapter-chart/README.md | 12 +- .../spreadsheet/adapter-chart/package.json | 22 +- .../adapter-chart/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spreadsheet/adapter-combo/.eslintrc.js | 75 - .../excel/spreadsheet/adapter-combo/README.md | 12 +- .../spreadsheet/adapter-combo/package.json | 22 +- .../adapter-combo/sandbox.config.json | 5 - .../clipboard/.devcontainer/devcontainer.json | 4 - .../excel/spreadsheet/clipboard/.eslintrc.js | 75 - samples/excel/spreadsheet/clipboard/README.md | 12 +- .../excel/spreadsheet/clipboard/package.json | 22 +- .../spreadsheet/clipboard/sandbox.config.json | 5 - .../commands/.devcontainer/devcontainer.json | 4 - .../excel/spreadsheet/commands/.eslintrc.js | 75 - samples/excel/spreadsheet/commands/README.md | 12 +- .../excel/spreadsheet/commands/package.json | 22 +- .../spreadsheet/commands/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../conditional-formatting/.eslintrc.js | 75 - .../conditional-formatting/README.md | 12 +- .../conditional-formatting/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spreadsheet/config-options/.eslintrc.js | 75 - .../spreadsheet/config-options/README.md | 12 +- .../spreadsheet/config-options/package.json | 22 +- .../config-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spreadsheet/data-validation/.eslintrc.js | 75 - .../spreadsheet/data-validation/README.md | 12 +- .../spreadsheet/data-validation/package.json | 22 +- .../data-validation/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spreadsheet/filter-dialog/.eslintrc.js | 75 - .../excel/spreadsheet/filter-dialog/README.md | 12 +- .../spreadsheet/filter-dialog/package.json | 22 +- .../filter-dialog/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spreadsheet/format-dialog/.eslintrc.js | 75 - .../excel/spreadsheet/format-dialog/README.md | 12 +- .../spreadsheet/format-dialog/package.json | 22 +- .../format-dialog/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../excel/spreadsheet/hyperlinks/.eslintrc.js | 75 - .../excel/spreadsheet/hyperlinks/README.md | 12 +- .../excel/spreadsheet/hyperlinks/package.json | 22 +- .../hyperlinks/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../excel/spreadsheet/overview/.eslintrc.js | 75 - samples/excel/spreadsheet/overview/README.md | 12 +- .../excel/spreadsheet/overview/package.json | 22 +- .../spreadsheet/overview/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../spreadsheet/sort-dialog/.eslintrc.js | 75 - .../excel/spreadsheet/sort-dialog/README.md | 12 +- .../spreadsheet/sort-dialog/package.json | 22 +- .../sort-dialog/sandbox.config.json | 5 - .../animation/.devcontainer/devcontainer.json | 4 - .../bullet-graph/animation/.eslintrc.js | 75 - .../gauges/bullet-graph/animation/README.md | 12 +- .../bullet-graph/animation/package.json | 24 +- .../animation/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../bullet-graph/background/.eslintrc.js | 75 - .../gauges/bullet-graph/background/README.md | 12 +- .../bullet-graph/background/package.json | 24 +- .../background/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../highlight-needle/.eslintrc.js | 75 - .../bullet-graph/highlight-needle/README.md | 12 +- .../highlight-needle/package.json | 24 +- .../highlight-needle/sandbox.config.json | 5 - .../labels/.devcontainer/devcontainer.json | 4 - .../gauges/bullet-graph/labels/.eslintrc.js | 75 - samples/gauges/bullet-graph/labels/README.md | 12 +- .../gauges/bullet-graph/labels/package.json | 24 +- .../bullet-graph/labels/sandbox.config.json | 5 - .../measures/.devcontainer/devcontainer.json | 4 - .../gauges/bullet-graph/measures/.eslintrc.js | 75 - .../gauges/bullet-graph/measures/README.md | 12 +- .../gauges/bullet-graph/measures/package.json | 24 +- .../bullet-graph/measures/sandbox.config.json | 5 - .../ranges/.devcontainer/devcontainer.json | 4 - .../gauges/bullet-graph/ranges/.eslintrc.js | 75 - samples/gauges/bullet-graph/ranges/README.md | 12 +- .../gauges/bullet-graph/ranges/package.json | 24 +- .../bullet-graph/ranges/sandbox.config.json | 5 - .../scale/.devcontainer/devcontainer.json | 4 - .../gauges/bullet-graph/scale/.eslintrc.js | 75 - samples/gauges/bullet-graph/scale/README.md | 12 +- .../gauges/bullet-graph/scale/package.json | 24 +- .../bullet-graph/scale/sandbox.config.json | 5 - .../tickmarks/.devcontainer/devcontainer.json | 4 - .../bullet-graph/tickmarks/.eslintrc.js | 75 - .../gauges/bullet-graph/tickmarks/README.md | 12 +- .../bullet-graph/tickmarks/package.json | 24 +- .../tickmarks/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../bullet-graph/type-filled/.eslintrc.js | 75 - .../gauges/bullet-graph/type-filled/README.md | 12 +- .../bullet-graph/type-filled/package.json | 24 +- .../type-filled/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../bullet-graph/type-horizontal/.eslintrc.js | 75 - .../bullet-graph/type-horizontal/README.md | 12 +- .../bullet-graph/type-horizontal/package.json | 24 +- .../type-horizontal/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../bullet-graph/type-reversed/.eslintrc.js | 75 - .../bullet-graph/type-reversed/README.md | 12 +- .../bullet-graph/type-reversed/package.json | 24 +- .../type-reversed/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../bullet-graph/type-segmented/.eslintrc.js | 75 - .../bullet-graph/type-segmented/README.md | 12 +- .../bullet-graph/type-segmented/package.json | 24 +- .../type-segmented/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../bullet-graph/type-vertical/.eslintrc.js | 75 - .../bullet-graph/type-vertical/README.md | 12 +- .../bullet-graph/type-vertical/package.json | 24 +- .../type-vertical/sandbox.config.json | 5 - .../animation/.devcontainer/devcontainer.json | 4 - .../linear-gauge/animation/.eslintrc.js | 75 - .../gauges/linear-gauge/animation/README.md | 12 +- .../linear-gauge/animation/package.json | 24 +- .../animation/sandbox.config.json | 5 - .../backing/.devcontainer/devcontainer.json | 4 - .../gauges/linear-gauge/backing/.eslintrc.js | 75 - samples/gauges/linear-gauge/backing/README.md | 12 +- .../gauges/linear-gauge/backing/package.json | 24 +- .../linear-gauge/backing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../highlight-needle/.eslintrc.js | 75 - .../linear-gauge/highlight-needle/README.md | 12 +- .../highlight-needle/package.json | 24 +- .../highlight-needle/sandbox.config.json | 5 - .../labels/.devcontainer/devcontainer.json | 4 - .../gauges/linear-gauge/labels/.eslintrc.js | 75 - samples/gauges/linear-gauge/labels/README.md | 12 +- .../gauges/linear-gauge/labels/package.json | 24 +- .../linear-gauge/labels/sandbox.config.json | 5 - .../needle/.devcontainer/devcontainer.json | 4 - .../gauges/linear-gauge/needle/.eslintrc.js | 75 - samples/gauges/linear-gauge/needle/README.md | 12 +- .../gauges/linear-gauge/needle/package.json | 24 +- .../linear-gauge/needle/sandbox.config.json | 5 - .../ranges/.devcontainer/devcontainer.json | 4 - .../gauges/linear-gauge/ranges/.eslintrc.js | 75 - samples/gauges/linear-gauge/ranges/README.md | 12 +- .../gauges/linear-gauge/ranges/package.json | 24 +- .../linear-gauge/ranges/sandbox.config.json | 5 - .../scale/.devcontainer/devcontainer.json | 4 - .../gauges/linear-gauge/scale/.eslintrc.js | 75 - samples/gauges/linear-gauge/scale/README.md | 12 +- .../gauges/linear-gauge/scale/package.json | 24 +- .../linear-gauge/scale/sandbox.config.json | 5 - .../tickmarks/.devcontainer/devcontainer.json | 4 - .../linear-gauge/tickmarks/.eslintrc.js | 75 - .../gauges/linear-gauge/tickmarks/README.md | 12 +- .../linear-gauge/tickmarks/package.json | 24 +- .../tickmarks/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../linear-gauge/type-curved/.eslintrc.js | 75 - .../gauges/linear-gauge/type-curved/README.md | 12 +- .../linear-gauge/type-curved/package.json | 24 +- .../type-curved/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../linear-gauge/type-filled/.eslintrc.js | 75 - .../gauges/linear-gauge/type-filled/README.md | 12 +- .../linear-gauge/type-filled/package.json | 24 +- .../type-filled/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../linear-gauge/type-horizontal/.eslintrc.js | 75 - .../linear-gauge/type-horizontal/README.md | 12 +- .../linear-gauge/type-horizontal/package.json | 24 +- .../type-horizontal/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-multi-range/.eslintrc.js | 75 - .../linear-gauge/type-multi-range/README.md | 12 +- .../type-multi-range/package.json | 24 +- .../type-multi-range/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-multi-scale/.eslintrc.js | 75 - .../linear-gauge/type-multi-scale/README.md | 12 +- .../type-multi-scale/package.json | 24 +- .../type-multi-scale/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../linear-gauge/type-segmented/.eslintrc.js | 75 - .../linear-gauge/type-segmented/README.md | 12 +- .../linear-gauge/type-segmented/package.json | 24 +- .../type-segmented/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../linear-gauge/type-vertical/.eslintrc.js | 75 - .../linear-gauge/type-vertical/README.md | 12 +- .../linear-gauge/type-vertical/package.json | 24 +- .../type-vertical/sandbox.config.json | 5 - .../animation/.devcontainer/devcontainer.json | 4 - .../radial-gauge/animation/.eslintrc.js | 75 - .../gauges/radial-gauge/animation/README.md | 12 +- .../radial-gauge/animation/package.json | 24 +- .../animation/sandbox.config.json | 5 - .../backing/.devcontainer/devcontainer.json | 4 - .../gauges/radial-gauge/backing/.eslintrc.js | 75 - samples/gauges/radial-gauge/backing/README.md | 12 +- .../gauges/radial-gauge/backing/package.json | 24 +- .../radial-gauge/backing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../highlight-needle/.eslintrc.js | 75 - .../radial-gauge/highlight-needle/README.md | 12 +- .../highlight-needle/package.json | 24 +- .../highlight-needle/sandbox.config.json | 5 - .../labels/.devcontainer/devcontainer.json | 4 - .../gauges/radial-gauge/labels/.eslintrc.js | 75 - samples/gauges/radial-gauge/labels/README.md | 12 +- .../gauges/radial-gauge/labels/package.json | 24 +- .../radial-gauge/labels/sandbox.config.json | 5 - .../needle/.devcontainer/devcontainer.json | 4 - .../gauges/radial-gauge/needle/.eslintrc.js | 75 - samples/gauges/radial-gauge/needle/README.md | 12 +- .../gauges/radial-gauge/needle/package.json | 24 +- .../radial-gauge/needle/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../radial-gauge/optical-scaling/.eslintrc.js | 75 - .../radial-gauge/optical-scaling/README.md | 12 +- .../radial-gauge/optical-scaling/package.json | 24 +- .../optical-scaling/sandbox.config.json | 5 - .../ranges/.devcontainer/devcontainer.json | 4 - .../gauges/radial-gauge/ranges/.eslintrc.js | 75 - samples/gauges/radial-gauge/ranges/README.md | 12 +- .../gauges/radial-gauge/ranges/package.json | 24 +- .../radial-gauge/ranges/sandbox.config.json | 5 - .../scale/.devcontainer/devcontainer.json | 4 - .../gauges/radial-gauge/scale/.eslintrc.js | 75 - samples/gauges/radial-gauge/scale/README.md | 12 +- .../gauges/radial-gauge/scale/package.json | 24 +- .../radial-gauge/scale/sandbox.config.json | 5 - .../tickmarks/.devcontainer/devcontainer.json | 4 - .../radial-gauge/tickmarks/.eslintrc.js | 75 - .../gauges/radial-gauge/tickmarks/README.md | 12 +- .../radial-gauge/tickmarks/package.json | 24 +- .../tickmarks/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../radial-gauge/type-column/.eslintrc.js | 75 - .../gauges/radial-gauge/type-column/README.md | 12 +- .../radial-gauge/type-column/package.json | 24 +- .../type-column/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../radial-gauge/type-curved/.eslintrc.js | 75 - .../gauges/radial-gauge/type-curved/README.md | 12 +- .../radial-gauge/type-curved/package.json | 24 +- .../type-curved/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../radial-gauge/type-direction/.eslintrc.js | 75 - .../radial-gauge/type-direction/README.md | 12 +- .../radial-gauge/type-direction/package.json | 24 +- .../type-direction/sandbox.config.json | 5 - .../type-full/.devcontainer/devcontainer.json | 4 - .../radial-gauge/type-full/.eslintrc.js | 75 - .../gauges/radial-gauge/type-full/README.md | 12 +- .../radial-gauge/type-full/package.json | 24 +- .../type-full/sandbox.config.json | 5 - .../type-half/.devcontainer/devcontainer.json | 4 - .../radial-gauge/type-half/.eslintrc.js | 75 - .../gauges/radial-gauge/type-half/README.md | 12 +- .../radial-gauge/type-half/package.json | 24 +- .../type-half/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../radial-gauge/type-quatre/.eslintrc.js | 75 - .../gauges/radial-gauge/type-quatre/README.md | 12 +- .../radial-gauge/type-quatre/package.json | 24 +- .../type-quatre/sandbox.config.json | 5 - .../type-ring/.devcontainer/devcontainer.json | 4 - .../radial-gauge/type-ring/.eslintrc.js | 75 - .../gauges/radial-gauge/type-ring/README.md | 12 +- .../radial-gauge/type-ring/package.json | 24 +- .../type-ring/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../radial-gauge/type-segmented/.eslintrc.js | 75 - .../radial-gauge/type-segmented/README.md | 12 +- .../radial-gauge/type-segmented/package.json | 24 +- .../type-segmented/sandbox.config.json | 5 - .../type-semi/.devcontainer/devcontainer.json | 4 - .../radial-gauge/type-semi/.eslintrc.js | 75 - .../gauges/radial-gauge/type-semi/README.md | 12 +- .../radial-gauge/type-semi/package.json | 24 +- .../type-semi/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/accessibility/.eslintrc.js | 75 - .../grids/data-grid/accessibility/README.md | 12 +- .../data-grid/accessibility/package.json | 26 +- .../accessibility/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../binding-data-service/.eslintrc.js | 75 - .../data-grid/binding-data-service/README.md | 12 +- .../binding-data-service/package.json | 26 +- .../binding-data-service/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/binding-live-data/.eslintrc.js | 75 - .../data-grid/binding-live-data/README.md | 12 +- .../data-grid/binding-live-data/package.json | 26 +- .../binding-live-data/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/binding-local-data/.eslintrc.js | 75 - .../data-grid/binding-local-data/README.md | 12 +- .../data-grid/binding-local-data/package.json | 26 +- .../binding-local-data/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../binding-remote-data/.eslintrc.js | 75 - .../data-grid/binding-remote-data/README.md | 12 +- .../binding-remote-data/package.json | 24 +- .../binding-remote-data/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/cell-activation/.eslintrc.js | 75 - .../grids/data-grid/cell-activation/README.md | 12 +- .../data-grid/cell-activation/package.json | 24 +- .../cell-activation/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/data-grid/cell-editing/.eslintrc.js | 75 - .../grids/data-grid/cell-editing/README.md | 12 +- .../grids/data-grid/cell-editing/package.json | 24 +- .../cell-editing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/data-grid/cell-merging/.eslintrc.js | 75 - .../grids/data-grid/cell-merging/README.md | 12 +- .../grids/data-grid/cell-merging/package.json | 24 +- .../cell-merging/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/cell-selection/.eslintrc.js | 75 - .../grids/data-grid/cell-selection/README.md | 12 +- .../data-grid/cell-selection/package.json | 24 +- .../cell-selection/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/column-animation/.eslintrc.js | 75 - .../data-grid/column-animation/README.md | 12 +- .../data-grid/column-animation/package.json | 26 +- .../column-animation/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-chooser-picker/.eslintrc.js | 75 - .../data-grid/column-chooser-picker/README.md | 12 +- .../column-chooser-picker/package.json | 26 +- .../column-chooser-picker/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-chooser-toolbar/.eslintrc.js | 75 - .../column-chooser-toolbar/README.md | 12 +- .../column-chooser-toolbar/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-filter-expressions/.eslintrc.js | 75 - .../column-filter-expressions/README.md | 12 +- .../column-filter-expressions/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-filter-operands/.eslintrc.js | 75 - .../column-filter-operands/README.md | 12 +- .../column-filter-operands/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/column-filtering/.eslintrc.js | 75 - .../data-grid/column-filtering/README.md | 12 +- .../data-grid/column-filtering/package.json | 26 +- .../column-filtering/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/column-moving/.eslintrc.js | 75 - .../grids/data-grid/column-moving/README.md | 12 +- .../data-grid/column-moving/package.json | 26 +- .../column-moving/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/column-options/.eslintrc.js | 75 - .../grids/data-grid/column-options/README.md | 12 +- .../data-grid/column-options/package.json | 26 +- .../column-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-pinning-picker/.eslintrc.js | 75 - .../data-grid/column-pinning-picker/README.md | 12 +- .../column-pinning-picker/package.json | 26 +- .../column-pinning-picker/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-pinning-toolbar/.eslintrc.js | 75 - .../column-pinning-toolbar/README.md | 12 +- .../column-pinning-toolbar/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/column-resizing/.eslintrc.js | 75 - .../grids/data-grid/column-resizing/README.md | 12 +- .../data-grid/column-resizing/package.json | 26 +- .../column-resizing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/column-scrolling/.eslintrc.js | 75 - .../data-grid/column-scrolling/README.md | 12 +- .../data-grid/column-scrolling/package.json | 26 +- .../column-scrolling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/column-sorting/.eslintrc.js | 75 - .../grids/data-grid/column-sorting/README.md | 12 +- .../data-grid/column-sorting/package.json | 26 +- .../column-sorting/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/column-summaries/.eslintrc.js | 75 - .../data-grid/column-summaries/README.md | 12 +- .../data-grid/column-summaries/package.json | 26 +- .../column-summaries/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/data-grid/column-types/.eslintrc.js | 75 - .../grids/data-grid/column-types/README.md | 12 +- .../grids/data-grid/column-types/package.json | 24 +- .../column-types/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/load-save-layout/.eslintrc.js | 75 - .../data-grid/load-save-layout/README.md | 12 +- .../data-grid/load-save-layout/package.json | 26 +- .../load-save-layout/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/data-grid/localization/.eslintrc.js | 75 - .../grids/data-grid/localization/README.md | 12 +- .../grids/data-grid/localization/package.json | 24 +- .../localization/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/grids/data-grid/overview/.eslintrc.js | 75 - samples/grids/data-grid/overview/README.md | 12 +- samples/grids/data-grid/overview/package.json | 24 +- .../data-grid/overview/sandbox.config.json | 5 - .../pager/.devcontainer/devcontainer.json | 4 - samples/grids/data-grid/pager/.eslintrc.js | 75 - samples/grids/data-grid/pager/README.md | 12 +- samples/grids/data-grid/pager/package.json | 24 +- .../grids/data-grid/pager/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/data-grid/performance/.eslintrc.js | 75 - samples/grids/data-grid/performance/README.md | 12 +- .../grids/data-grid/performance/package.json | 26 +- .../data-grid/performance/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-group-descriptions/.eslintrc.js | 75 - .../row-group-descriptions/README.md | 12 +- .../row-group-descriptions/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/data-grid/row-grouping/.eslintrc.js | 75 - .../grids/data-grid/row-grouping/README.md | 12 +- .../grids/data-grid/row-grouping/package.json | 24 +- .../row-grouping/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/row-highlighting/.eslintrc.js | 75 - .../data-grid/row-highlighting/README.md | 12 +- .../data-grid/row-highlighting/package.json | 26 +- .../row-highlighting/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/data-grid/row-paging/.eslintrc.js | 75 - samples/grids/data-grid/row-paging/README.md | 12 +- .../grids/data-grid/row-paging/package.json | 24 +- .../data-grid/row-paging/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/data-grid/row-pinning/.eslintrc.js | 75 - samples/grids/data-grid/row-pinning/README.md | 12 +- .../grids/data-grid/row-pinning/package.json | 26 +- .../data-grid/row-pinning/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/row-selection/.eslintrc.js | 75 - .../grids/data-grid/row-selection/README.md | 12 +- .../data-grid/row-selection/package.json | 24 +- .../row-selection/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-comparison-table/.eslintrc.js | 75 - .../data-grid/type-comparison-table/README.md | 12 +- .../type-comparison-table/package.json | 26 +- .../type-comparison-table/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/type-heatmap-table/.eslintrc.js | 75 - .../data-grid/type-heatmap-table/README.md | 12 +- .../data-grid/type-heatmap-table/package.json | 26 +- .../type-heatmap-table/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-marketing-table/.eslintrc.js | 75 - .../data-grid/type-marketing-table/README.md | 12 +- .../type-marketing-table/package.json | 26 +- .../type-marketing-table/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-grid/type-matrix-table/.eslintrc.js | 75 - .../data-grid/type-matrix-table/README.md | 12 +- .../data-grid/type-matrix-table/package.json | 26 +- .../type-matrix-table/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-periodic-table/.eslintrc.js | 75 - .../data-grid/type-periodic-table/README.md | 12 +- .../type-periodic-table/package.json | 26 +- .../type-periodic-table/sandbox.config.json | 5 - .../column-config-basic/.eslintrc.js | 78 - .../grid-lite/column-config-basic/README.md | 50 + .../grid-lite/column-config-basic/ReadMe.md | 56 - .../column-config-basic/package.json | 24 +- .../column-config-basic/sandbox.config.json | 5 - .../column-config-dynamic/.eslintrc.js | 78 - .../grid-lite/column-config-dynamic/README.md | 50 + .../grid-lite/column-config-dynamic/ReadMe.md | 56 - .../column-config-dynamic/package.json | 24 +- .../column-config-dynamic/sandbox.config.json | 5 - .../column-config-headers/.eslintrc.js | 78 - .../grid-lite/column-config-headers/README.md | 50 + .../column-config-headers/ReadMe copy.md | 56 - .../grid-lite/column-config-headers/ReadMe.md | 56 - .../column-config-headers/package.json | 24 +- .../column-config-headers/sandbox.config.json | 5 - .../grids/grid-lite/data-binding/.eslintrc.js | 78 - .../grids/grid-lite/data-binding/README.md | 50 + .../grids/grid-lite/data-binding/ReadMe.md | 56 - .../grids/grid-lite/data-binding/package.json | 24 +- .../data-binding/sandbox.config.json | 5 - .../filtering-config-events/.eslintrc.js | 78 - .../filtering-config-events/README.md | 50 + .../filtering-config-events/ReadMe.md | 56 - .../filtering-config-events/package.json | 24 +- .../sandbox.config.json | 5 - .../filtering-config-remote/.eslintrc.js | 78 - .../filtering-config-remote/README.md | 50 + .../filtering-config-remote/ReadMe.md | 56 - .../filtering-config-remote/package.json | 24 +- .../sandbox.config.json | 5 - .../grid-lite/filtering-config/.eslintrc.js | 78 - .../grid-lite/filtering-config/README.md | 50 + .../grid-lite/filtering-config/ReadMe.md | 56 - .../grid-lite/filtering-config/package.json | 24 +- .../filtering-config/sandbox.config.json | 5 - samples/grids/grid-lite/overview/.eslintrc.js | 78 - samples/grids/grid-lite/overview/README.md | 50 + samples/grids/grid-lite/overview/ReadMe.md | 56 - samples/grids/grid-lite/overview/package.json | 24 +- .../grid-lite/overview/sandbox.config.json | 5 - .../grid-lite/sort-config-events/.eslintrc.js | 78 - .../grid-lite/sort-config-events/README.md | 50 + .../sort-config-events/ReadMe copy.md | 56 - .../grid-lite/sort-config-events/ReadMe.md | 56 - .../grid-lite/sort-config-events/package.json | 24 +- .../sort-config-events/sandbox.config.json | 5 - .../grid-lite/sort-config-grid/.eslintrc.js | 78 - .../grid-lite/sort-config-grid/README.md | 50 + .../grid-lite/sort-config-grid/ReadMe copy.md | 56 - .../grid-lite/sort-config-grid/ReadMe.md | 56 - .../grid-lite/sort-config-grid/package.json | 24 +- .../sort-config-grid/sandbox.config.json | 5 - .../sort-config-pipeline/.eslintrc.js | 78 - .../grid-lite/sort-config-pipeline/README.md | 50 + .../grid-lite/sort-config-pipeline/ReadMe.md | 56 - .../sort-config-pipeline/package.json | 24 +- .../sort-config-pipeline/sandbox.config.json | 5 - .../grid-lite/sort-config-sample/.eslintrc.js | 78 - .../grid-lite/sort-config-sample/README.md | 50 + .../grid-lite/sort-config-sample/ReadMe.md | 56 - .../grid-lite/sort-config-sample/package.json | 24 +- .../sort-config-sample/sandbox.config.json | 5 - .../styling-config-themes/.eslintrc.js | 78 - .../grid-lite/styling-config-themes/README.md | 50 + .../grid-lite/styling-config-themes/ReadMe.md | 56 - .../styling-config-themes/package.json | 24 +- .../styling-config-themes/sandbox.config.json | 5 - .../styling-custom-theme/.eslintrc.js | 78 - .../grid-lite/styling-custom-theme/README.md | 50 + .../grid-lite/styling-custom-theme/ReadMe.md | 56 - .../styling-custom-theme/package.json | 26 +- .../styling-custom-theme/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/grids/grid/action-strip/.eslintrc.js | 78 - samples/grids/grid/action-strip/README.md | 50 + samples/grids/grid/action-strip/ReadMe.md | 56 - samples/grids/grid/action-strip/package.json | 26 +- .../grid/action-strip/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../advanced-filtering-options/.eslintrc.js | 78 - .../grid/advanced-filtering-options/README.md | 50 + .../grid/advanced-filtering-options/ReadMe.md | 56 - .../advanced-filtering-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../advanced-filtering-style/.eslintrc.js | 78 - .../grid/advanced-filtering-style/README.md | 50 + .../grid/advanced-filtering-style/ReadMe.md | 56 - .../advanced-filtering-style/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/binding-composite-data/.eslintrc.js | 78 - .../grid/binding-composite-data/README.md | 50 + .../grid/binding-composite-data/ReadMe.md | 56 - .../grid/binding-composite-data/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/binding-crud-data/.eslintrc.js | 78 - .../grids/grid/binding-crud-data/README.md | 50 + .../grids/grid/binding-crud-data/ReadMe.md | 56 - .../grids/grid/binding-crud-data/package.json | 26 +- .../binding-crud-data/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/binding-nested-data-1/.eslintrc.js | 78 - .../grid/binding-nested-data-1/README.md | 50 + .../grid/binding-nested-data-1/ReadMe.md | 56 - .../grid/binding-nested-data-1/package.json | 26 +- .../binding-nested-data-1/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/cascading-combo/.eslintrc.js | 78 - samples/grids/grid/cascading-combo/README.md | 50 + samples/grids/grid/cascading-combo/ReadMe.md | 56 - .../grids/grid/cascading-combo/package.json | 26 +- .../grid/cascading-combo/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/cell-editing-sample/.eslintrc.js | 78 - .../grids/grid/cell-editing-sample/README.md | 50 + .../grids/grid/cell-editing-sample/ReadMe.md | 56 - .../grid/cell-editing-sample/package.json | 26 +- .../cell-editing-sample/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/cell-editing-styling/.eslintrc.js | 78 - .../grids/grid/cell-editing-styling/README.md | 50 + .../grids/grid/cell-editing-styling/ReadMe.md | 56 - .../grid/cell-editing-styling/package.json | 26 +- .../cell-editing-styling/sandbox.config.json | 5 - .../cell-merge-custom-sample/.eslintrc.js | 76 - .../grid/cell-merge-custom-sample/README.md | 50 + .../grid/cell-merge-custom-sample/ReadMe.md | 56 - .../grid/cell-merge-custom-sample/index.html | 12 + .../cell-merge-custom-sample/package.json | 31 +- .../public/index.html | 11 - .../sandbox.config.json | 5 - .../src/react-app-env.d.ts | 1 - .../cell-merge-custom-sample}/vite.config.js | 0 samples/grids/grid/cell-merge/.eslintrc.js | 76 - samples/grids/grid/cell-merge/README.md | 50 + samples/grids/grid/cell-merge/ReadMe.md | 56 - samples/grids/grid/cell-merge/index.html | 12 + samples/grids/grid/cell-merge/package.json | 31 +- .../grids/grid/cell-merge/public/index.html | 11 - .../grids/grid/cell-merge/sandbox.config.json | 5 - .../grid/cell-merge/src/react-app-env.d.ts | 1 - samples/grids/grid/cell-merge/vite.config.js | 12 + .../.devcontainer/devcontainer.json | 4 - .../grid/cell-selection-mode/.eslintrc.js | 78 - .../grids/grid/cell-selection-mode/README.md | 50 + .../grids/grid/cell-selection-mode/ReadMe.md | 56 - .../grid/cell-selection-mode/package.json | 26 +- .../cell-selection-mode/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/cell-selection-style/.eslintrc.js | 78 - .../grids/grid/cell-selection-style/README.md | 50 + .../grids/grid/cell-selection-style/ReadMe.md | 56 - .../grid/cell-selection-style/package.json | 26 +- .../cell-selection-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/change-icons-custom/.eslintrc.js | 76 - .../grids/grid/change-icons-custom/README.md | 50 + .../grids/grid/change-icons-custom/ReadMe.md | 56 - .../grid/change-icons-custom/package.json | 26 +- .../change-icons-custom/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/clipboard-operations/.eslintrc.js | 76 - .../grids/grid/clipboard-operations/README.md | 50 + .../grids/grid/clipboard-operations/ReadMe.md | 56 - .../grid/clipboard-operations/package.json | 26 +- .../clipboard-operations/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-auto-sizing/.eslintrc.js | 78 - .../grids/grid/column-auto-sizing/README.md | 50 + .../grids/grid/column-auto-sizing/ReadMe.md | 56 - .../grid/column-auto-sizing/package.json | 26 +- .../column-auto-sizing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-collapsible-groups/.eslintrc.js | 78 - .../grid/column-collapsible-groups/README.md | 50 + .../grid/column-collapsible-groups/ReadMe.md | 56 - .../column-collapsible-groups/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/column-data-types/.eslintrc.js | 78 - .../grids/grid/column-data-types/README.md | 50 + .../grids/grid/column-data-types/ReadMe.md | 56 - .../grids/grid/column-data-types/package.json | 26 +- .../column-data-types/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-hiding-options/.eslintrc.js | 78 - .../grid/column-hiding-options/README.md | 50 + .../grid/column-hiding-options/ReadMe.md | 56 - .../grid/column-hiding-options/package.json | 26 +- .../column-hiding-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-hiding-toolbar-style/.eslintrc.js | 78 - .../column-hiding-toolbar-style/README.md | 50 + .../column-hiding-toolbar-style/ReadMe.md | 56 - .../column-hiding-toolbar-style/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-hiding-toolbar/.eslintrc.js | 78 - .../grid/column-hiding-toolbar/README.md | 50 + .../grid/column-hiding-toolbar/ReadMe.md | 56 - .../grid/column-hiding-toolbar/package.json | 26 +- .../column-hiding-toolbar/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-moving-options/.eslintrc.js | 78 - .../grid/column-moving-options/README.md | 50 + .../grid/column-moving-options/ReadMe.md | 56 - .../grid/column-moving-options/package.json | 26 +- .../column-moving-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-moving-styles/.eslintrc.js | 78 - .../grids/grid/column-moving-styles/README.md | 50 + .../grids/grid/column-moving-styles/ReadMe.md | 56 - .../grid/column-moving-styles/package.json | 26 +- .../column-moving-styles/sandbox.config.json | 5 - .../column-pinning-both-sides/.eslintrc.js | 76 - .../grid/column-pinning-both-sides/README.md | 50 + .../grid/column-pinning-both-sides/ReadMe.md | 56 - .../grid/column-pinning-both-sides/index.html | 12 + .../column-pinning-both-sides/package.json | 31 +- .../public/index.html | 11 - .../sandbox.config.json | 5 - .../src/react-app-env.d.ts | 1 - .../column-pinning-both-sides/vite.config.js | 12 + .../.devcontainer/devcontainer.json | 4 - .../grid/column-pinning-options/.eslintrc.js | 78 - .../grid/column-pinning-options/README.md | 50 + .../grid/column-pinning-options/ReadMe.md | 56 - .../grid/column-pinning-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-pinning-right-side/.eslintrc.js | 78 - .../grid/column-pinning-right-side/README.md | 50 + .../grid/column-pinning-right-side/ReadMe.md | 56 - .../column-pinning-right-side/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-pinning-styles/.eslintrc.js | 78 - .../grid/column-pinning-styles/README.md | 50 + .../grid/column-pinning-styles/ReadMe.md | 56 - .../grid/column-pinning-styles/package.json | 26 +- .../column-pinning-styles/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/column-pinning/.eslintrc.js | 78 - samples/grids/grid/column-pinning/README.md | 50 + samples/grids/grid/column-pinning/ReadMe.md | 56 - .../grids/grid/column-pinning/package.json | 26 +- .../grid/column-pinning/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-resize-styling/.eslintrc.js | 78 - .../grid/column-resize-styling/README.md | 50 + .../grid/column-resize-styling/ReadMe.md | 56 - .../grid/column-resize-styling/package.json | 26 +- .../column-resize-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/column-resizing/.eslintrc.js | 78 - samples/grids/grid/column-resizing/README.md | 50 + samples/grids/grid/column-resizing/ReadMe.md | 56 - .../grids/grid/column-resizing/package.json | 26 +- .../grid/column-resizing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-selection-group/.eslintrc.js | 78 - .../grid/column-selection-group/README.md | 50 + .../grid/column-selection-group/ReadMe.md | 56 - .../grid/column-selection-group/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-selection-mode/.eslintrc.js | 78 - .../grid/column-selection-mode/README.md | 50 + .../grid/column-selection-mode/ReadMe.md | 56 - .../grid/column-selection-mode/package.json | 26 +- .../column-selection-mode/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-selection-styles/.eslintrc.js | 78 - .../grid/column-selection-styles/README.md | 50 + .../grid/column-selection-styles/ReadMe.md | 56 - .../grid/column-selection-styles/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-sorting-indicators/.eslintrc.js | 78 - .../grid/column-sorting-indicators/README.md | 50 + .../grid/column-sorting-indicators/ReadMe.md | 56 - .../column-sorting-indicators/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-sorting-options/.eslintrc.js | 78 - .../grid/column-sorting-options/README.md | 50 + .../grid/column-sorting-options/ReadMe.md | 56 - .../grid/column-sorting-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/column-sorting-style/.eslintrc.js | 78 - .../grids/grid/column-sorting-style/README.md | 50 + .../grids/grid/column-sorting-style/ReadMe.md | 56 - .../grid/column-sorting-style/package.json | 26 +- .../column-sorting-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../conditional-cell-style-1/.eslintrc.js | 78 - .../grid/conditional-cell-style-1/README.md | 50 + .../grid/conditional-cell-style-1/ReadMe.md | 56 - .../conditional-cell-style-1/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../conditional-cell-style-2/.eslintrc.js | 78 - .../grid/conditional-cell-style-2/README.md | 50 + .../grid/conditional-cell-style-2/ReadMe.md | 56 - .../conditional-cell-style-2/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../conditional-row-selectors/.eslintrc.js | 78 - .../grid/conditional-row-selectors/README.md | 50 + .../grid/conditional-row-selectors/ReadMe.md | 56 - .../conditional-row-selectors/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/custom-context-menu/.eslintrc.js | 76 - .../grids/grid/custom-context-menu/README.md | 50 + .../grids/grid/custom-context-menu/ReadMe.md | 56 - .../grid/custom-context-menu/package.json | 26 +- .../custom-context-menu/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-batch-editing-actions/.eslintrc.js | 78 - .../grid/data-batch-editing-actions/README.md | 50 + .../grid/data-batch-editing-actions/ReadMe.md | 56 - .../data-batch-editing-actions/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-exporting-indicator/.eslintrc.js | 76 - .../grid/data-exporting-indicator/README.md | 50 + .../grid/data-exporting-indicator/ReadMe.md | 56 - .../data-exporting-indicator/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../data-performance-virtualization/README.md | 50 + .../data-performance-virtualization/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/data-searching/.eslintrc.js | 76 - samples/grids/grid/data-searching/README.md | 50 + samples/grids/grid/data-searching/ReadMe.md | 56 - .../grids/grid/data-searching/package.json | 26 +- .../grid/data-searching/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/data-summary-formatter/.eslintrc.js | 78 - .../grid/data-summary-formatter/README.md | 50 + .../grid/data-summary-formatter/ReadMe.md | 56 - .../grid/data-summary-formatter/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/data-summary-options/.eslintrc.js | 78 - .../grids/grid/data-summary-options/README.md | 50 + .../grids/grid/data-summary-options/ReadMe.md | 56 - .../grid/data-summary-options/package.json | 26 +- .../data-summary-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/data-summary-template/.eslintrc.js | 78 - .../grid/data-summary-template/README.md | 50 + .../grid/data-summary-template/ReadMe.md | 56 - .../grid/data-summary-template/package.json | 26 +- .../data-summary-template/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/data-validation-style/.eslintrc.js | 78 - .../grid/data-validation-style/README.md | 50 + .../grid/data-validation-style/ReadMe.md | 56 - .../grid/data-validation-style/package.json | 26 +- .../data-validation-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../README.md | 50 + .../ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../data-validator-service-extended/README.md | 50 + .../data-validator-service-extended/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/data-validator-service/.eslintrc.js | 78 - .../grid/data-validator-service/README.md | 50 + .../grid/data-validator-service/ReadMe.md | 56 - .../grid/data-validator-service/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/disabled-summaries/.eslintrc.js | 75 - .../grids/grid/disabled-summaries/README.md | 50 + .../grids/grid/disabled-summaries/ReadMe.md | 56 - .../grid/disabled-summaries/package.json | 22 +- .../disabled-summaries/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/editing-columns/.eslintrc.js | 78 - samples/grids/grid/editing-columns/README.md | 50 + samples/grids/grid/editing-columns/ReadMe.md | 56 - .../grids/grid/editing-columns/package.json | 26 +- .../grid/editing-columns/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/editing-events/.eslintrc.js | 78 - samples/grids/grid/editing-events/README.md | 50 + samples/grids/grid/editing-events/ReadMe.md | 56 - .../grids/grid/editing-events/package.json | 26 +- .../grid/editing-events/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/editing-excel-style/.eslintrc.js | 78 - .../grids/grid/editing-excel-style/README.md | 50 + .../grids/grid/editing-excel-style/ReadMe.md | 56 - .../grid/editing-excel-style/package.json | 26 +- .../editing-excel-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/editing-lifecycle/.eslintrc.js | 78 - .../grids/grid/editing-lifecycle/README.md | 50 + .../grids/grid/editing-lifecycle/ReadMe.md | 56 - .../grids/grid/editing-lifecycle/package.json | 26 +- .../editing-lifecycle/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/excel-exporting/.eslintrc.js | 78 - samples/grids/grid/excel-exporting/README.md | 50 + samples/grids/grid/excel-exporting/ReadMe.md | 56 - .../grids/grid/excel-exporting/package.json | 26 +- .../grid/excel-exporting/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../excel-style-filtering-sample-1/README.md | 50 + .../excel-style-filtering-sample-1/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../excel-style-filtering-sample-2/README.md | 50 + .../excel-style-filtering-sample-2/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../excel-style-filtering-sample-3/README.md | 50 + .../excel-style-filtering-sample-3/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../excel-style-filtering-style/.eslintrc.js | 78 - .../excel-style-filtering-style/README.md | 50 + .../excel-style-filtering-style/ReadMe.md | 56 - .../excel-style-filtering-style/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../external-advanced-filtering/.eslintrc.js | 78 - .../external-advanced-filtering/README.md | 50 + .../external-advanced-filtering/ReadMe.md | 56 - .../external-advanced-filtering/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/filtering-options/.eslintrc.js | 78 - .../grids/grid/filtering-options/README.md | 50 + .../grids/grid/filtering-options/ReadMe.md | 56 - .../grids/grid/filtering-options/package.json | 26 +- .../filtering-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/filtering-strategy/.eslintrc.js | 78 - .../grids/grid/filtering-strategy/README.md | 50 + .../grids/grid/filtering-strategy/ReadMe.md | 56 - .../grid/filtering-strategy/package.json | 26 +- .../filtering-strategy/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/filtering-style/.eslintrc.js | 78 - samples/grids/grid/filtering-style/README.md | 50 + samples/grids/grid/filtering-style/ReadMe.md | 56 - .../grids/grid/filtering-style/package.json | 26 +- .../grid/filtering-style/sandbox.config.json | 5 - .../finjs/.devcontainer/devcontainer.json | 4 - samples/grids/grid/finjs/.eslintrc.js | 76 - samples/grids/grid/finjs/README.md | 50 + samples/grids/grid/finjs/ReadMe.md | 56 - samples/grids/grid/finjs/package.json | 26 +- samples/grids/grid/finjs/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/groupby-custom/.eslintrc.js | 76 - samples/grids/grid/groupby-custom/README.md | 50 + samples/grids/grid/groupby-custom/ReadMe.md | 56 - .../grids/grid/groupby-custom/package.json | 26 +- .../grid/groupby-custom/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/groupby-expressions/.eslintrc.js | 78 - .../grids/grid/groupby-expressions/README.md | 50 + .../grids/grid/groupby-expressions/ReadMe.md | 56 - .../grid/groupby-expressions/package.json | 26 +- .../groupby-expressions/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/groupby-paging/.eslintrc.js | 78 - samples/grids/grid/groupby-paging/README.md | 50 + samples/grids/grid/groupby-paging/ReadMe.md | 56 - .../grids/grid/groupby-paging/package.json | 26 +- .../grid/groupby-paging/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/groupby-styling/.eslintrc.js | 78 - samples/grids/grid/groupby-styling/README.md | 50 + samples/grids/grid/groupby-styling/ReadMe.md | 56 - .../grids/grid/groupby-styling/package.json | 26 +- .../grid/groupby-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/groupby-summary-options/.eslintrc.js | 78 - .../grid/groupby-summary-options/README.md | 50 + .../grid/groupby-summary-options/ReadMe.md | 56 - .../grid/groupby-summary-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/groupby-summary-styling/.eslintrc.js | 78 - .../grid/groupby-summary-styling/README.md | 50 + .../grid/groupby-summary-styling/ReadMe.md | 56 - .../grid/groupby-summary-styling/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/infinite-scroll/.eslintrc.js | 76 - samples/grids/grid/infinite-scroll/README.md | 50 + samples/grids/grid/infinite-scroll/ReadMe.md | 56 - .../grids/grid/infinite-scroll/package.json | 26 +- .../grid/infinite-scroll/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../keyboard-custom-navigation/.eslintrc.js | 78 - .../grid/keyboard-custom-navigation/README.md | 50 + .../grid/keyboard-custom-navigation/ReadMe.md | 56 - .../keyboard-custom-navigation/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/keyboard-mrl-navigation/.eslintrc.js | 78 - .../grid/keyboard-mrl-navigation/README.md | 50 + .../grid/keyboard-mrl-navigation/ReadMe.md | 56 - .../grid/keyboard-mrl-navigation/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/layout-display-density/.eslintrc.js | 78 - .../grid/layout-display-density/README.md | 50 + .../grid/layout-display-density/ReadMe.md | 56 - .../grid/layout-display-density/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/grids/grid/localization/.eslintrc.js | 78 - samples/grids/grid/localization/README.md | 50 + samples/grids/grid/localization/ReadMe.md | 56 - samples/grids/grid/localization/package.json | 26 +- .../grid/localization/sandbox.config.json | 5 - samples/grids/grid/localization/src/index.tsx | 2 +- .../.devcontainer/devcontainer.json | 4 - samples/grids/grid/master-detail/.eslintrc.js | 78 - samples/grids/grid/master-detail/README.md | 50 + samples/grids/grid/master-detail/ReadMe.md | 56 - samples/grids/grid/master-detail/package.json | 26 +- .../grid/master-detail/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../multi-cell-selection-mode/.eslintrc.js | 76 - .../grid/multi-cell-selection-mode/README.md | 50 + .../grid/multi-cell-selection-mode/ReadMe.md | 56 - .../multi-cell-selection-mode/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../multi-column-headers-export/.eslintrc.js | 78 - .../multi-column-headers-export/README.md | 50 + .../multi-column-headers-export/ReadMe.md | 56 - .../multi-column-headers-export/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../multi-column-headers-overview/README.md | 50 + .../multi-column-headers-overview/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../multi-column-headers-styling/.eslintrc.js | 78 - .../multi-column-headers-styling/README.md | 50 + .../multi-column-headers-styling/ReadMe.md | 56 - .../multi-column-headers-styling/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../multi-column-headers-template/README.md | 50 + .../multi-column-headers-template/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../multi-row-layout-options/.eslintrc.js | 78 - .../grid/multi-row-layout-options/README.md | 50 + .../grid/multi-row-layout-options/ReadMe.md | 56 - .../multi-row-layout-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/multi-row-layout-style/.eslintrc.js | 78 - .../grid/multi-row-layout-style/README.md | 50 + .../grid/multi-row-layout-style/ReadMe.md | 56 - .../grid/multi-row-layout-style/package.json | 26 +- .../sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/grids/grid/overview/.eslintrc.js | 78 - samples/grids/grid/overview/README.md | 50 + samples/grids/grid/overview/ReadMe.md | 56 - samples/grids/grid/overview/package.json | 26 +- .../grids/grid/overview/sandbox.config.json | 5 - .../paste/.devcontainer/devcontainer.json | 4 - samples/grids/grid/paste/.eslintrc.js | 78 - samples/grids/grid/paste/README.md | 50 + samples/grids/grid/paste/ReadMe.md | 56 - samples/grids/grid/paste/package.json | 26 +- samples/grids/grid/paste/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/remote-paging-data/.eslintrc.js | 78 - .../grids/grid/remote-paging-data/README.md | 50 + .../grids/grid/remote-paging-data/ReadMe.md | 56 - .../grid/remote-paging-data/package.json | 26 +- .../remote-paging-data/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/remote-paging-grid/.eslintrc.js | 76 - .../grids/grid/remote-paging-grid/README.md | 50 + .../grids/grid/remote-paging-grid/ReadMe.md | 56 - .../grid/remote-paging-grid/package.json | 26 +- .../remote-paging-grid/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/grids/grid/row-adding/.eslintrc.js | 78 - samples/grids/grid/row-adding/README.md | 50 + samples/grids/grid/row-adding/ReadMe.md | 56 - samples/grids/grid/row-adding/package.json | 26 +- .../grids/grid/row-adding/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/grids/grid/row-classes/.eslintrc.js | 78 - samples/grids/grid/row-classes/README.md | 50 + samples/grids/grid/row-classes/ReadMe.md | 56 - samples/grids/grid/row-classes/package.json | 26 +- .../grid/row-classes/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/grids/grid/row-drag-base/.eslintrc.js | 76 - samples/grids/grid/row-drag-base/README.md | 50 + samples/grids/grid/row-drag-base/ReadMe.md | 56 - samples/grids/grid/row-drag-base/package.json | 26 +- .../grid/row-drag-base/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/row-editing-options/.eslintrc.js | 78 - .../grids/grid/row-editing-options/README.md | 50 + .../grids/grid/row-editing-options/ReadMe.md | 56 - .../grid/row-editing-options/package.json | 26 +- .../row-editing-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/row-editing-style/.eslintrc.js | 78 - .../grids/grid/row-editing-style/README.md | 50 + .../grids/grid/row-editing-style/ReadMe.md | 56 - .../grids/grid/row-editing-style/package.json | 26 +- .../row-editing-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/row-paging-basic/.eslintrc.js | 78 - samples/grids/grid/row-paging-basic/README.md | 50 + samples/grids/grid/row-paging-basic/ReadMe.md | 56 - .../grids/grid/row-paging-basic/package.json | 26 +- .../grid/row-paging-basic/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/row-paging-options/.eslintrc.js | 78 - .../grids/grid/row-paging-options/README.md | 50 + .../grids/grid/row-paging-options/ReadMe.md | 56 - .../grid/row-paging-options/package.json | 26 +- .../row-paging-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/row-pinning-drag/.eslintrc.js | 78 - samples/grids/grid/row-pinning-drag/README.md | 50 + samples/grids/grid/row-pinning-drag/ReadMe.md | 56 - .../grids/grid/row-pinning-drag/package.json | 26 +- .../grid/row-pinning-drag/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-pinning-extra-column/.eslintrc.js | 78 - .../grid/row-pinning-extra-column/README.md | 50 + .../grid/row-pinning-extra-column/ReadMe.md | 56 - .../row-pinning-extra-column/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/row-pinning-options/.eslintrc.js | 78 - .../grids/grid/row-pinning-options/README.md | 50 + .../grids/grid/row-pinning-options/ReadMe.md | 56 - .../grid/row-pinning-options/package.json | 26 +- .../row-pinning-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/row-pinning-style/.eslintrc.js | 78 - .../grids/grid/row-pinning-style/README.md | 50 + .../grids/grid/row-pinning-style/ReadMe.md | 56 - .../grids/grid/row-pinning-style/package.json | 26 +- .../row-pinning-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/grids/grid/row-reorder/.eslintrc.js | 78 - samples/grids/grid/row-reorder/README.md | 50 + samples/grids/grid/row-reorder/ReadMe.md | 56 - samples/grids/grid/row-reorder/package.json | 26 +- .../grid/row-reorder/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/row-selection-mode/.eslintrc.js | 78 - .../grids/grid/row-selection-mode/README.md | 50 + .../grids/grid/row-selection-mode/ReadMe.md | 56 - .../grid/row-selection-mode/package.json | 26 +- .../row-selection-mode/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-selection-template-excel/.eslintrc.js | 78 - .../row-selection-template-excel/README.md | 50 + .../row-selection-template-excel/ReadMe.md | 56 - .../row-selection-template-excel/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../row-selection-template-numbers/README.md | 50 + .../row-selection-template-numbers/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/grids/grid/row-styles/.eslintrc.js | 78 - samples/grids/grid/row-styles/README.md | 50 + samples/grids/grid/row-styles/ReadMe.md | 56 - samples/grids/grid/row-styles/package.json | 26 +- .../grids/grid/row-styles/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/state-persistence-about/.eslintrc.js | 76 - .../grid/state-persistence-about/README.md | 50 + .../grid/state-persistence-about/ReadMe.md | 56 - .../grid/state-persistence-about/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/state-persistence-main/.eslintrc.js | 76 - .../grid/state-persistence-main/README.md | 50 + .../grid/state-persistence-main/ReadMe.md | 56 - .../grid/state-persistence-main/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grid/styling-custom-CSS/.eslintrc.js | 78 - .../grids/grid/styling-custom-CSS/README.md | 50 + .../grids/grid/styling-custom-CSS/ReadMe.md | 56 - .../grid/styling-custom-CSS/package.json | 26 +- .../styling-custom-CSS/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/toolbar-sample-1/.eslintrc.js | 78 - samples/grids/grid/toolbar-sample-1/README.md | 50 + samples/grids/grid/toolbar-sample-1/ReadMe.md | 56 - .../grids/grid/toolbar-sample-1/package.json | 26 +- .../grid/toolbar-sample-1/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/toolbar-sample-2/.eslintrc.js | 78 - samples/grids/grid/toolbar-sample-2/README.md | 50 + samples/grids/grid/toolbar-sample-2/ReadMe.md | 56 - .../grids/grid/toolbar-sample-2/package.json | 26 +- .../grid/toolbar-sample-2/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/grid/toolbar-sample-3/.eslintrc.js | 78 - samples/grids/grid/toolbar-sample-3/README.md | 50 + samples/grids/grid/toolbar-sample-3/ReadMe.md | 56 - .../grids/grid/toolbar-sample-3/package.json | 26 +- .../grid/toolbar-sample-3/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/grids/grid/toolbar-style/.eslintrc.js | 78 - samples/grids/grid/toolbar-style/README.md | 50 + samples/grids/grid/toolbar-style/ReadMe.md | 56 - samples/grids/grid/toolbar-style/package.json | 26 +- .../grid/toolbar-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../action-strip/.eslintrc.js | 78 - .../hierarchical-grid/action-strip/README.md | 50 + .../hierarchical-grid/action-strip/ReadMe.md | 56 - .../action-strip/package.json | 26 +- .../action-strip/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../advanced-filtering-options/.eslintrc.js | 78 - .../advanced-filtering-options/README.md | 50 + .../advanced-filtering-options/ReadMe.md | 56 - .../advanced-filtering-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../advanced-filtering-style/.eslintrc.js | 78 - .../advanced-filtering-style/README.md | 50 + .../advanced-filtering-style/ReadMe.md | 56 - .../advanced-filtering-style/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../cell-editing-sample/.eslintrc.js | 78 - .../cell-editing-sample/README.md | 50 + .../cell-editing-sample/ReadMe.md | 56 - .../cell-editing-sample/package.json | 26 +- .../cell-editing-sample/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../cell-editing-styling/.eslintrc.js | 78 - .../cell-editing-styling/README.md | 50 + .../cell-editing-styling/ReadMe.md | 56 - .../cell-editing-styling/package.json | 26 +- .../cell-editing-styling/sandbox.config.json | 5 - .../cell-merge-custom-sample/.eslintrc.js | 76 - .../cell-merge-custom-sample/README.md | 50 + .../cell-merge-custom-sample/ReadMe.md | 56 - .../cell-merge-custom-sample/index.html | 12 + .../cell-merge-custom-sample/package.json | 31 +- .../public/index.html | 11 - .../sandbox.config.json | 5 - .../src/react-app-env.d.ts | 1 - .../cell-merge-custom-sample/vite.config.js | 12 + .../hierarchical-grid/cell-merge/.eslintrc.js | 76 - .../hierarchical-grid/cell-merge/README.md | 50 + .../hierarchical-grid/cell-merge/ReadMe.md | 56 - .../hierarchical-grid/cell-merge/index.html | 12 + .../hierarchical-grid/cell-merge/package.json | 31 +- .../cell-merge/public/index.html | 11 - .../cell-merge/sandbox.config.json | 5 - .../cell-merge/src/react-app-env.d.ts | 1 - .../cell-merge/vite.config.js | 12 + .../.devcontainer/devcontainer.json | 4 - .../cell-selection-mode/.eslintrc.js | 78 - .../cell-selection-mode/README.md | 50 + .../cell-selection-mode/ReadMe.md | 56 - .../cell-selection-mode/package.json | 26 +- .../cell-selection-mode/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../cell-selection-overview/.eslintrc.js | 78 - .../cell-selection-overview/README.md | 50 + .../cell-selection-overview/ReadMe.md | 56 - .../cell-selection-overview/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../cell-selection-style/.eslintrc.js | 78 - .../cell-selection-style/README.md | 50 + .../cell-selection-style/ReadMe.md | 56 - .../cell-selection-style/package.json | 26 +- .../cell-selection-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-auto-sizing/.eslintrc.js | 76 - .../column-auto-sizing/README.md | 50 + .../column-auto-sizing/ReadMe.md | 56 - .../column-auto-sizing/package.json | 26 +- .../column-auto-sizing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-collapsible-groups/.eslintrc.js | 78 - .../column-collapsible-groups/README.md | 50 + .../column-collapsible-groups/ReadMe.md | 56 - .../column-collapsible-groups/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-hiding-toolbar-style/.eslintrc.js | 78 - .../column-hiding-toolbar-style/README.md | 50 + .../column-hiding-toolbar-style/ReadMe.md | 56 - .../column-hiding-toolbar-style/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-hiding-toolbar/.eslintrc.js | 78 - .../column-hiding-toolbar/README.md | 50 + .../column-hiding-toolbar/ReadMe.md | 56 - .../column-hiding-toolbar/package.json | 26 +- .../column-hiding-toolbar/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-moving-options/.eslintrc.js | 78 - .../column-moving-options/README.md | 50 + .../column-moving-options/ReadMe.md | 56 - .../column-moving-options/package.json | 26 +- .../column-moving-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-moving-styles/.eslintrc.js | 78 - .../column-moving-styles/README.md | 50 + .../column-moving-styles/ReadMe.md | 56 - .../column-moving-styles/package.json | 26 +- .../column-moving-styles/sandbox.config.json | 5 - .../column-pinning-both-sides/.eslintrc.js | 76 - .../column-pinning-both-sides/README.md | 50 + .../column-pinning-both-sides/ReadMe.md | 56 - .../column-pinning-both-sides/index.html | 12 + .../column-pinning-both-sides/package.json | 31 +- .../public/index.html | 11 - .../sandbox.config.json | 5 - .../src/react-app-env.d.ts | 1 - .../column-pinning-both-sides/vite.config.js | 12 + .../.devcontainer/devcontainer.json | 4 - .../column-pinning-options/.eslintrc.js | 78 - .../column-pinning-options/README.md | 50 + .../column-pinning-options/ReadMe.md | 56 - .../column-pinning-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-pinning-right-side/.eslintrc.js | 78 - .../column-pinning-right-side/README.md | 50 + .../column-pinning-right-side/ReadMe.md | 56 - .../column-pinning-right-side/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-pinning-styles/.eslintrc.js | 78 - .../column-pinning-styles/README.md | 50 + .../column-pinning-styles/ReadMe.md | 56 - .../column-pinning-styles/package.json | 26 +- .../column-pinning-styles/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-pinning/.eslintrc.js | 78 - .../column-pinning/README.md | 50 + .../column-pinning/ReadMe.md | 56 - .../column-pinning/package.json | 26 +- .../column-pinning/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-resize-styling/.eslintrc.js | 78 - .../column-resize-styling/README.md | 50 + .../column-resize-styling/ReadMe.md | 56 - .../column-resize-styling/package.json | 26 +- .../column-resize-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-resizing/.eslintrc.js | 78 - .../column-resizing/README.md | 50 + .../column-resizing/ReadMe.md | 56 - .../column-resizing/package.json | 26 +- .../column-resizing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-selection-group/.eslintrc.js | 78 - .../column-selection-group/README.md | 50 + .../column-selection-group/ReadMe.md | 56 - .../column-selection-group/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-selection-mode/.eslintrc.js | 78 - .../column-selection-mode/README.md | 50 + .../column-selection-mode/ReadMe.md | 56 - .../column-selection-mode/package.json | 26 +- .../column-selection-mode/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-selection-styles/.eslintrc.js | 78 - .../column-selection-styles/README.md | 50 + .../column-selection-styles/ReadMe.md | 56 - .../column-selection-styles/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-sorting-indicators/.eslintrc.js | 78 - .../column-sorting-indicators/README.md | 50 + .../column-sorting-indicators/ReadMe.md | 56 - .../column-sorting-indicators/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-sorting-options/.eslintrc.js | 78 - .../column-sorting-options/README.md | 50 + .../column-sorting-options/ReadMe.md | 56 - .../column-sorting-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-sorting-style/.eslintrc.js | 78 - .../column-sorting-style/README.md | 50 + .../column-sorting-style/ReadMe.md | 56 - .../column-sorting-style/package.json | 26 +- .../column-sorting-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../conditional-cell-style-1/.eslintrc.js | 78 - .../conditional-cell-style-1/README.md | 50 + .../conditional-cell-style-1/ReadMe.md | 56 - .../conditional-cell-style-1/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../conditional-cell-style-2/.eslintrc.js | 78 - .../conditional-cell-style-2/README.md | 50 + .../conditional-cell-style-2/ReadMe.md | 56 - .../conditional-cell-style-2/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../conditional-row-selectors/.eslintrc.js | 78 - .../conditional-row-selectors/README.md | 50 + .../conditional-row-selectors/ReadMe.md | 56 - .../conditional-row-selectors/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../custom-filtering/.eslintrc.js | 78 - .../custom-filtering/README.md | 50 + .../custom-filtering/ReadMe.md | 56 - .../custom-filtering/package.json | 26 +- .../custom-filtering/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-exporting-indicator/.eslintrc.js | 76 - .../data-exporting-indicator/README.md | 50 + .../data-exporting-indicator/ReadMe.md | 56 - .../data-exporting-indicator/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 76 - .../data-performance-virtualization/README.md | 50 + .../data-performance-virtualization/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-summary-formatter/.eslintrc.js | 78 - .../data-summary-formatter/README.md | 50 + .../data-summary-formatter/ReadMe.md | 56 - .../data-summary-formatter/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-summary-options-styling/.eslintrc.js | 78 - .../data-summary-options-styling/README.md | 50 + .../data-summary-options-styling/ReadMe.md | 56 - .../data-summary-options-styling/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-summary-options/.eslintrc.js | 78 - .../data-summary-options/README.md | 50 + .../data-summary-options/ReadMe.md | 56 - .../data-summary-options/package.json | 26 +- .../data-summary-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-summary-template/.eslintrc.js | 78 - .../data-summary-template/README.md | 50 + .../data-summary-template/ReadMe.md | 56 - .../data-summary-template/package.json | 26 +- .../data-summary-template/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../disabled-summaries/.eslintrc.js | 75 - .../disabled-summaries/README.md | 50 + .../disabled-summaries/ReadMe.md | 56 - .../disabled-summaries/package.json | 22 +- .../disabled-summaries/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../editing-columns/.eslintrc.js | 78 - .../editing-columns/README.md | 50 + .../editing-columns/ReadMe.md | 56 - .../editing-columns/package.json | 26 +- .../editing-columns/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../editing-events/.eslintrc.js | 78 - .../editing-events/README.md | 50 + .../editing-events/ReadMe.md | 56 - .../editing-events/package.json | 26 +- .../editing-events/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../editing-lifecycle/.eslintrc.js | 78 - .../editing-lifecycle/README.md | 50 + .../editing-lifecycle/ReadMe.md | 56 - .../editing-lifecycle/package.json | 26 +- .../editing-lifecycle/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../excel-exporting/.eslintrc.js | 78 - .../excel-exporting/README.md | 50 + .../excel-exporting/ReadMe.md | 56 - .../excel-exporting/package.json | 26 +- .../excel-exporting/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../excel-style-filtering-sample-1/README.md | 50 + .../excel-style-filtering-sample-1/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../excel-style-filtering-sample-2/README.md | 50 + .../excel-style-filtering-sample-2/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../excel-style-filtering-sample-3/README.md | 50 + .../excel-style-filtering-sample-3/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../excel-style-filtering-style/.eslintrc.js | 78 - .../excel-style-filtering-style/README.md | 50 + .../excel-style-filtering-style/ReadMe.md | 56 - .../excel-style-filtering-style/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../filtering-options/.eslintrc.js | 78 - .../filtering-options/README.md | 50 + .../filtering-options/ReadMe.md | 56 - .../filtering-options/package.json | 26 +- .../filtering-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../filtering-style/.eslintrc.js | 78 - .../filtering-style/README.md | 50 + .../filtering-style/ReadMe.md | 56 - .../filtering-style/package.json | 26 +- .../filtering-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../hierarchical-grid-options/.eslintrc.js | 78 - .../hierarchical-grid-options/README.md | 50 + .../hierarchical-grid-options/ReadMe.md | 56 - .../hierarchical-grid-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../hierarchical-grid-paging-style/README.md | 50 + .../hierarchical-grid-paging-style/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../hierarchical-grid-styling/.eslintrc.js | 78 - .../hierarchical-grid-styling/README.md | 50 + .../hierarchical-grid-styling/ReadMe.md | 56 - .../hierarchical-grid-styling/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../layout-display-density/.eslintrc.js | 78 - .../layout-display-density/README.md | 50 + .../layout-display-density/ReadMe.md | 56 - .../layout-display-density/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../multi-column-headers-export/.eslintrc.js | 78 - .../multi-column-headers-export/README.md | 50 + .../multi-column-headers-export/ReadMe.md | 56 - .../multi-column-headers-export/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../multi-column-headers-overview/README.md | 50 + .../multi-column-headers-overview/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../multi-column-headers-styling/.eslintrc.js | 78 - .../multi-column-headers-styling/README.md | 50 + .../multi-column-headers-styling/ReadMe.md | 56 - .../multi-column-headers-styling/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../multi-column-headers-template/README.md | 50 + .../multi-column-headers-template/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../hierarchical-grid/overview/.eslintrc.js | 78 - .../hierarchical-grid/overview/README.md | 50 + .../hierarchical-grid/overview/ReadMe.md | 56 - .../hierarchical-grid/overview/package.json | 26 +- .../overview/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../remote-paging-hgrid/.eslintrc.js | 76 - .../remote-paging-hgrid/README.md | 50 + .../remote-paging-hgrid/ReadMe.md | 56 - .../remote-paging-hgrid/package.json | 26 +- .../remote-paging-hgrid/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../hierarchical-grid/row-adding/.eslintrc.js | 78 - .../hierarchical-grid/row-adding/README.md | 50 + .../hierarchical-grid/row-adding/ReadMe.md | 56 - .../hierarchical-grid/row-adding/package.json | 26 +- .../row-adding/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-classes/.eslintrc.js | 78 - .../hierarchical-grid/row-classes/README.md | 50 + .../hierarchical-grid/row-classes/ReadMe.md | 56 - .../row-classes/package.json | 26 +- .../row-classes/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-drag-base/.eslintrc.js | 76 - .../hierarchical-grid/row-drag-base/README.md | 50 + .../hierarchical-grid/row-drag-base/ReadMe.md | 56 - .../row-drag-base/package.json | 26 +- .../row-drag-base/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-editing-options/.eslintrc.js | 78 - .../row-editing-options/README.md | 50 + .../row-editing-options/ReadMe.md | 56 - .../row-editing-options/package.json | 26 +- .../row-editing-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-editing-style/.eslintrc.js | 78 - .../row-editing-style/README.md | 50 + .../row-editing-style/ReadMe.md | 56 - .../row-editing-style/package.json | 26 +- .../row-editing-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-pinning-extra-column/.eslintrc.js | 78 - .../row-pinning-extra-column/README.md | 50 + .../row-pinning-extra-column/ReadMe.md | 56 - .../row-pinning-extra-column/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-pinning-options/.eslintrc.js | 78 - .../row-pinning-options/README.md | 50 + .../row-pinning-options/ReadMe.md | 56 - .../row-pinning-options/package.json | 26 +- .../row-pinning-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-pinning-style/.eslintrc.js | 78 - .../row-pinning-style/README.md | 50 + .../row-pinning-style/ReadMe.md | 56 - .../row-pinning-style/package.json | 26 +- .../row-pinning-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-reorder/.eslintrc.js | 78 - .../hierarchical-grid/row-reorder/README.md | 50 + .../hierarchical-grid/row-reorder/ReadMe.md | 56 - .../row-reorder/package.json | 26 +- .../row-reorder/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-selection-mode/.eslintrc.js | 78 - .../row-selection-mode/README.md | 50 + .../row-selection-mode/ReadMe.md | 56 - .../row-selection-mode/package.json | 26 +- .../row-selection-mode/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../row-selection-template-numbers/README.md | 50 + .../row-selection-template-numbers/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../hierarchical-grid/row-styles/.eslintrc.js | 78 - .../hierarchical-grid/row-styles/README.md | 50 + .../hierarchical-grid/row-styles/ReadMe.md | 56 - .../hierarchical-grid/row-styles/package.json | 26 +- .../row-styles/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../state-persistence-about/.eslintrc.js | 76 - .../state-persistence-about/README.md | 50 + .../state-persistence-about/ReadMe.md | 56 - .../state-persistence-about/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../state-persistence-main/.eslintrc.js | 76 - .../state-persistence-main/README.md | 50 + .../state-persistence-main/ReadMe.md | 56 - .../state-persistence-main/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../toolbar-sample-3/.eslintrc.js | 78 - .../toolbar-sample-3/README.md | 50 + .../toolbar-sample-3/ReadMe.md | 56 - .../toolbar-sample-3/package.json | 26 +- .../toolbar-sample-3/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../toolbar-sample-4/.eslintrc.js | 76 - .../toolbar-sample-4/README.md | 50 + .../toolbar-sample-4/ReadMe.md | 56 - .../toolbar-sample-4/package.json | 26 +- .../toolbar-sample-4/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../toolbar-style/.eslintrc.js | 78 - .../hierarchical-grid/toolbar-style/README.md | 50 + .../hierarchical-grid/toolbar-style/ReadMe.md | 56 - .../toolbar-style/package.json | 26 +- .../toolbar-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/list/add-list-items/.eslintrc.js | 75 - samples/grids/list/add-list-items/README.md | 12 +- .../grids/list/add-list-items/package.json | 24 +- .../list/add-list-items/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/list/list-item-content/.eslintrc.js | 75 - .../grids/list/list-item-content/README.md | 12 +- .../grids/list/list-item-content/package.json | 24 +- .../list-item-content/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/grids/list/overview/.eslintrc.js | 75 - samples/grids/list/overview/README.md | 12 +- samples/grids/list/overview/package.json | 24 +- .../grids/list/overview/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/grids/list/styling/.eslintrc.js | 75 - samples/grids/list/styling/README.md | 12 +- samples/grids/list/styling/package.json | 24 +- .../grids/list/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../aggregate-max-sales/.eslintrc.js | 78 - .../pivot-grid/aggregate-max-sales/README.md | 50 + .../pivot-grid/aggregate-max-sales/ReadMe.md | 56 - .../aggregate-max-sales/package.json | 26 +- .../aggregate-max-sales/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../aggregate-units-sold/.eslintrc.js | 78 - .../pivot-grid/aggregate-units-sold/README.md | 50 + .../pivot-grid/aggregate-units-sold/ReadMe.md | 56 - .../aggregate-units-sold/package.json | 26 +- .../aggregate-units-sold/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../pivot-grid/data-selector/.eslintrc.js | 76 - .../grids/pivot-grid/data-selector/README.md | 50 + .../grids/pivot-grid/data-selector/ReadMe.md | 56 - .../pivot-grid/data-selector/package.json | 26 +- .../data-selector/sandbox.config.json | 5 - .../features/.devcontainer/devcontainer.json | 4 - .../grids/pivot-grid/features/.eslintrc.js | 78 - samples/grids/pivot-grid/features/README.md | 50 + samples/grids/pivot-grid/features/ReadMe.md | 56 - .../grids/pivot-grid/features/package.json | 26 +- .../pivot-grid/features/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../state-persistence-about/.eslintrc.js | 76 - .../state-persistence-about/README.md | 50 + .../state-persistence-about/ReadMe.md | 56 - .../state-persistence-about/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../state-persistence-main/.eslintrc.js | 76 - .../state-persistence-main/README.md | 50 + .../state-persistence-main/ReadMe.md | 56 - .../state-persistence-main/package.json | 26 +- .../sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/grids/pivot-grid/styling/.eslintrc.js | 78 - samples/grids/pivot-grid/styling/README.md | 50 + samples/grids/pivot-grid/styling/ReadMe.md | 56 - samples/grids/pivot-grid/styling/package.json | 26 +- .../pivot-grid/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/tree-grid/action-strip/.eslintrc.js | 78 - .../grids/tree-grid/action-strip/README.md | 50 + .../grids/tree-grid/action-strip/ReadMe.md | 56 - .../grids/tree-grid/action-strip/package.json | 26 +- .../action-strip/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../advanced-filtering-options/.eslintrc.js | 78 - .../advanced-filtering-options/README.md | 50 + .../advanced-filtering-options/ReadMe.md | 56 - .../advanced-filtering-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../advanced-filtering-style/.eslintrc.js | 78 - .../advanced-filtering-style/README.md | 50 + .../advanced-filtering-style/ReadMe.md | 56 - .../advanced-filtering-style/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../cell-editing-sample/.eslintrc.js | 78 - .../tree-grid/cell-editing-sample/README.md | 50 + .../tree-grid/cell-editing-sample/ReadMe.md | 56 - .../cell-editing-sample/package.json | 26 +- .../cell-editing-sample/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../cell-editing-styling/.eslintrc.js | 78 - .../tree-grid/cell-editing-styling/README.md | 50 + .../tree-grid/cell-editing-styling/ReadMe.md | 56 - .../cell-editing-styling/package.json | 26 +- .../cell-editing-styling/sandbox.config.json | 5 - .../cell-merge-custom-sample/.eslintrc.js | 76 - .../cell-merge-custom-sample/README.md | 50 + .../cell-merge-custom-sample/ReadMe.md | 56 - .../cell-merge-custom-sample/index.html | 12 + .../cell-merge-custom-sample/package.json | 31 +- .../public/index.html | 11 - .../sandbox.config.json | 5 - .../src/react-app-env.d.ts | 1 - .../cell-merge-custom-sample/vite.config.js | 12 + .../grids/tree-grid/cell-merge/.eslintrc.js | 76 - samples/grids/tree-grid/cell-merge/README.md | 50 + samples/grids/tree-grid/cell-merge/ReadMe.md | 56 - samples/grids/tree-grid/cell-merge/index.html | 12 + .../grids/tree-grid/cell-merge/package.json | 31 +- .../tree-grid/cell-merge/public/index.html | 11 - .../tree-grid/cell-merge/sandbox.config.json | 5 - .../cell-merge/src/react-app-env.d.ts | 1 - .../grids/tree-grid/cell-merge/vite.config.js | 12 + .../.devcontainer/devcontainer.json | 4 - .../cell-selection-mode/.eslintrc.js | 78 - .../tree-grid/cell-selection-mode/README.md | 50 + .../tree-grid/cell-selection-mode/ReadMe.md | 56 - .../cell-selection-mode/package.json | 26 +- .../cell-selection-mode/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../cell-selection-style/.eslintrc.js | 78 - .../tree-grid/cell-selection-style/README.md | 50 + .../tree-grid/cell-selection-style/ReadMe.md | 56 - .../cell-selection-style/package.json | 26 +- .../cell-selection-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../clipboard-operations/.eslintrc.js | 76 - .../tree-grid/clipboard-operations/README.md | 50 + .../tree-grid/clipboard-operations/ReadMe.md | 56 - .../clipboard-operations/package.json | 26 +- .../clipboard-operations/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/column-auto-sizing/.eslintrc.js | 78 - .../tree-grid/column-auto-sizing/README.md | 50 + .../tree-grid/column-auto-sizing/ReadMe.md | 56 - .../tree-grid/column-auto-sizing/package.json | 26 +- .../column-auto-sizing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-collapsible-groups/.eslintrc.js | 78 - .../column-collapsible-groups/README.md | 50 + .../column-collapsible-groups/ReadMe.md | 56 - .../column-collapsible-groups/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/column-data-types/.eslintrc.js | 76 - .../tree-grid/column-data-types/README.md | 50 + .../tree-grid/column-data-types/ReadMe.md | 56 - .../tree-grid/column-data-types/package.json | 26 +- .../column-data-types/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-hiding-toolbar-style/.eslintrc.js | 78 - .../column-hiding-toolbar-style/README.md | 50 + .../column-hiding-toolbar-style/ReadMe.md | 56 - .../column-hiding-toolbar-style/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-hiding-toolbar/.eslintrc.js | 78 - .../tree-grid/column-hiding-toolbar/README.md | 50 + .../tree-grid/column-hiding-toolbar/ReadMe.md | 56 - .../column-hiding-toolbar/package.json | 26 +- .../column-hiding-toolbar/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-moving-options/.eslintrc.js | 78 - .../tree-grid/column-moving-options/README.md | 50 + .../tree-grid/column-moving-options/ReadMe.md | 56 - .../column-moving-options/package.json | 26 +- .../column-moving-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-moving-styles/.eslintrc.js | 78 - .../tree-grid/column-moving-styles/README.md | 50 + .../tree-grid/column-moving-styles/ReadMe.md | 56 - .../column-moving-styles/package.json | 26 +- .../column-moving-styles/sandbox.config.json | 5 - .../column-pinning-both-sides/.eslintrc.js | 76 - .../column-pinning-both-sides/README.md | 50 + .../column-pinning-both-sides/ReadMe.md | 56 - .../column-pinning-both-sides/index.html | 12 + .../column-pinning-both-sides/package.json | 31 +- .../public/index.html | 11 - .../sandbox.config.json | 5 - .../src/react-app-env.d.ts | 1 - .../column-pinning-both-sides/vite.config.js | 12 + .../.devcontainer/devcontainer.json | 4 - .../column-pinning-options/.eslintrc.js | 78 - .../column-pinning-options/README.md | 50 + .../column-pinning-options/ReadMe.md | 56 - .../column-pinning-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-pinning-right-side/.eslintrc.js | 78 - .../column-pinning-right-side/README.md | 50 + .../column-pinning-right-side/ReadMe.md | 56 - .../column-pinning-right-side/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-pinning-styles/.eslintrc.js | 78 - .../tree-grid/column-pinning-styles/README.md | 50 + .../tree-grid/column-pinning-styles/ReadMe.md | 56 - .../column-pinning-styles/package.json | 26 +- .../column-pinning-styles/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-pinning-toolbar/.eslintrc.js | 78 - .../column-pinning-toolbar/README.md | 50 + .../column-pinning-toolbar/ReadMe.md | 56 - .../column-pinning-toolbar/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/column-pinning/.eslintrc.js | 78 - .../grids/tree-grid/column-pinning/README.md | 50 + .../grids/tree-grid/column-pinning/ReadMe.md | 56 - .../tree-grid/column-pinning/package.json | 26 +- .../column-pinning/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-resize-styling/.eslintrc.js | 78 - .../tree-grid/column-resize-styling/README.md | 50 + .../tree-grid/column-resize-styling/ReadMe.md | 56 - .../column-resize-styling/package.json | 26 +- .../column-resize-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/column-resizing/.eslintrc.js | 78 - .../grids/tree-grid/column-resizing/README.md | 50 + .../grids/tree-grid/column-resizing/ReadMe.md | 56 - .../tree-grid/column-resizing/package.json | 26 +- .../column-resizing/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-selection-group/.eslintrc.js | 78 - .../column-selection-group/README.md | 50 + .../column-selection-group/ReadMe.md | 56 - .../column-selection-group/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-selection-mode/.eslintrc.js | 78 - .../tree-grid/column-selection-mode/README.md | 50 + .../tree-grid/column-selection-mode/ReadMe.md | 56 - .../column-selection-mode/package.json | 26 +- .../column-selection-mode/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-selection-style/.eslintrc.js | 76 - .../column-selection-style/README.md | 50 + .../column-selection-style/ReadMe.md | 56 - .../column-selection-style/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-selection-styles/.eslintrc.js | 78 - .../column-selection-styles/README.md | 50 + .../column-selection-styles/ReadMe.md | 56 - .../column-selection-styles/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-sorting-indicators/.eslintrc.js | 78 - .../column-sorting-indicators/README.md | 50 + .../column-sorting-indicators/ReadMe.md | 56 - .../column-sorting-indicators/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-sorting-options/.eslintrc.js | 78 - .../column-sorting-options/README.md | 50 + .../column-sorting-options/ReadMe.md | 56 - .../column-sorting-options/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../column-sorting-style/.eslintrc.js | 78 - .../tree-grid/column-sorting-style/README.md | 50 + .../tree-grid/column-sorting-style/ReadMe.md | 56 - .../column-sorting-style/package.json | 26 +- .../column-sorting-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../conditional-cell-style-1/.eslintrc.js | 78 - .../conditional-cell-style-1/README.md | 50 + .../conditional-cell-style-1/ReadMe.md | 56 - .../conditional-cell-style-1/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../conditional-cell-style-2/.eslintrc.js | 78 - .../conditional-cell-style-2/README.md | 50 + .../conditional-cell-style-2/ReadMe.md | 56 - .../conditional-cell-style-2/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../conditional-row-selectors/.eslintrc.js | 78 - .../conditional-row-selectors/README.md | 50 + .../conditional-row-selectors/ReadMe.md | 56 - .../conditional-row-selectors/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-exporting-indicator/.eslintrc.js | 76 - .../data-exporting-indicator/README.md | 50 + .../data-exporting-indicator/ReadMe.md | 56 - .../data-exporting-indicator/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/data-searching/.eslintrc.js | 76 - .../grids/tree-grid/data-searching/README.md | 50 + .../grids/tree-grid/data-searching/ReadMe.md | 56 - .../tree-grid/data-searching/package.json | 22 +- .../data-searching/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-summary-children/.eslintrc.js | 78 - .../tree-grid/data-summary-children/README.md | 50 + .../tree-grid/data-summary-children/ReadMe.md | 56 - .../data-summary-children/package.json | 26 +- .../data-summary-children/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-summary-formatter/.eslintrc.js | 78 - .../data-summary-formatter/README.md | 50 + .../data-summary-formatter/ReadMe.md | 56 - .../data-summary-formatter/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-summary-options-styling/.eslintrc.js | 78 - .../data-summary-options-styling/README.md | 50 + .../data-summary-options-styling/ReadMe.md | 56 - .../data-summary-options-styling/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-summary-options/.eslintrc.js | 78 - .../tree-grid/data-summary-options/README.md | 50 + .../tree-grid/data-summary-options/ReadMe.md | 56 - .../data-summary-options/package.json | 26 +- .../data-summary-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../data-summary-template/.eslintrc.js | 78 - .../tree-grid/data-summary-template/README.md | 50 + .../tree-grid/data-summary-template/ReadMe.md | 56 - .../data-summary-template/package.json | 26 +- .../data-summary-template/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/disabled-summaries/.eslintrc.js | 75 - .../tree-grid/disabled-summaries/README.md | 50 + .../tree-grid/disabled-summaries/ReadMe.md | 56 - .../tree-grid/disabled-summaries/package.json | 22 +- .../disabled-summaries/sandbox.config.json | 5 - .../disabled-summaries/src/index.tsx | 1 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/editing-columns/.eslintrc.js | 78 - .../grids/tree-grid/editing-columns/README.md | 50 + .../grids/tree-grid/editing-columns/ReadMe.md | 56 - .../tree-grid/editing-columns/package.json | 26 +- .../editing-columns/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/editing-events/.eslintrc.js | 78 - .../grids/tree-grid/editing-events/README.md | 50 + .../grids/tree-grid/editing-events/ReadMe.md | 56 - .../tree-grid/editing-events/package.json | 26 +- .../editing-events/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/editing-lifecycle/.eslintrc.js | 78 - .../tree-grid/editing-lifecycle/README.md | 50 + .../tree-grid/editing-lifecycle/ReadMe.md | 56 - .../tree-grid/editing-lifecycle/package.json | 26 +- .../editing-lifecycle/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/excel-exporting/.eslintrc.js | 78 - .../grids/tree-grid/excel-exporting/README.md | 50 + .../grids/tree-grid/excel-exporting/ReadMe.md | 56 - .../tree-grid/excel-exporting/package.json | 26 +- .../excel-exporting/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../excel-style-filtering-sample-1/README.md | 50 + .../excel-style-filtering-sample-1/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../excel-style-filtering-sample-2/README.md | 50 + .../excel-style-filtering-sample-2/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../excel-style-filtering-sample-3/README.md | 50 + .../excel-style-filtering-sample-3/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../excel-style-filtering-style/.eslintrc.js | 78 - .../excel-style-filtering-style/README.md | 50 + .../excel-style-filtering-style/ReadMe.md | 56 - .../excel-style-filtering-style/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/filtering-options/.eslintrc.js | 78 - .../tree-grid/filtering-options/README.md | 50 + .../tree-grid/filtering-options/ReadMe.md | 56 - .../tree-grid/filtering-options/package.json | 26 +- .../filtering-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/filtering-style/.eslintrc.js | 78 - .../grids/tree-grid/filtering-style/README.md | 50 + .../grids/tree-grid/filtering-style/ReadMe.md | 56 - .../tree-grid/filtering-style/package.json | 26 +- .../filtering-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../keyboard-custom-navigation/.eslintrc.js | 78 - .../keyboard-custom-navigation/README.md | 50 + .../keyboard-custom-navigation/ReadMe.md | 56 - .../keyboard-custom-navigation/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../layout-display-density/.eslintrc.js | 78 - .../layout-display-density/README.md | 50 + .../layout-display-density/ReadMe.md | 56 - .../layout-display-density/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../multi-cell-selection-mode/.eslintrc.js | 76 - .../multi-cell-selection-mode/README.md | 50 + .../multi-cell-selection-mode/ReadMe.md | 56 - .../multi-cell-selection-mode/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../multi-column-headers-export/.eslintrc.js | 78 - .../multi-column-headers-export/README.md | 50 + .../multi-column-headers-export/ReadMe.md | 56 - .../multi-column-headers-export/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../multi-column-headers-overview/README.md | 50 + .../multi-column-headers-overview/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../multi-column-headers-styling/.eslintrc.js | 78 - .../multi-column-headers-styling/README.md | 50 + .../multi-column-headers-styling/ReadMe.md | 56 - .../multi-column-headers-styling/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../multi-column-headers-template/README.md | 50 + .../multi-column-headers-template/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/overview-styling/.eslintrc.js | 78 - .../tree-grid/overview-styling/README.md | 50 + .../tree-grid/overview-styling/ReadMe.md | 56 - .../tree-grid/overview-styling/package.json | 26 +- .../overview-styling/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/grids/tree-grid/overview/.eslintrc.js | 78 - samples/grids/tree-grid/overview/README.md | 50 + samples/grids/tree-grid/overview/ReadMe.md | 56 - samples/grids/tree-grid/overview/package.json | 26 +- .../tree-grid/overview/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/tree-grid/row-adding/.eslintrc.js | 78 - samples/grids/tree-grid/row-adding/README.md | 50 + samples/grids/tree-grid/row-adding/ReadMe.md | 56 - .../grids/tree-grid/row-adding/package.json | 26 +- .../tree-grid/row-adding/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/tree-grid/row-classes/.eslintrc.js | 78 - samples/grids/tree-grid/row-classes/README.md | 50 + samples/grids/tree-grid/row-classes/ReadMe.md | 56 - .../grids/tree-grid/row-classes/package.json | 26 +- .../tree-grid/row-classes/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/row-drag-base/.eslintrc.js | 76 - .../grids/tree-grid/row-drag-base/README.md | 50 + .../grids/tree-grid/row-drag-base/ReadMe.md | 56 - .../tree-grid/row-drag-base/package.json | 26 +- .../row-drag-base/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-editing-options/.eslintrc.js | 78 - .../tree-grid/row-editing-options/README.md | 50 + .../tree-grid/row-editing-options/ReadMe.md | 56 - .../row-editing-options/package.json | 26 +- .../row-editing-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/row-editing-style/.eslintrc.js | 78 - .../tree-grid/row-editing-style/README.md | 50 + .../tree-grid/row-editing-style/ReadMe.md | 56 - .../tree-grid/row-editing-style/package.json | 26 +- .../row-editing-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/row-paging-basic/.eslintrc.js | 78 - .../tree-grid/row-paging-basic/README.md | 50 + .../tree-grid/row-paging-basic/ReadMe.md | 56 - .../tree-grid/row-paging-basic/package.json | 26 +- .../row-paging-basic/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/row-paging-options/.eslintrc.js | 78 - .../tree-grid/row-paging-options/README.md | 50 + .../tree-grid/row-paging-options/ReadMe.md | 56 - .../tree-grid/row-paging-options/package.json | 26 +- .../row-paging-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/row-paging-style/.eslintrc.js | 78 - .../tree-grid/row-paging-style/README.md | 50 + .../tree-grid/row-paging-style/ReadMe.md | 56 - .../tree-grid/row-paging-style/package.json | 26 +- .../row-paging-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-pinning-extra-column/.eslintrc.js | 78 - .../row-pinning-extra-column/README.md | 50 + .../row-pinning-extra-column/ReadMe.md | 56 - .../row-pinning-extra-column/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-pinning-options/.eslintrc.js | 78 - .../tree-grid/row-pinning-options/README.md | 50 + .../tree-grid/row-pinning-options/ReadMe.md | 56 - .../row-pinning-options/package.json | 26 +- .../row-pinning-options/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/row-pinning-style/.eslintrc.js | 78 - .../tree-grid/row-pinning-style/README.md | 50 + .../tree-grid/row-pinning-style/ReadMe.md | 56 - .../tree-grid/row-pinning-style/package.json | 26 +- .../row-pinning-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/tree-grid/row-reorder/.eslintrc.js | 78 - samples/grids/tree-grid/row-reorder/README.md | 50 + samples/grids/tree-grid/row-reorder/ReadMe.md | 56 - .../grids/tree-grid/row-reorder/package.json | 26 +- .../tree-grid/row-reorder/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/row-selection-mode/.eslintrc.js | 78 - .../tree-grid/row-selection-mode/README.md | 50 + .../tree-grid/row-selection-mode/ReadMe.md | 56 - .../tree-grid/row-selection-mode/package.json | 26 +- .../row-selection-mode/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../row-selection-template-excel/.eslintrc.js | 78 - .../row-selection-template-excel/README.md | 50 + .../row-selection-template-excel/ReadMe.md | 56 - .../row-selection-template-excel/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../.eslintrc.js | 78 - .../row-selection-template-numbers/README.md | 50 + .../row-selection-template-numbers/ReadMe.md | 56 - .../package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../grids/tree-grid/row-styles/.eslintrc.js | 78 - samples/grids/tree-grid/row-styles/README.md | 50 + samples/grids/tree-grid/row-styles/ReadMe.md | 56 - .../grids/tree-grid/row-styles/package.json | 26 +- .../tree-grid/row-styles/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../state-persistence-about/.eslintrc.js | 76 - .../state-persistence-about/README.md | 50 + .../state-persistence-about/ReadMe.md | 56 - .../state-persistence-about/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../state-persistence-main/.eslintrc.js | 76 - .../state-persistence-main/README.md | 50 + .../state-persistence-main/ReadMe.md | 56 - .../state-persistence-main/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/toolbar-sample-1/.eslintrc.js | 78 - .../tree-grid/toolbar-sample-1/README.md | 50 + .../tree-grid/toolbar-sample-1/ReadMe.md | 56 - .../tree-grid/toolbar-sample-1/package.json | 26 +- .../toolbar-sample-1/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/toolbar-sample-2/.eslintrc.js | 76 - .../tree-grid/toolbar-sample-2/README.md | 50 + .../tree-grid/toolbar-sample-2/ReadMe.md | 56 - .../tree-grid/toolbar-sample-2/package.json | 26 +- .../toolbar-sample-2/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/toolbar-sample-3/.eslintrc.js | 78 - .../tree-grid/toolbar-sample-3/README.md | 50 + .../tree-grid/toolbar-sample-3/ReadMe.md | 56 - .../tree-grid/toolbar-sample-3/package.json | 26 +- .../toolbar-sample-3/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/toolbar-sample-4/.eslintrc.js | 76 - .../tree-grid/toolbar-sample-4/README.md | 50 + .../tree-grid/toolbar-sample-4/ReadMe.md | 56 - .../tree-grid/toolbar-sample-4/package.json | 26 +- .../toolbar-sample-4/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tree-grid/toolbar-style/.eslintrc.js | 78 - .../grids/tree-grid/toolbar-style/README.md | 50 + .../grids/tree-grid/toolbar-style/ReadMe.md | 56 - .../tree-grid/toolbar-style/package.json | 26 +- .../toolbar-style/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../using-primary-foreign-keys/.eslintrc.js | 78 - .../using-primary-foreign-keys/README.md | 50 + .../using-primary-foreign-keys/ReadMe.md | 56 - .../using-primary-foreign-keys/package.json | 26 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/grids/tree/basic-example/.eslintrc.js | 75 - samples/grids/tree/basic-example/README.md | 12 +- samples/grids/tree/basic-example/package.json | 24 +- .../tree/basic-example/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/grids/tree/styling/.eslintrc.js | 75 - samples/grids/tree/styling/README.md | 12 +- samples/grids/tree/styling/package.json | 24 +- .../grids/tree/styling/sandbox.config.json | 5 - .../badge/dot/.devcontainer/devcontainer.json | 4 - samples/inputs/badge/dot/.eslintrc.js | 75 - samples/inputs/badge/dot/README.md | 12 +- samples/inputs/badge/dot/package.json | 26 +- samples/inputs/badge/dot/sandbox.config.json | 5 - .../icon/.devcontainer/devcontainer.json | 4 - samples/inputs/badge/icon/.eslintrc.js | 75 - samples/inputs/badge/icon/README.md | 12 +- samples/inputs/badge/icon/package.json | 26 +- samples/inputs/badge/icon/sandbox.config.json | 5 - .../outlined/.devcontainer/devcontainer.json | 4 - samples/inputs/badge/outlined/.eslintrc.js | 75 - samples/inputs/badge/outlined/README.md | 12 +- samples/inputs/badge/outlined/package.json | 26 +- .../inputs/badge/outlined/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/badge/overview/.eslintrc.js | 75 - samples/inputs/badge/overview/README.md | 12 +- samples/inputs/badge/overview/package.json | 26 +- .../inputs/badge/overview/sandbox.config.json | 5 - .../shape/.devcontainer/devcontainer.json | 4 - samples/inputs/badge/shape/.eslintrc.js | 75 - samples/inputs/badge/shape/README.md | 12 +- samples/inputs/badge/shape/package.json | 26 +- .../inputs/badge/shape/sandbox.config.json | 5 - .../size/.devcontainer/devcontainer.json | 4 - samples/inputs/badge/size/.eslintrc.js | 25 - samples/inputs/badge/size/README.md | 12 +- samples/inputs/badge/size/package.json | 26 +- samples/inputs/badge/size/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/badge/styling/.eslintrc.js | 75 - samples/inputs/badge/styling/README.md | 12 +- samples/inputs/badge/styling/package.json | 26 +- .../inputs/badge/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../badge/tailwind-styling/.eslintrc.js | 75 - .../inputs/badge/tailwind-styling/README.md | 12 +- .../badge/tailwind-styling/package.json | 26 +- .../tailwind-styling/sandbox.config.json | 5 - .../type/.devcontainer/devcontainer.json | 4 - samples/inputs/badge/type/.eslintrc.js | 11 - samples/inputs/badge/type/README.md | 12 +- samples/inputs/badge/type/package.json | 33 +- samples/inputs/badge/type/sandbox.config.json | 5 - .../variants/.devcontainer/devcontainer.json | 4 - samples/inputs/badge/variants/.eslintrc.js | 75 - samples/inputs/badge/variants/README.md | 12 +- samples/inputs/badge/variants/package.json | 26 +- .../inputs/badge/variants/sandbox.config.json | 5 - .../alignment/.devcontainer/devcontainer.json | 4 - .../button-group/alignment/.eslintrc.js | 75 - .../inputs/button-group/alignment/README.md | 12 +- .../button-group/alignment/package.json | 26 +- .../alignment/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../button-group/custom-toggle/README.md | 12 +- .../button-group/custom-toggle/package.json | 38 +- .../custom-toggle/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../interaction-states/.eslintrc.js | 75 - .../button-group/interaction-states/README.md | 12 +- .../interaction-states/package.json | 26 +- .../interaction-states/sandbox.config.json | 5 - .../layout/.devcontainer/devcontainer.json | 4 - samples/inputs/button-group/layout/README.md | 12 +- .../inputs/button-group/layout/package.json | 38 +- .../button-group/layout/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../inputs/button-group/overview/.eslintrc.js | 75 - .../inputs/button-group/overview/README.md | 12 +- .../inputs/button-group/overview/package.json | 26 +- .../button-group/overview/sandbox.config.json | 5 - .../selection/.devcontainer/devcontainer.json | 4 - .../button-group/selection/.eslintrc.js | 75 - .../inputs/button-group/selection/README.md | 12 +- .../button-group/selection/package.json | 26 +- .../selection/sandbox.config.json | 5 - .../size/.devcontainer/devcontainer.json | 4 - samples/inputs/button-group/size/.eslintrc.js | 75 - samples/inputs/button-group/size/README.md | 12 +- samples/inputs/button-group/size/package.json | 26 +- .../button-group/size/sandbox.config.json | 5 - .../states/.devcontainer/devcontainer.json | 4 - .../inputs/button-group/states/.eslintrc.js | 75 - samples/inputs/button-group/states/README.md | 12 +- .../inputs/button-group/states/package.json | 26 +- .../button-group/states/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - .../inputs/button-group/styling/.eslintrc.js | 75 - samples/inputs/button-group/styling/README.md | 12 +- .../inputs/button-group/styling/package.json | 26 +- .../button-group/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../tailwind-styling/.eslintrc.js | 75 - .../button-group/tailwind-styling/README.md | 12 +- .../tailwind-styling/package.json | 26 +- .../tailwind-styling/sandbox.config.json | 5 - .../contained/.devcontainer/devcontainer.json | 4 - samples/inputs/button/contained/.eslintrc.js | 75 - samples/inputs/button/contained/README.md | 12 +- samples/inputs/button/contained/package.json | 26 +- .../button/contained/sandbox.config.json | 5 - .../download/.devcontainer/devcontainer.json | 4 - samples/inputs/button/download/.eslintrc.js | 75 - samples/inputs/button/download/README.md | 12 +- samples/inputs/button/download/package.json | 26 +- .../button/download/sandbox.config.json | 5 - samples/inputs/button/download/src/index.tsx | 24 +- samples/inputs/button/download/tsconfig.json | 46 +- .../fab/.devcontainer/devcontainer.json | 4 - samples/inputs/button/fab/.eslintrc.js | 75 - samples/inputs/button/fab/README.md | 12 +- samples/inputs/button/fab/package.json | 26 +- samples/inputs/button/fab/sandbox.config.json | 5 - .../flat/.devcontainer/devcontainer.json | 4 - samples/inputs/button/flat/.eslintrc.js | 75 - samples/inputs/button/flat/README.md | 12 +- samples/inputs/button/flat/package.json | 26 +- .../inputs/button/flat/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../button/interaction-states/.eslintrc.js | 75 - .../button/interaction-states/README.md | 12 +- .../button/interaction-states/package.json | 26 +- .../interaction-states/sandbox.config.json | 5 - .../layout/.devcontainer/devcontainer.json | 4 - samples/inputs/button/layout/.eslintrc.js | 10 - samples/inputs/button/layout/README.md | 12 +- samples/inputs/button/layout/package.json | 33 +- .../inputs/button/layout/sandbox.config.json | 5 - .../outlined/.devcontainer/devcontainer.json | 4 - samples/inputs/button/outlined/.eslintrc.js | 75 - samples/inputs/button/outlined/README.md | 12 +- samples/inputs/button/outlined/package.json | 26 +- .../button/outlined/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/button/overview/.eslintrc.js | 75 - samples/inputs/button/overview/README.md | 12 +- samples/inputs/button/overview/package.json | 26 +- .../button/overview/sandbox.config.json | 5 - .../size/.devcontainer/devcontainer.json | 4 - samples/inputs/button/size/.eslintrc.js | 75 - samples/inputs/button/size/README.md | 12 +- samples/inputs/button/size/package.json | 26 +- .../inputs/button/size/sandbox.config.json | 5 - .../states/.devcontainer/devcontainer.json | 4 - samples/inputs/button/states/.eslintrc.js | 75 - samples/inputs/button/states/README.md | 12 +- samples/inputs/button/states/package.json | 26 +- .../inputs/button/states/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/button/styling/.eslintrc.js | 75 - samples/inputs/button/styling/README.md | 12 +- samples/inputs/button/styling/package.json | 26 +- .../inputs/button/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../button/tailwind-styling/.eslintrc.js | 31 - .../inputs/button/tailwind-styling/README.md | 12 +- .../button/tailwind-styling/package.json | 26 +- .../tailwind-styling/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/checkbox/overview/.eslintrc.js | 75 - samples/inputs/checkbox/overview/README.md | 12 +- samples/inputs/checkbox/overview/package.json | 26 +- .../checkbox/overview/sandbox.config.json | 5 - .../inputs/checkbox/overview/src/index.tsx | 8 +- .../inputs/checkbox/overview/tsconfig.json | 46 +- .../states/.devcontainer/devcontainer.json | 4 - samples/inputs/checkbox/states/.eslintrc.js | 75 - samples/inputs/checkbox/states/README.md | 12 +- samples/inputs/checkbox/states/package.json | 26 +- .../checkbox/states/sandbox.config.json | 5 - samples/inputs/checkbox/states/src/index.tsx | 73 +- samples/inputs/checkbox/states/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/checkbox/styling/.eslintrc.js | 75 - samples/inputs/checkbox/styling/README.md | 12 +- samples/inputs/checkbox/styling/package.json | 26 +- .../checkbox/styling/sandbox.config.json | 5 - samples/inputs/checkbox/styling/src/index.tsx | 8 +- samples/inputs/checkbox/styling/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../checkbox/tailwind-styling/.eslintrc.js | 75 - .../checkbox/tailwind-styling/README.md | 12 +- .../checkbox/tailwind-styling/package.json | 26 +- .../tailwind-styling/sandbox.config.json | 5 - .../checkbox/tailwind-styling/src/index.tsx | 6 +- .../checkbox/tailwind-styling/tsconfig.json | 46 +- .../multiple/.devcontainer/devcontainer.json | 4 - samples/inputs/chip/multiple/.eslintrc.js | 75 - samples/inputs/chip/multiple/README.md | 12 +- samples/inputs/chip/multiple/package.json | 26 +- .../inputs/chip/multiple/sandbox.config.json | 5 - samples/inputs/chip/multiple/src/index.tsx | 89 +- samples/inputs/chip/multiple/tsconfig.json | 46 +- .../outlined/.devcontainer/devcontainer.json | 4 - samples/inputs/chip/outlined/.eslintrc.js | 75 - samples/inputs/chip/outlined/README.md | 12 +- samples/inputs/chip/outlined/package.json | 26 +- .../inputs/chip/outlined/sandbox.config.json | 5 - samples/inputs/chip/outlined/src/index.tsx | 59 +- samples/inputs/chip/outlined/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/chip/overview/.eslintrc.js | 75 - samples/inputs/chip/overview/README.md | 12 +- samples/inputs/chip/overview/package.json | 26 +- .../inputs/chip/overview/sandbox.config.json | 5 - samples/inputs/chip/overview/src/index.tsx | 29 +- samples/inputs/chip/overview/tsconfig.json | 46 +- .../chip/size/.devcontainer/devcontainer.json | 4 - samples/inputs/chip/size/.eslintrc.js | 75 - samples/inputs/chip/size/README.md | 12 +- samples/inputs/chip/size/package.json | 26 +- samples/inputs/chip/size/sandbox.config.json | 5 - samples/inputs/chip/size/src/index.tsx | 41 +- samples/inputs/chip/size/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/chip/styling/.eslintrc.js | 75 - samples/inputs/chip/styling/README.md | 12 +- samples/inputs/chip/styling/package.json | 26 +- .../inputs/chip/styling/sandbox.config.json | 5 - samples/inputs/chip/styling/src/index.tsx | 29 +- samples/inputs/chip/styling/tsconfig.json | 46 +- .../variants/.devcontainer/devcontainer.json | 4 - samples/inputs/chip/variants/.eslintrc.js | 75 - samples/inputs/chip/variants/README.md | 12 +- samples/inputs/chip/variants/package.json | 26 +- .../inputs/chip/variants/sandbox.config.json | 5 - samples/inputs/chip/variants/src/index.tsx | 53 +- samples/inputs/chip/variants/tsconfig.json | 46 +- .../dynamic/.devcontainer/devcontainer.json | 4 - .../dynamic/.eslintrc.js | 75 - .../dynamic/README.md | 12 +- .../dynamic/package.json | 26 +- .../dynamic/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../indeterminate/.eslintrc.js | 75 - .../indeterminate/README.md | 12 +- .../indeterminate/package.json | 26 +- .../indeterminate/sandbox.config.json | 5 - .../indeterminate/src/index.tsx | 28 +- .../indeterminate/tsconfig.json | 46 +- .../simple/.devcontainer/devcontainer.json | 4 - .../simple/.eslintrc.js | 75 - .../simple/README.md | 12 +- .../simple/package.json | 26 +- .../simple/sandbox.config.json | 5 - .../simple/src/index.tsx | 28 +- .../simple/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - .../styling/.eslintrc.js | 75 - .../styling/README.md | 12 +- .../styling/package.json | 26 +- .../styling/sandbox.config.json | 5 - .../styling/src/index.tsx | 28 +- .../styling/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - .../inputs/color-editor/overview/.eslintrc.js | 78 - .../inputs/color-editor/overview/README.md | 50 + .../inputs/color-editor/overview/ReadMe.md | 56 - .../inputs/color-editor/overview/package.json | 24 +- .../color-editor/overview/sandbox.config.json | 5 - .../alpha/.devcontainer/devcontainer.json | 4 - .../inputs/color-picker/alpha/.eslintrc.js | 75 - samples/inputs/color-picker/alpha/README.md | 12 +- .../inputs/color-picker/alpha/package.json | 33 +- .../color-picker/alpha/sandbox.config.json | 5 - .../inputs/color-picker/alpha/src/index.tsx | 2 +- .../inputs/color-picker/alpha/tsconfig.json | 37 +- .../format/.devcontainer/devcontainer.json | 4 - .../inputs/color-picker/format/.eslintrc.js | 75 - samples/inputs/color-picker/format/README.md | 12 +- .../inputs/color-picker/format/package.json | 33 +- .../color-picker/format/sandbox.config.json | 5 - .../inputs/color-picker/format/src/index.tsx | 2 +- .../inputs/color-picker/format/tsconfig.json | 37 +- .../.devcontainer/devcontainer.json | 4 - .../color-picker/input-sizes/.eslintrc.js | 75 - .../inputs/color-picker/input-sizes/README.md | 12 +- .../color-picker/input-sizes/package.json | 33 +- .../input-sizes/sandbox.config.json | 5 - .../color-picker/input-sizes/src/index.tsx | 2 +- .../color-picker/input-sizes/tsconfig.json | 37 +- .../input/.devcontainer/devcontainer.json | 4 - .../inputs/color-picker/input/.eslintrc.js | 75 - samples/inputs/color-picker/input/README.md | 12 +- .../inputs/color-picker/input/package.json | 33 +- .../color-picker/input/sandbox.config.json | 5 - .../inputs/color-picker/input/src/index.tsx | 2 +- .../inputs/color-picker/input/tsconfig.json | 37 +- .../overview/.devcontainer/devcontainer.json | 4 - .../inputs/color-picker/overview/.eslintrc.js | 75 - .../inputs/color-picker/overview/README.md | 12 +- .../inputs/color-picker/overview/package.json | 33 +- .../color-picker/overview/sandbox.config.json | 5 - .../color-picker/overview/src/index.tsx | 2 +- .../color-picker/overview/tsconfig.json | 37 +- .../sizes/.devcontainer/devcontainer.json | 4 - .../inputs/color-picker/sizes/.eslintrc.js | 75 - samples/inputs/color-picker/sizes/README.md | 12 +- .../inputs/color-picker/sizes/package.json | 33 +- .../color-picker/sizes/sandbox.config.json | 5 - .../inputs/color-picker/sizes/src/index.tsx | 2 +- .../inputs/color-picker/sizes/tsconfig.json | 37 +- .../states/.devcontainer/devcontainer.json | 4 - .../inputs/color-picker/states/.eslintrc.js | 75 - samples/inputs/color-picker/states/README.md | 12 +- .../inputs/color-picker/states/package.json | 33 +- .../color-picker/states/sandbox.config.json | 5 - .../inputs/color-picker/states/src/index.tsx | 2 +- .../inputs/color-picker/states/tsconfig.json | 37 +- .../styling/.devcontainer/devcontainer.json | 4 - .../inputs/color-picker/styling/.eslintrc.js | 75 - samples/inputs/color-picker/styling/README.md | 12 +- .../inputs/color-picker/styling/package.json | 33 +- .../color-picker/styling/sandbox.config.json | 5 - .../inputs/color-picker/styling/src/index.tsx | 2 +- .../inputs/color-picker/styling/tsconfig.json | 37 +- .../swatches/.devcontainer/devcontainer.json | 4 - .../inputs/color-picker/swatches/.eslintrc.js | 75 - .../inputs/color-picker/swatches/README.md | 12 +- .../inputs/color-picker/swatches/package.json | 33 +- .../color-picker/swatches/sandbox.config.json | 5 - .../color-picker/swatches/src/index.tsx | 2 +- .../color-picker/swatches/tsconfig.json | 37 +- .../.devcontainer/devcontainer.json | 4 - .../tailwind-styling/.eslintrc.js | 75 - .../color-picker/tailwind-styling/README.md | 12 +- .../tailwind-styling/package.json | 35 +- .../tailwind-styling/sandbox.config.json | 5 - .../tailwind-styling/src/index.tsx | 2 +- .../tailwind-styling/tsconfig.json | 37 +- .../value/.devcontainer/devcontainer.json | 4 - .../inputs/color-picker/value/.eslintrc.js | 75 - samples/inputs/color-picker/value/README.md | 12 +- .../inputs/color-picker/value/package.json | 33 +- .../color-picker/value/sandbox.config.json | 5 - .../inputs/color-picker/value/src/index.tsx | 2 +- .../inputs/color-picker/value/tsconfig.json | 37 +- .../features/.devcontainer/devcontainer.json | 4 - samples/inputs/combo/features/.eslintrc.js | 75 - samples/inputs/combo/features/README.md | 12 +- samples/inputs/combo/features/package.json | 26 +- .../inputs/combo/features/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/combo/overview/.eslintrc.js | 75 - samples/inputs/combo/overview/README.md | 12 +- samples/inputs/combo/overview/package.json | 26 +- .../inputs/combo/overview/sandbox.config.json | 5 - .../selection/.devcontainer/devcontainer.json | 4 - samples/inputs/combo/selection/.eslintrc.js | 75 - samples/inputs/combo/selection/README.md | 12 +- samples/inputs/combo/selection/package.json | 26 +- .../combo/selection/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/inputs/combo/simplified/.eslintrc.js | 75 - samples/inputs/combo/simplified/README.md | 12 +- samples/inputs/combo/simplified/package.json | 26 +- .../combo/simplified/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/combo/styling/.eslintrc.js | 75 - samples/inputs/combo/styling/README.md | 12 +- samples/inputs/combo/styling/package.json | 26 +- .../inputs/combo/styling/sandbox.config.json | 5 - .../templates/.devcontainer/devcontainer.json | 4 - samples/inputs/combo/templates/.eslintrc.js | 75 - samples/inputs/combo/templates/README.md | 12 +- samples/inputs/combo/templates/package.json | 26 +- .../combo/templates/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../input-format-display-format/.eslintrc.js | 75 - .../input-format-display-format/README.md | 12 +- .../input-format-display-format/package.json | 28 +- .../sandbox.config.json | 5 - .../input-format-display-format/src/index.tsx | 57 +- .../input-format-display-format/tsconfig.json | 44 +- .../.devcontainer/devcontainer.json | 4 - .../min-max-value/.eslintrc.js | 75 - .../date-time-input/min-max-value/README.md | 12 +- .../min-max-value/package.json | 28 +- .../min-max-value/sandbox.config.json | 5 - .../min-max-value/src/index.tsx | 59 +- .../min-max-value/tsconfig.json | 44 +- .../overview/.devcontainer/devcontainer.json | 4 - .../date-time-input/overview/.eslintrc.js | 75 - .../inputs/date-time-input/overview/README.md | 12 +- .../date-time-input/overview/package.json | 28 +- .../overview/sandbox.config.json | 5 - .../date-time-input/overview/src/index.tsx | 58 +- .../date-time-input/overview/tsconfig.json | 44 +- .../.devcontainer/devcontainer.json | 4 - .../date-time-input/step-up-down/.eslintrc.js | 75 - .../date-time-input/step-up-down/README.md | 12 +- .../date-time-input/step-up-down/package.json | 28 +- .../step-up-down/sandbox.config.json | 5 - .../step-up-down/src/index.tsx | 58 +- .../step-up-down/tsconfig.json | 44 +- .../styling/.devcontainer/devcontainer.json | 4 - .../date-time-input/styling/.eslintrc.js | 75 - .../inputs/date-time-input/styling/README.md | 12 +- .../date-time-input/styling/package.json | 28 +- .../styling/sandbox.config.json | 5 - .../date-time-input/styling/src/index.tsx | 58 +- .../date-time-input/styling/tsconfig.json | 44 +- .../group/.devcontainer/devcontainer.json | 4 - samples/inputs/dropdown/group/.eslintrc.js | 75 - samples/inputs/dropdown/group/README.md | 12 +- samples/inputs/dropdown/group/package.json | 26 +- .../inputs/dropdown/group/sandbox.config.json | 5 - samples/inputs/dropdown/group/src/index.tsx | 131 +- samples/inputs/dropdown/group/tsconfig.json | 46 +- .../header/.devcontainer/devcontainer.json | 4 - samples/inputs/dropdown/header/.eslintrc.js | 75 - samples/inputs/dropdown/header/README.md | 12 +- samples/inputs/dropdown/header/package.json | 26 +- .../dropdown/header/sandbox.config.json | 5 - samples/inputs/dropdown/header/src/index.tsx | 79 +- samples/inputs/dropdown/header/tsconfig.json | 46 +- .../item/.devcontainer/devcontainer.json | 4 - samples/inputs/dropdown/item/.eslintrc.js | 75 - samples/inputs/dropdown/item/README.md | 12 +- samples/inputs/dropdown/item/package.json | 26 +- .../inputs/dropdown/item/sandbox.config.json | 5 - samples/inputs/dropdown/item/src/index.tsx | 77 +- samples/inputs/dropdown/item/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/dropdown/overview/.eslintrc.js | 75 - samples/inputs/dropdown/overview/README.md | 12 +- samples/inputs/dropdown/overview/package.json | 26 +- .../dropdown/overview/sandbox.config.json | 5 - .../inputs/dropdown/overview/src/index.tsx | 38 +- .../inputs/dropdown/overview/tsconfig.json | 46 +- .../position/.devcontainer/devcontainer.json | 4 - samples/inputs/dropdown/position/.eslintrc.js | 75 - samples/inputs/dropdown/position/README.md | 12 +- samples/inputs/dropdown/position/package.json | 26 +- .../dropdown/position/sandbox.config.json | 5 - .../inputs/dropdown/position/src/index.tsx | 80 +- .../inputs/dropdown/position/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/dropdown/styling/.eslintrc.js | 75 - samples/inputs/dropdown/styling/README.md | 12 +- samples/inputs/dropdown/styling/package.json | 26 +- .../dropdown/styling/sandbox.config.json | 5 - samples/inputs/dropdown/styling/src/index.tsx | 131 +- samples/inputs/dropdown/styling/tsconfig.json | 46 +- .../target/.devcontainer/devcontainer.json | 4 - samples/inputs/dropdown/target/.eslintrc.js | 75 - samples/inputs/dropdown/target/README.md | 12 +- samples/inputs/dropdown/target/package.json | 26 +- .../dropdown/target/sandbox.config.json | 5 - samples/inputs/dropdown/target/src/index.tsx | 56 +- samples/inputs/dropdown/target/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../inputs/highlight/helper-text/.eslintrc.js | 75 - .../inputs/highlight/helper-text/README.md | 12 +- .../inputs/highlight/helper-text/package.json | 26 +- .../highlight/helper-text/sandbox.config.json | 5 - .../highlight/helper-text/src/index.tsx | 140 +- .../highlight/helper-text/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - .../inputs/highlight/overview/.eslintrc.js | 75 - samples/inputs/highlight/overview/README.md | 12 +- .../inputs/highlight/overview/package.json | 26 +- .../highlight/overview/sandbox.config.json | 5 - .../inputs/highlight/overview/src/index.tsx | 30 +- .../inputs/highlight/overview/tsconfig.json | 46 +- .../search/.devcontainer/devcontainer.json | 4 - samples/inputs/highlight/search/.eslintrc.js | 75 - samples/inputs/highlight/search/README.md | 12 +- samples/inputs/highlight/search/package.json | 26 +- .../highlight/search/sandbox.config.json | 5 - samples/inputs/highlight/search/src/index.tsx | 69 +- samples/inputs/highlight/search/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/highlight/styling/.eslintrc.js | 75 - samples/inputs/highlight/styling/README.md | 12 +- samples/inputs/highlight/styling/package.json | 26 +- .../highlight/styling/sandbox.config.json | 5 - .../inputs/highlight/styling/src/index.tsx | 69 +- .../inputs/highlight/styling/tsconfig.json | 46 +- .../size/.devcontainer/devcontainer.json | 4 - samples/inputs/icon-button/size/.eslintrc.js | 75 - samples/inputs/icon-button/size/README.md | 12 +- samples/inputs/icon-button/size/package.json | 26 +- .../icon-button/size/sandbox.config.json | 5 - samples/inputs/icon-button/size/src/index.tsx | 59 +- samples/inputs/icon-button/size/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - .../inputs/icon-button/styling/.eslintrc.js | 75 - samples/inputs/icon-button/styling/README.md | 12 +- .../inputs/icon-button/styling/package.json | 26 +- .../icon-button/styling/sandbox.config.json | 5 - .../inputs/icon-button/styling/src/index.tsx | 35 +- .../inputs/icon-button/styling/tsconfig.json | 46 +- .../variant/.devcontainer/devcontainer.json | 4 - .../inputs/icon-button/variant/.eslintrc.js | 75 - samples/inputs/icon-button/variant/README.md | 12 +- .../inputs/icon-button/variant/package.json | 26 +- .../icon-button/variant/sandbox.config.json | 5 - .../inputs/icon-button/variant/src/index.tsx | 59 +- .../inputs/icon-button/variant/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - samples/inputs/input/helper-text/.eslintrc.js | 75 - samples/inputs/input/helper-text/README.md | 12 +- samples/inputs/input/helper-text/package.json | 26 +- .../input/helper-text/sandbox.config.json | 5 - .../inputs/input/helper-text/src/index.tsx | 35 +- .../inputs/input/helper-text/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/input/overview/.eslintrc.js | 75 - samples/inputs/input/overview/README.md | 12 +- samples/inputs/input/overview/package.json | 26 +- .../inputs/input/overview/sandbox.config.json | 5 - samples/inputs/input/overview/src/index.tsx | 28 +- samples/inputs/input/overview/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../inputs/input/prefix-suffix/.eslintrc.js | 75 - samples/inputs/input/prefix-suffix/README.md | 12 +- .../inputs/input/prefix-suffix/package.json | 26 +- .../input/prefix-suffix/sandbox.config.json | 5 - .../inputs/input/prefix-suffix/src/index.tsx | 33 +- .../inputs/input/prefix-suffix/tsconfig.json | 46 +- .../size/.devcontainer/devcontainer.json | 4 - samples/inputs/input/size/.eslintrc.js | 75 - samples/inputs/input/size/README.md | 12 +- samples/inputs/input/size/package.json | 26 +- samples/inputs/input/size/sandbox.config.json | 5 - samples/inputs/input/size/src/index.tsx | 52 +- samples/inputs/input/size/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/input/styling/.eslintrc.js | 75 - samples/inputs/input/styling/README.md | 12 +- samples/inputs/input/styling/package.json | 26 +- .../inputs/input/styling/sandbox.config.json | 5 - samples/inputs/input/styling/src/index.tsx | 35 +- samples/inputs/input/styling/tsconfig.json | 46 +- .../dynamic/.devcontainer/devcontainer.json | 4 - .../dynamic/.eslintrc.js | 75 - .../dynamic/README.md | 12 +- .../dynamic/package.json | 26 +- .../dynamic/sandbox.config.json | 5 - .../dynamic/src/index.tsx | 88 +- .../dynamic/tsconfig.json | 46 +- .../simple/.devcontainer/devcontainer.json | 4 - .../simple/.eslintrc.js | 75 - .../simple/README.md | 12 +- .../simple/package.json | 26 +- .../simple/sandbox.config.json | 5 - .../simple/src/index.tsx | 28 +- .../simple/tsconfig.json | 46 +- .../striped/.devcontainer/devcontainer.json | 4 - .../striped/.eslintrc.js | 75 - .../striped/README.md | 12 +- .../striped/package.json | 26 +- .../striped/sandbox.config.json | 5 - .../striped/src/index.tsx | 36 +- .../striped/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - .../styling/.eslintrc.js | 75 - .../styling/README.md | 12 +- .../styling/package.json | 26 +- .../styling/sandbox.config.json | 5 - .../styling/src/index.tsx | 28 +- .../styling/tsconfig.json | 46 +- .../types/.devcontainer/devcontainer.json | 4 - .../types/.eslintrc.js | 75 - .../linear-progress-indicator/types/README.md | 12 +- .../types/package.json | 26 +- .../types/sandbox.config.json | 5 - .../types/src/index.tsx | 36 +- .../types/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../mask-input/applying-mask/.eslintrc.js | 75 - .../inputs/mask-input/applying-mask/README.md | 12 +- .../mask-input/applying-mask/package.json | 26 +- .../applying-mask/sandbox.config.json | 5 - .../mask-input/applying-mask/src/index.tsx | 35 +- .../mask-input/applying-mask/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - .../inputs/mask-input/overview/.eslintrc.js | 75 - samples/inputs/mask-input/overview/README.md | 12 +- .../inputs/mask-input/overview/package.json | 26 +- .../mask-input/overview/sandbox.config.json | 5 - .../inputs/mask-input/overview/src/index.tsx | 35 +- .../inputs/mask-input/overview/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../mask-input/value-modes/.eslintrc.js | 75 - .../inputs/mask-input/value-modes/README.md | 12 +- .../mask-input/value-modes/package.json | 26 +- .../value-modes/sandbox.config.json | 5 - .../mask-input/value-modes/src/index.tsx | 93 +- .../mask-input/value-modes/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../inputs/qr-code/corner-shapes/.eslintrc.js | 75 - .../inputs/qr-code/corner-shapes/README.md | 12 +- .../inputs/qr-code/corner-shapes/package.json | 33 +- .../qr-code/corner-shapes/sandbox.config.json | 5 - .../qr-code/corner-shapes/src/index.tsx | 2 +- .../qr-code/corner-shapes/tsconfig.json | 39 +- .../.devcontainer/devcontainer.json | 4 - .../inputs/qr-code/dot-shapes/.eslintrc.js | 75 - samples/inputs/qr-code/dot-shapes/README.md | 12 +- .../inputs/qr-code/dot-shapes/package.json | 33 +- .../qr-code/dot-shapes/sandbox.config.json | 5 - .../inputs/qr-code/dot-shapes/src/index.tsx | 2 +- .../inputs/qr-code/dot-shapes/tsconfig.json | 39 +- .../.devcontainer/devcontainer.json | 4 - .../qr-code/error-correction/.eslintrc.js | 75 - .../inputs/qr-code/error-correction/README.md | 12 +- .../qr-code/error-correction/package.json | 33 +- .../error-correction/sandbox.config.json | 5 - .../qr-code/error-correction/src/index.tsx | 2 +- .../qr-code/error-correction/tsconfig.json | 39 +- .../logo/.devcontainer/devcontainer.json | 4 - samples/inputs/qr-code/logo/.eslintrc.js | 75 - samples/inputs/qr-code/logo/README.md | 12 +- samples/inputs/qr-code/logo/package.json | 33 +- .../inputs/qr-code/logo/sandbox.config.json | 5 - samples/inputs/qr-code/logo/src/index.tsx | 2 +- samples/inputs/qr-code/logo/tsconfig.json | 39 +- .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/qr-code/overview/.eslintrc.js | 75 - samples/inputs/qr-code/overview/README.md | 12 +- samples/inputs/qr-code/overview/package.json | 33 +- .../qr-code/overview/sandbox.config.json | 5 - samples/inputs/qr-code/overview/src/index.tsx | 2 +- samples/inputs/qr-code/overview/tsconfig.json | 39 +- .../size/.devcontainer/devcontainer.json | 4 - samples/inputs/qr-code/size/.eslintrc.js | 75 - samples/inputs/qr-code/size/README.md | 12 +- samples/inputs/qr-code/size/package.json | 33 +- .../inputs/qr-code/size/sandbox.config.json | 5 - samples/inputs/qr-code/size/src/index.tsx | 2 +- samples/inputs/qr-code/size/tsconfig.json | 39 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/qr-code/styling/.eslintrc.js | 75 - samples/inputs/qr-code/styling/README.md | 12 +- samples/inputs/qr-code/styling/package.json | 33 +- .../qr-code/styling/sandbox.config.json | 5 - samples/inputs/qr-code/styling/src/index.tsx | 2 +- samples/inputs/qr-code/styling/tsconfig.json | 39 +- .../.devcontainer/devcontainer.json | 4 - .../qr-code/tailwind-styling/.eslintrc.js | 75 - .../inputs/qr-code/tailwind-styling/README.md | 12 +- .../qr-code/tailwind-styling/package.json | 33 +- .../tailwind-styling/sandbox.config.json | 5 - .../qr-code/tailwind-styling/src/index.tsx | 2 +- .../qr-code/tailwind-styling/tsconfig.json | 39 +- .../alignment/.devcontainer/devcontainer.json | 4 - samples/inputs/radio/alignment/.eslintrc.js | 75 - samples/inputs/radio/alignment/README.md | 12 +- samples/inputs/radio/alignment/package.json | 26 +- .../radio/alignment/sandbox.config.json | 5 - samples/inputs/radio/alignment/src/index.tsx | 36 +- samples/inputs/radio/alignment/tsconfig.json | 46 +- .../disabled/.devcontainer/devcontainer.json | 4 - samples/inputs/radio/disabled/.eslintrc.js | 75 - samples/inputs/radio/disabled/README.md | 12 +- samples/inputs/radio/disabled/package.json | 26 +- .../inputs/radio/disabled/sandbox.config.json | 5 - samples/inputs/radio/disabled/src/index.tsx | 36 +- samples/inputs/radio/disabled/tsconfig.json | 46 +- .../group/.devcontainer/devcontainer.json | 4 - samples/inputs/radio/group/.eslintrc.js | 75 - samples/inputs/radio/group/README.md | 12 +- samples/inputs/radio/group/package.json | 26 +- .../inputs/radio/group/sandbox.config.json | 5 - samples/inputs/radio/group/src/index.tsx | 36 +- samples/inputs/radio/group/tsconfig.json | 46 +- .../invalid/.devcontainer/devcontainer.json | 4 - samples/inputs/radio/invalid/.eslintrc.js | 75 - samples/inputs/radio/invalid/README.md | 12 +- samples/inputs/radio/invalid/package.json | 26 +- .../inputs/radio/invalid/sandbox.config.json | 5 - samples/inputs/radio/invalid/src/index.tsx | 26 +- samples/inputs/radio/invalid/tsconfig.json | 46 +- .../label/.devcontainer/devcontainer.json | 4 - samples/inputs/radio/label/.eslintrc.js | 75 - samples/inputs/radio/label/README.md | 12 +- samples/inputs/radio/label/package.json | 26 +- .../inputs/radio/label/sandbox.config.json | 5 - samples/inputs/radio/label/src/index.tsx | 48 +- samples/inputs/radio/label/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/radio/styling/.eslintrc.js | 75 - samples/inputs/radio/styling/README.md | 12 +- samples/inputs/radio/styling/package.json | 26 +- .../inputs/radio/styling/sandbox.config.json | 5 - samples/inputs/radio/styling/src/index.tsx | 36 +- samples/inputs/radio/styling/tsconfig.json | 46 +- .../basic/.devcontainer/devcontainer.json | 4 - samples/inputs/rating/basic/.eslintrc.js | 75 - samples/inputs/rating/basic/README.md | 12 +- samples/inputs/rating/basic/package.json | 26 +- .../inputs/rating/basic/sandbox.config.json | 5 - samples/inputs/rating/basic/src/index.tsx | 24 +- samples/inputs/rating/basic/tsconfig.json | 46 +- .../custom/.devcontainer/devcontainer.json | 4 - samples/inputs/rating/custom/.eslintrc.js | 75 - samples/inputs/rating/custom/README.md | 12 +- samples/inputs/rating/custom/package.json | 26 +- .../inputs/rating/custom/sandbox.config.json | 5 - samples/inputs/rating/custom/src/index.tsx | 67 +- samples/inputs/rating/custom/tsconfig.json | 46 +- .../empty/.devcontainer/devcontainer.json | 4 - samples/inputs/rating/empty/.eslintrc.js | 75 - samples/inputs/rating/empty/README.md | 12 +- samples/inputs/rating/empty/package.json | 26 +- .../inputs/rating/empty/sandbox.config.json | 5 - samples/inputs/rating/empty/src/index.tsx | 69 +- samples/inputs/rating/empty/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../rating/single-selection/.eslintrc.js | 75 - .../inputs/rating/single-selection/README.md | 12 +- .../rating/single-selection/package.json | 26 +- .../single-selection/sandbox.config.json | 5 - .../rating/single-selection/src/index.tsx | 66 +- .../rating/single-selection/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/rating/styling/.eslintrc.js | 75 - samples/inputs/rating/styling/README.md | 12 +- samples/inputs/rating/styling/package.json | 26 +- .../inputs/rating/styling/sandbox.config.json | 5 - samples/inputs/rating/styling/src/index.tsx | 24 +- samples/inputs/rating/styling/tsconfig.json | 46 +- .../button/.devcontainer/devcontainer.json | 4 - samples/inputs/ripple/button/.eslintrc.js | 75 - samples/inputs/ripple/button/README.md | 12 +- samples/inputs/ripple/button/package.json | 26 +- .../inputs/ripple/button/sandbox.config.json | 5 - .../color/.devcontainer/devcontainer.json | 4 - samples/inputs/ripple/color/.eslintrc.js | 75 - samples/inputs/ripple/color/README.md | 12 +- samples/inputs/ripple/color/package.json | 26 +- .../inputs/ripple/color/sandbox.config.json | 5 - .../group/.devcontainer/devcontainer.json | 4 - samples/inputs/select/group/.eslintrc.js | 75 - samples/inputs/select/group/README.md | 12 +- samples/inputs/select/group/package.json | 26 +- .../inputs/select/group/sandbox.config.json | 5 - .../header/.devcontainer/devcontainer.json | 4 - samples/inputs/select/header/.eslintrc.js | 75 - samples/inputs/select/header/README.md | 12 +- samples/inputs/select/header/package.json | 26 +- .../inputs/select/header/sandbox.config.json | 5 - .../item/.devcontainer/devcontainer.json | 4 - samples/inputs/select/item/.eslintrc.js | 75 - samples/inputs/select/item/README.md | 12 +- samples/inputs/select/item/package.json | 26 +- .../inputs/select/item/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/select/overview/.eslintrc.js | 75 - samples/inputs/select/overview/README.md | 12 +- samples/inputs/select/overview/package.json | 26 +- .../select/overview/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/select/styling/.eslintrc.js | 75 - samples/inputs/select/styling/README.md | 12 +- samples/inputs/select/styling/package.json | 26 +- .../inputs/select/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../inputs/slider/constraints/.eslintrc.js | 75 - samples/inputs/slider/constraints/README.md | 12 +- .../inputs/slider/constraints/package.json | 26 +- .../slider/constraints/sandbox.config.json | 5 - .../disabled/.devcontainer/devcontainer.json | 4 - samples/inputs/slider/disabled/.eslintrc.js | 75 - samples/inputs/slider/disabled/README.md | 12 +- samples/inputs/slider/disabled/package.json | 26 +- .../slider/disabled/sandbox.config.json | 5 - .../discrete/.devcontainer/devcontainer.json | 4 - samples/inputs/slider/discrete/.eslintrc.js | 75 - samples/inputs/slider/discrete/README.md | 12 +- samples/inputs/slider/discrete/package.json | 26 +- .../slider/discrete/sandbox.config.json | 5 - .../labels/.devcontainer/devcontainer.json | 4 - samples/inputs/slider/labels/.eslintrc.js | 75 - samples/inputs/slider/labels/README.md | 12 +- samples/inputs/slider/labels/package.json | 26 +- .../inputs/slider/labels/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/slider/overview/.eslintrc.js | 75 - samples/inputs/slider/overview/README.md | 12 +- samples/inputs/slider/overview/package.json | 26 +- .../slider/overview/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/slider/styling/.eslintrc.js | 75 - samples/inputs/slider/styling/README.md | 12 +- samples/inputs/slider/styling/package.json | 26 +- .../inputs/slider/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../inputs/slider/tick-labels/.eslintrc.js | 75 - samples/inputs/slider/tick-labels/README.md | 12 +- .../inputs/slider/tick-labels/package.json | 26 +- .../slider/tick-labels/sandbox.config.json | 5 - .../ticks/.devcontainer/devcontainer.json | 4 - samples/inputs/slider/ticks/.eslintrc.js | 75 - samples/inputs/slider/ticks/README.md | 12 +- samples/inputs/slider/ticks/package.json | 26 +- .../inputs/slider/ticks/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../inputs/slider/value-format/.eslintrc.js | 75 - samples/inputs/slider/value-format/README.md | 12 +- .../inputs/slider/value-format/package.json | 26 +- .../slider/value-format/sandbox.config.json | 5 - .../value/.devcontainer/devcontainer.json | 4 - samples/inputs/slider/value/.eslintrc.js | 75 - samples/inputs/slider/value/README.md | 12 +- samples/inputs/slider/value/package.json | 26 +- .../inputs/slider/value/sandbox.config.json | 5 - .../disabled/.devcontainer/devcontainer.json | 4 - samples/inputs/switches/disabled/.eslintrc.js | 75 - samples/inputs/switches/disabled/README.md | 12 +- samples/inputs/switches/disabled/package.json | 26 +- .../switches/disabled/sandbox.config.json | 5 - .../enabled/.devcontainer/devcontainer.json | 4 - samples/inputs/switches/enabled/.eslintrc.js | 75 - samples/inputs/switches/enabled/README.md | 12 +- samples/inputs/switches/enabled/package.json | 26 +- .../switches/enabled/sandbox.config.json | 5 - .../layout/.devcontainer/devcontainer.json | 4 - samples/inputs/switches/layout/.eslintrc.js | 75 - samples/inputs/switches/layout/README.md | 12 +- samples/inputs/switches/layout/package.json | 26 +- .../switches/layout/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/switches/overview/.eslintrc.js | 75 - samples/inputs/switches/overview/README.md | 12 +- samples/inputs/switches/overview/package.json | 26 +- .../switches/overview/sandbox.config.json | 5 - .../selected/.devcontainer/devcontainer.json | 4 - samples/inputs/switches/selected/.eslintrc.js | 75 - samples/inputs/switches/selected/README.md | 12 +- samples/inputs/switches/selected/package.json | 26 +- .../switches/selected/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/switches/styling/.eslintrc.js | 75 - samples/inputs/switches/styling/README.md | 12 +- samples/inputs/switches/styling/package.json | 26 +- .../switches/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../switches/tailwind-styling/.eslintrc.js | 75 - .../switches/tailwind-styling/README.md | 12 +- .../switches/tailwind-styling/package.json | 26 +- .../tailwind-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../textarea/form-integration/.eslintrc.js | 75 - .../textarea/form-integration/README.md | 12 +- .../textarea/form-integration/package.json | 26 +- .../form-integration/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/textarea/overview/.eslintrc.js | 75 - samples/inputs/textarea/overview/README.md | 12 +- samples/inputs/textarea/overview/package.json | 26 +- .../textarea/overview/sandbox.config.json | 5 - .../resize/.devcontainer/devcontainer.json | 4 - samples/inputs/textarea/resize/.eslintrc.js | 75 - samples/inputs/textarea/resize/README.md | 12 +- samples/inputs/textarea/resize/package.json | 26 +- .../textarea/resize/sandbox.config.json | 5 - .../slots/.devcontainer/devcontainer.json | 4 - samples/inputs/textarea/slots/.eslintrc.js | 75 - samples/inputs/textarea/slots/README.md | 12 +- samples/inputs/textarea/slots/package.json | 26 +- .../inputs/textarea/slots/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/textarea/styling/.eslintrc.js | 75 - samples/inputs/textarea/styling/README.md | 12 +- samples/inputs/textarea/styling/package.json | 26 +- .../textarea/styling/sandbox.config.json | 5 - .../advanced/.devcontainer/devcontainer.json | 4 - samples/inputs/tooltip/advanced/.eslintrc.js | 75 - samples/inputs/tooltip/advanced/README.md | 12 +- samples/inputs/tooltip/advanced/package.json | 26 +- .../tooltip/advanced/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/inputs/tooltip/overview/.eslintrc.js | 75 - samples/inputs/tooltip/overview/README.md | 12 +- samples/inputs/tooltip/overview/package.json | 26 +- .../tooltip/overview/sandbox.config.json | 5 - samples/inputs/tooltip/overview/src/index.tsx | 33 +- samples/inputs/tooltip/overview/tsconfig.json | 46 +- .../placement/.devcontainer/devcontainer.json | 4 - samples/inputs/tooltip/placement/.eslintrc.js | 75 - samples/inputs/tooltip/placement/README.md | 12 +- samples/inputs/tooltip/placement/package.json | 26 +- .../tooltip/placement/sandbox.config.json | 5 - .../inputs/tooltip/placement/src/index.tsx | 73 +- .../inputs/tooltip/placement/tsconfig.json | 46 +- .../rich/.devcontainer/devcontainer.json | 4 - samples/inputs/tooltip/rich/.eslintrc.js | 75 - samples/inputs/tooltip/rich/README.md | 12 +- samples/inputs/tooltip/rich/package.json | 26 +- .../inputs/tooltip/rich/sandbox.config.json | 5 - samples/inputs/tooltip/rich/src/index.tsx | 59 +- samples/inputs/tooltip/rich/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/inputs/tooltip/styling/.eslintrc.js | 75 - samples/inputs/tooltip/styling/README.md | 12 +- samples/inputs/tooltip/styling/package.json | 26 +- .../tooltip/styling/sandbox.config.json | 5 - samples/inputs/tooltip/styling/src/index.tsx | 33 +- samples/inputs/tooltip/styling/tsconfig.json | 46 +- .../triggers/.devcontainer/devcontainer.json | 4 - samples/inputs/tooltip/triggers/.eslintrc.js | 75 - samples/inputs/tooltip/triggers/README.md | 12 +- samples/inputs/tooltip/triggers/package.json | 26 +- .../tooltip/triggers/sandbox.config.json | 5 - samples/inputs/tooltip/triggers/src/index.tsx | 245 +- samples/inputs/tooltip/triggers/tsconfig.json | 46 +- .../features/.devcontainer/devcontainer.json | 4 - .../interactions/chat/features/.eslintrc.js | 75 - samples/interactions/chat/features/README.md | 12 +- .../interactions/chat/features/package.json | 32 +- .../chat/features/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../interactions/chat/overview/.eslintrc.js | 75 - samples/interactions/chat/overview/README.md | 12 +- .../interactions/chat/overview/package.json | 26 +- .../chat/overview/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - .../interactions/chat/styling/.eslintrc.js | 75 - samples/interactions/chat/styling/README.md | 12 +- .../interactions/chat/styling/package.json | 26 +- .../chat/styling/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../query-builder/overview/.eslintrc.js | 78 - .../query-builder/overview/README.md | 12 +- .../query-builder/overview/package.json | 22 +- .../overview/sandbox.config.json | 5 - .../template/.devcontainer/devcontainer.json | 4 - .../query-builder/template/.eslintrc.js | 78 - .../query-builder/template/README.md | 12 +- .../query-builder/template/package.json | 22 +- .../template/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../accordion/customization/.eslintrc.js | 75 - .../layouts/accordion/customization/README.md | 12 +- .../accordion/customization/package.json | 26 +- .../customization/sandbox.config.json | 5 - .../accordion/customization/src/index.tsx | 368 +- .../accordion/customization/tsconfig.json | 44 +- .../.devcontainer/devcontainer.json | 4 - .../accordion/nested-scenario/.eslintrc.js | 75 - .../accordion/nested-scenario/README.md | 12 +- .../accordion/nested-scenario/package.json | 26 +- .../nested-scenario/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../layouts/accordion/overview/.eslintrc.js | 75 - samples/layouts/accordion/overview/README.md | 12 +- .../layouts/accordion/overview/package.json | 26 +- .../accordion/overview/sandbox.config.json | 5 - .../programmatic-expansion/README.md | 12 +- .../programmatic-expansion/package.json | 26 +- .../sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 1 - samples/layouts/accordion/styling/README.md | 12 +- .../layouts/accordion/styling/package.json | 26 +- .../accordion/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 1 - .../accordion/tailwind-styling/README.md | 12 +- .../accordion/tailwind-styling/package.json | 26 +- .../tailwind-styling/sandbox.config.json | 5 - .../image/.devcontainer/devcontainer.json | 4 - samples/layouts/avatar/image/.eslintrc.js | 75 - samples/layouts/avatar/image/README.md | 12 +- samples/layouts/avatar/image/package.json | 26 +- .../layouts/avatar/image/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/layouts/avatar/overview/.eslintrc.js | 75 - samples/layouts/avatar/overview/README.md | 12 +- samples/layouts/avatar/overview/package.json | 26 +- .../avatar/overview/sandbox.config.json | 5 - .../shape/.devcontainer/devcontainer.json | 4 - samples/layouts/avatar/shape/.eslintrc.js | 75 - samples/layouts/avatar/shape/README.md | 12 +- samples/layouts/avatar/shape/package.json | 26 +- .../layouts/avatar/shape/sandbox.config.json | 5 - .../size/.devcontainer/devcontainer.json | 4 - samples/layouts/avatar/size/.eslintrc.js | 75 - samples/layouts/avatar/size/README.md | 12 +- samples/layouts/avatar/size/package.json | 26 +- .../layouts/avatar/size/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/layouts/avatar/styling/.eslintrc.js | 75 - samples/layouts/avatar/styling/README.md | 12 +- samples/layouts/avatar/styling/package.json | 26 +- .../avatar/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../avatar/tailwind-styling/.eslintrc.js | 75 - .../layouts/avatar/tailwind-styling/README.md | 12 +- .../avatar/tailwind-styling/package.json | 26 +- .../tailwind-styling/sandbox.config.json | 5 - .../variants/.devcontainer/devcontainer.json | 4 - samples/layouts/avatar/variants/.eslintrc.js | 75 - samples/layouts/avatar/variants/README.md | 12 +- samples/layouts/avatar/variants/package.json | 26 +- .../avatar/variants/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../breadcrumbs/custom-separator/.eslintrc.js | 75 - .../breadcrumbs/custom-separator/README.md | 12 +- .../breadcrumbs/custom-separator/package.json | 26 +- .../custom-separator/sandbox.config.json | 5 - .../custom-separator/src/index.tsx | 2 +- .../custom-separator/tsconfig.json | 44 +- .../dropdown/.devcontainer/devcontainer.json | 4 - .../layouts/breadcrumbs/dropdown/.eslintrc.js | 75 - .../layouts/breadcrumbs/dropdown/README.md | 12 +- .../layouts/breadcrumbs/dropdown/package.json | 26 +- .../breadcrumbs/dropdown/sandbox.config.json | 5 - .../breadcrumbs/dropdown/src/index.tsx | 2 +- .../breadcrumbs/dropdown/tsconfig.json | 44 +- .../overview/.devcontainer/devcontainer.json | 4 - .../layouts/breadcrumbs/overview/.eslintrc.js | 75 - .../layouts/breadcrumbs/overview/README.md | 12 +- .../layouts/breadcrumbs/overview/package.json | 26 +- .../breadcrumbs/overview/sandbox.config.json | 5 - .../breadcrumbs/overview/src/index.tsx | 2 +- .../breadcrumbs/overview/tsconfig.json | 44 +- .../.devcontainer/devcontainer.json | 4 - .../breadcrumbs/prefix-suffix/.eslintrc.js | 75 - .../breadcrumbs/prefix-suffix/README.md | 12 +- .../breadcrumbs/prefix-suffix/package.json | 26 +- .../prefix-suffix/sandbox.config.json | 5 - .../breadcrumbs/prefix-suffix/src/index.tsx | 2 +- .../breadcrumbs/prefix-suffix/tsconfig.json | 44 +- .../sizes/.devcontainer/devcontainer.json | 4 - .../layouts/breadcrumbs/sizes/.eslintrc.js | 75 - samples/layouts/breadcrumbs/sizes/README.md | 12 +- .../layouts/breadcrumbs/sizes/package.json | 26 +- .../breadcrumbs/sizes/sandbox.config.json | 5 - .../layouts/breadcrumbs/sizes/src/index.tsx | 2 +- .../layouts/breadcrumbs/sizes/tsconfig.json | 44 +- .../states/.devcontainer/devcontainer.json | 4 - .../layouts/breadcrumbs/states/.eslintrc.js | 75 - samples/layouts/breadcrumbs/states/README.md | 12 +- .../layouts/breadcrumbs/states/package.json | 26 +- .../breadcrumbs/states/sandbox.config.json | 5 - .../layouts/breadcrumbs/states/src/index.tsx | 2 +- .../layouts/breadcrumbs/states/tsconfig.json | 44 +- .../styling/.devcontainer/devcontainer.json | 4 - .../layouts/breadcrumbs/styling/.eslintrc.js | 75 - samples/layouts/breadcrumbs/styling/README.md | 12 +- .../layouts/breadcrumbs/styling/package.json | 26 +- .../breadcrumbs/styling/sandbox.config.json | 5 - .../layouts/breadcrumbs/styling/src/index.tsx | 2 +- .../layouts/breadcrumbs/styling/tsconfig.json | 44 +- .../.devcontainer/devcontainer.json | 4 - .../breadcrumbs/tailwind-styling/.eslintrc.js | 75 - .../breadcrumbs/tailwind-styling/README.md | 12 +- .../breadcrumbs/tailwind-styling/package.json | 26 +- .../tailwind-styling/sandbox.config.json | 5 - .../tailwind-styling/src/index.tsx | 2 +- .../tailwind-styling/tsconfig.json | 44 +- .../wrapping/.devcontainer/devcontainer.json | 4 - .../layouts/breadcrumbs/wrapping/.eslintrc.js | 75 - .../layouts/breadcrumbs/wrapping/README.md | 12 +- .../layouts/breadcrumbs/wrapping/package.json | 26 +- .../breadcrumbs/wrapping/sandbox.config.json | 5 - .../breadcrumbs/wrapping/src/index.tsx | 2 +- .../breadcrumbs/wrapping/tsconfig.json | 44 +- .../actions/.devcontainer/devcontainer.json | 4 - samples/layouts/card/actions/.eslintrc.js | 75 - samples/layouts/card/actions/README.md | 12 +- samples/layouts/card/actions/package.json | 28 +- .../layouts/card/actions/sandbox.config.json | 5 - samples/layouts/card/actions/src/index.tsx | 2 +- samples/layouts/card/actions/tsconfig.json | 44 +- .../media/.devcontainer/devcontainer.json | 4 - samples/layouts/card/media/.eslintrc.js | 75 - samples/layouts/card/media/README.md | 12 +- samples/layouts/card/media/package.json | 28 +- .../layouts/card/media/sandbox.config.json | 5 - samples/layouts/card/media/src/index.tsx | 2 +- samples/layouts/card/media/tsconfig.json | 44 +- .../overview/.devcontainer/devcontainer.json | 4 - samples/layouts/card/overview/.eslintrc.js | 75 - samples/layouts/card/overview/README.md | 12 +- samples/layouts/card/overview/package.json | 26 +- .../layouts/card/overview/sandbox.config.json | 5 - .../position/.devcontainer/devcontainer.json | 4 - samples/layouts/card/position/.eslintrc.js | 75 - samples/layouts/card/position/README.md | 12 +- samples/layouts/card/position/package.json | 26 +- .../layouts/card/position/sandbox.config.json | 5 - samples/layouts/card/position/src/index.tsx | 2 +- samples/layouts/card/position/tsconfig.json | 44 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/layouts/card/styling/.eslintrc.js | 75 - samples/layouts/card/styling/README.md | 12 +- samples/layouts/card/styling/package.json | 26 +- .../layouts/card/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../card/tailwind-styling/.eslintrc.js | 75 - .../layouts/card/tailwind-styling/README.md | 12 +- .../card/tailwind-styling/package.json | 32 +- .../card/tailwind-styling/sandbox.config.json | 5 - .../card/tailwind-styling/src/index.tsx | 2 +- .../card/tailwind-styling/tsconfig.json | 44 +- .../.devcontainer/devcontainer.json | 4 - .../layouts/carousel/animations/.eslintrc.js | 75 - samples/layouts/carousel/animations/README.md | 12 +- .../layouts/carousel/animations/package.json | 24 +- .../carousel/animations/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../layouts/carousel/components/.eslintrc.js | 75 - samples/layouts/carousel/components/README.md | 12 +- .../layouts/carousel/components/package.json | 24 +- .../carousel/components/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../carousel/configuration/.eslintrc.js | 75 - .../layouts/carousel/configuration/README.md | 12 +- .../carousel/configuration/package.json | 24 +- .../configuration/sandbox.config.json | 5 - .../carousel/configuration/src/index.tsx | 2 +- .../carousel/configuration/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - .../layouts/carousel/overview/.eslintrc.js | 75 - samples/layouts/carousel/overview/README.md | 12 +- .../layouts/carousel/overview/package.json | 24 +- .../carousel/overview/sandbox.config.json | 5 - samples/layouts/carousel/styling/README.md | 12 +- samples/layouts/carousel/styling/package.json | 24 +- .../carousel/styling/sandbox.config.json | 5 - .../layouts/carousel/styling/src/index.tsx | 2 +- .../layouts/carousel/styling/tsconfig.json | 46 +- .../carousel/tailwind-styling/README.md | 12 +- .../carousel/tailwind-styling/package.json | 24 +- .../tailwind-styling/sandbox.config.json | 5 - .../carousel/tailwind-styling/src/index.tsx | 2 +- .../carousel/tailwind-styling/tsconfig.json | 46 +- .../thumbnail/.devcontainer/devcontainer.json | 4 - .../layouts/carousel/thumbnail/.eslintrc.js | 75 - samples/layouts/carousel/thumbnail/README.md | 12 +- .../layouts/carousel/thumbnail/package.json | 24 +- .../carousel/thumbnail/sandbox.config.json | 5 - .../dashed/.devcontainer/devcontainer.json | 4 - samples/layouts/divider/dashed/.eslintrc.js | 75 - samples/layouts/divider/dashed/README.md | 12 +- samples/layouts/divider/dashed/package.json | 26 +- .../divider/dashed/sandbox.config.json | 5 - samples/layouts/divider/dashed/src/index.tsx | 34 +- samples/layouts/divider/dashed/tsconfig.json | 44 +- .../middle/.devcontainer/devcontainer.json | 4 - samples/layouts/divider/middle/.eslintrc.js | 75 - samples/layouts/divider/middle/README.md | 12 +- samples/layouts/divider/middle/package.json | 26 +- .../divider/middle/sandbox.config.json | 5 - samples/layouts/divider/middle/src/index.tsx | 46 +- samples/layouts/divider/middle/tsconfig.json | 44 +- .../overview/.devcontainer/devcontainer.json | 4 - samples/layouts/divider/overview/.eslintrc.js | 75 - samples/layouts/divider/overview/README.md | 12 +- samples/layouts/divider/overview/package.json | 26 +- .../divider/overview/sandbox.config.json | 5 - .../layouts/divider/overview/src/index.tsx | 32 +- .../layouts/divider/overview/tsconfig.json | 44 +- .../select/.devcontainer/devcontainer.json | 4 - samples/layouts/divider/select/.eslintrc.js | 75 - samples/layouts/divider/select/README.md | 12 +- samples/layouts/divider/select/package.json | 26 +- .../divider/select/sandbox.config.json | 5 - samples/layouts/divider/select/src/index.tsx | 41 +- samples/layouts/divider/select/tsconfig.json | 44 +- .../vertical/.devcontainer/devcontainer.json | 4 - samples/layouts/divider/vertical/.eslintrc.js | 75 - samples/layouts/divider/vertical/README.md | 12 +- samples/layouts/divider/vertical/package.json | 26 +- .../divider/vertical/sandbox.config.json | 5 - .../layouts/divider/vertical/src/index.tsx | 62 +- .../layouts/divider/vertical/tsconfig.json | 44 +- .../.devcontainer/devcontainer.json | 4 - .../customize-buttons/.eslintrc.js | 75 - .../dock-manager/customize-buttons/README.md | 12 +- .../customize-buttons/package.json | 24 +- .../customize-buttons/sandbox.config.json | 5 - .../customize-buttons/src/index.tsx | 157 +- .../customize-buttons/tsconfig.json | 44 +- .../.devcontainer/devcontainer.json | 4 - .../embedding-frames/.eslintrc.js | 75 - .../dock-manager/embedding-frames/README.md | 12 +- .../embedding-frames/package.json | 24 +- .../embedding-frames/sandbox.config.json | 5 - .../embedding-frames/src/index.tsx | 79 +- .../embedding-frames/tsconfig.json | 44 +- .../overview/.devcontainer/devcontainer.json | 4 - .../dock-manager/overview/.eslintrc.js | 75 - .../layouts/dock-manager/overview/README.md | 12 +- .../dock-manager/overview/package.json | 24 +- .../dock-manager/overview/sandbox.config.json | 5 - .../dock-manager/overview/src/index.tsx | 157 +- .../dock-manager/overview/tsconfig.json | 44 +- .../styling/.devcontainer/devcontainer.json | 4 - .../layouts/dock-manager/styling/.eslintrc.js | 75 - .../layouts/dock-manager/styling/README.md | 12 +- .../layouts/dock-manager/styling/package.json | 24 +- .../dock-manager/styling/sandbox.config.json | 5 - .../dock-manager/styling/src/index.tsx | 1475 +- .../dock-manager/styling/tsconfig.json | 44 +- .../.devcontainer/devcontainer.json | 4 - .../dock-manager/updating-panes/.eslintrc.js | 75 - .../dock-manager/updating-panes/README.md | 12 +- .../dock-manager/updating-panes/package.json | 24 +- .../updating-panes/sandbox.config.json | 5 - .../dock-manager/updating-panes/src/index.tsx | 341 +- .../dock-manager/updating-panes/tsconfig.json | 44 +- .../.devcontainer/devcontainer.json | 4 - .../component-customization/.eslintrc.js | 75 - .../component-customization/README.md | 12 +- .../component-customization/package.json | 26 +- .../sandbox.config.json | 5 - .../component-customization/src/index.tsx | 61 +- .../component-customization/tsconfig.json | 44 +- .../.devcontainer/devcontainer.json | 4 - .../properties-and-events/.eslintrc.js | 75 - .../properties-and-events/README.md | 12 +- .../properties-and-events/package.json | 26 +- .../properties-and-events/sandbox.config.json | 5 - .../properties-and-events/src/index.tsx | 69 +- .../properties-and-events/tsconfig.json | 44 +- .../styling/.devcontainer/devcontainer.json | 4 - .../expansion-panel/styling/.eslintrc.js | 75 - .../layouts/expansion-panel/styling/README.md | 12 +- .../expansion-panel/styling/package.json | 26 +- .../styling/sandbox.config.json | 5 - .../expansion-panel/styling/src/index.tsx | 46 +- .../expansion-panel/styling/tsconfig.json | 44 +- .../usage/.devcontainer/devcontainer.json | 4 - .../expansion-panel/usage/.eslintrc.js | 75 - .../layouts/expansion-panel/usage/README.md | 12 +- .../expansion-panel/usage/package.json | 26 +- .../expansion-panel/usage/sandbox.config.json | 5 - .../expansion-panel/usage/src/index.tsx | 38 +- .../expansion-panel/usage/tsconfig.json | 44 +- .../sizing/.devcontainer/devcontainer.json | 4 - samples/layouts/icon/sizing/.eslintrc.js | 75 - samples/layouts/icon/sizing/README.md | 12 +- samples/layouts/icon/sizing/package.json | 26 +- .../layouts/icon/sizing/sandbox.config.json | 5 - samples/layouts/icon/sizing/src/index.tsx | 31 +- samples/layouts/icon/sizing/tsconfig.json | 44 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/layouts/icon/styling/.eslintrc.js | 75 - samples/layouts/icon/styling/README.md | 12 +- samples/layouts/icon/styling/package.json | 26 +- .../layouts/icon/styling/sandbox.config.json | 5 - samples/layouts/icon/styling/src/index.tsx | 27 +- samples/layouts/icon/styling/tsconfig.json | 44 +- .../base/.devcontainer/devcontainer.json | 4 - samples/layouts/splitter/base/.eslintrc.js | 75 - samples/layouts/splitter/base/README.md | 12 +- samples/layouts/splitter/base/package.json | 26 +- .../layouts/splitter/base/sandbox.config.json | 5 - samples/layouts/splitter/base/src/index.tsx | 113 +- samples/layouts/splitter/base/tsconfig.json | 46 +- .../nested/.devcontainer/devcontainer.json | 4 - samples/layouts/splitter/nested/.eslintrc.js | 75 - samples/layouts/splitter/nested/README.md | 12 +- samples/layouts/splitter/nested/package.json | 26 +- .../splitter/nested/sandbox.config.json | 5 - samples/layouts/splitter/nested/src/index.tsx | 71 +- samples/layouts/splitter/nested/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/layouts/splitter/styling/.eslintrc.js | 75 - samples/layouts/splitter/styling/README.md | 12 +- samples/layouts/splitter/styling/package.json | 26 +- .../splitter/styling/sandbox.config.json | 5 - .../layouts/splitter/styling/src/index.tsx | 45 +- .../layouts/splitter/styling/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../layouts/stepper/animations/.eslintrc.js | 75 - samples/layouts/stepper/animations/README.md | 12 +- .../layouts/stepper/animations/package.json | 26 +- .../stepper/animations/sandbox.config.json | 5 - .../linear/.devcontainer/devcontainer.json | 4 - samples/layouts/stepper/linear/.eslintrc.js | 75 - samples/layouts/stepper/linear/README.md | 12 +- samples/layouts/stepper/linear/package.json | 26 +- .../stepper/linear/sandbox.config.json | 5 - samples/layouts/stepper/linear/src/index.tsx | 427 +- samples/layouts/stepper/linear/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../layouts/stepper/orientation/.eslintrc.js | 75 - samples/layouts/stepper/orientation/README.md | 12 +- .../layouts/stepper/orientation/package.json | 26 +- .../stepper/orientation/sandbox.config.json | 5 - .../layouts/stepper/orientation/src/index.tsx | 119 +- .../layouts/stepper/orientation/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../layouts/stepper/step-height/.eslintrc.js | 75 - samples/layouts/stepper/step-height/README.md | 12 +- .../layouts/stepper/step-height/package.json | 26 +- .../stepper/step-height/sandbox.config.json | 5 - .../steptypes/.devcontainer/devcontainer.json | 4 - .../layouts/stepper/steptypes/.eslintrc.js | 75 - samples/layouts/stepper/steptypes/README.md | 12 +- .../layouts/stepper/steptypes/package.json | 26 +- .../stepper/steptypes/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - samples/layouts/stepper/styling/.eslintrc.js | 75 - samples/layouts/stepper/styling/README.md | 12 +- samples/layouts/stepper/styling/package.json | 26 +- .../stepper/styling/sandbox.config.json | 5 - .../alignment/.devcontainer/devcontainer.json | 4 - samples/layouts/tabs/alignment/.eslintrc.js | 75 - samples/layouts/tabs/alignment/README.md | 12 +- samples/layouts/tabs/alignment/package.json | 26 +- .../tabs/alignment/sandbox.config.json | 5 - samples/layouts/tabs/alignment/src/index.tsx | 71 +- samples/layouts/tabs/alignment/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - samples/layouts/tabs/overview/.eslintrc.js | 75 - samples/layouts/tabs/overview/README.md | 12 +- samples/layouts/tabs/overview/package.json | 26 +- .../layouts/tabs/overview/sandbox.config.json | 5 - samples/layouts/tabs/overview/src/index.tsx | 51 +- samples/layouts/tabs/overview/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../layouts/tabs/prefix-suffix/.eslintrc.js | 75 - samples/layouts/tabs/prefix-suffix/README.md | 12 +- .../layouts/tabs/prefix-suffix/package.json | 26 +- .../tabs/prefix-suffix/sandbox.config.json | 5 - .../layouts/tabs/prefix-suffix/src/index.tsx | 78 +- .../layouts/tabs/prefix-suffix/tsconfig.json | 46 +- .../scrolling/.devcontainer/devcontainer.json | 4 - samples/layouts/tabs/scrolling/.eslintrc.js | 75 - samples/layouts/tabs/scrolling/README.md | 12 +- samples/layouts/tabs/scrolling/package.json | 26 +- .../tabs/scrolling/sandbox.config.json | 5 - samples/layouts/tabs/scrolling/src/index.tsx | 35 +- samples/layouts/tabs/scrolling/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/layouts/tabs/styling/.eslintrc.js | 75 - samples/layouts/tabs/styling/README.md | 12 +- samples/layouts/tabs/styling/package.json | 26 +- .../layouts/tabs/styling/sandbox.config.json | 5 - samples/layouts/tabs/styling/src/index.tsx | 51 +- samples/layouts/tabs/styling/tsconfig.json | 46 +- .../actions/.devcontainer/devcontainer.json | 4 - .../layouts/tile-manager/actions/.eslintrc.js | 75 - .../layouts/tile-manager/actions/README.md | 12 +- .../layouts/tile-manager/actions/package.json | 26 +- .../tile-manager/actions/sandbox.config.json | 5 - .../tile-manager/actions/src/index.tsx | 111 +- .../tile-manager/actions/tsconfig.json | 46 +- .../columngap/.devcontainer/devcontainer.json | 4 - .../tile-manager/columngap/.eslintrc.js | 75 - .../layouts/tile-manager/columngap/README.md | 12 +- .../tile-manager/columngap/package.json | 26 +- .../columngap/sandbox.config.json | 5 - .../tile-manager/columngap/src/index.tsx | 101 +- .../tile-manager/columngap/tsconfig.json | 46 +- .../dragndrop/.devcontainer/devcontainer.json | 4 - .../tile-manager/dragndrop/.eslintrc.js | 75 - .../layouts/tile-manager/dragndrop/README.md | 12 +- .../tile-manager/dragndrop/package.json | 26 +- .../dragndrop/sandbox.config.json | 5 - .../tile-manager/dragndrop/src/index.tsx | 83 +- .../tile-manager/dragndrop/tsconfig.json | 46 +- .../layout/.devcontainer/devcontainer.json | 4 - .../layouts/tile-manager/layout/.eslintrc.js | 75 - samples/layouts/tile-manager/layout/README.md | 12 +- .../layouts/tile-manager/layout/package.json | 26 +- .../tile-manager/layout/sandbox.config.json | 5 - .../layouts/tile-manager/layout/src/index.tsx | 81 +- .../layouts/tile-manager/layout/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - .../tile-manager/overview/.eslintrc.js | 75 - .../layouts/tile-manager/overview/README.md | 12 +- .../tile-manager/overview/package.json | 26 +- .../tile-manager/overview/sandbox.config.json | 5 - .../tile-manager/overview/src/index.tsx | 337 +- .../tile-manager/overview/tsconfig.json | 46 +- .../resize/.devcontainer/devcontainer.json | 4 - .../layouts/tile-manager/resize/.eslintrc.js | 75 - samples/layouts/tile-manager/resize/README.md | 12 +- .../layouts/tile-manager/resize/package.json | 26 +- .../tile-manager/resize/sandbox.config.json | 5 - .../layouts/tile-manager/resize/src/index.tsx | 90 +- .../layouts/tile-manager/resize/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - .../layouts/tile-manager/styling/.eslintrc.js | 75 - .../layouts/tile-manager/styling/README.md | 12 +- .../layouts/tile-manager/styling/package.json | 26 +- .../tile-manager/styling/sandbox.config.json | 5 - .../tile-manager/styling/src/index.tsx | 70 +- .../tile-manager/styling/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../virtual-scroll/horizontal/.eslintrc.js | 75 - .../virtual-scroll/horizontal/README.md | 12 +- .../virtual-scroll/horizontal/package.json | 26 +- .../horizontal/sandbox.config.json | 5 - .../virtual-scroll/horizontal/src/index.tsx | 2 +- .../virtual-scroll/horizontal/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../infinite-scroll/.eslintrc.js | 75 - .../virtual-scroll/infinite-scroll/README.md | 12 +- .../infinite-scroll/package.json | 26 +- .../infinite-scroll/sandbox.config.json | 5 - .../infinite-scroll/src/index.tsx | 2 +- .../infinite-scroll/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - .../virtual-scroll/overview/.eslintrc.js | 75 - .../layouts/virtual-scroll/overview/README.md | 12 +- .../virtual-scroll/overview/package.json | 26 +- .../overview/sandbox.config.json | 5 - .../virtual-scroll/overview/src/index.tsx | 2 +- .../virtual-scroll/overview/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../scroll-to-index/.eslintrc.js | 75 - .../virtual-scroll/scroll-to-index/README.md | 12 +- .../scroll-to-index/package.json | 26 +- .../scroll-to-index/sandbox.config.json | 5 - .../scroll-to-index/src/index.tsx | 2 +- .../scroll-to-index/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../virtual-scroll/variable-size/.eslintrc.js | 75 - .../virtual-scroll/variable-size/README.md | 12 +- .../virtual-scroll/variable-size/package.json | 26 +- .../variable-size/sandbox.config.json | 5 - .../variable-size/src/index.tsx | 2 +- .../variable-size/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../geo-map/binding-data-csv/.eslintrc.js | 75 - .../maps/geo-map/binding-data-csv/README.md | 12 +- .../geo-map/binding-data-csv/package.json | 22 +- .../binding-data-csv/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../binding-data-json-points/.eslintrc.js | 75 - .../binding-data-json-points/README.md | 12 +- .../binding-data-json-points/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../binding-data-json-shapes/.eslintrc.js | 75 - .../binding-data-json-shapes/README.md | 12 +- .../binding-data-json-shapes/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../geo-map/binding-data-model/.eslintrc.js | 75 - .../maps/geo-map/binding-data-model/README.md | 12 +- .../geo-map/binding-data-model/package.json | 22 +- .../binding-data-model/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../binding-multiple-shapes/.eslintrc.js | 75 - .../geo-map/binding-multiple-shapes/README.md | 12 +- .../binding-multiple-shapes/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../binding-multiple-sources/.eslintrc.js | 75 - .../binding-multiple-sources/README.md | 12 +- .../binding-multiple-sources/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../geo-map/binding-shp-points/.eslintrc.js | 75 - .../maps/geo-map/binding-shp-points/README.md | 12 +- .../geo-map/binding-shp-points/package.json | 22 +- .../binding-shp-points/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../geo-map/binding-shp-polygons/.eslintrc.js | 75 - .../geo-map/binding-shp-polygons/README.md | 12 +- .../geo-map/binding-shp-polygons/package.json | 22 +- .../binding-shp-polygons/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../binding-shp-polylines/.eslintrc.js | 75 - .../geo-map/binding-shp-polylines/README.md | 12 +- .../binding-shp-polylines/package.json | 22 +- .../binding-shp-polylines/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../maps/geo-map/custom-tooltips/.eslintrc.js | 75 - .../maps/geo-map/custom-tooltips/README.md | 12 +- .../maps/geo-map/custom-tooltips/package.json | 22 +- .../custom-tooltips/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../geo-map/display-all-imagery/.eslintrc.js | 75 - .../geo-map/display-all-imagery/README.md | 12 +- .../geo-map/display-all-imagery/package.json | 22 +- .../display-all-imagery/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../display-azure-imagery/.eslintrc.js | 75 - .../geo-map/display-azure-imagery/README.md | 12 +- .../display-azure-imagery/package.json | 22 +- .../display-azure-imagery/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../geo-map/display-bing-imagery/.eslintrc.js | 75 - .../geo-map/display-bing-imagery/README.md | 12 +- .../geo-map/display-bing-imagery/package.json | 22 +- .../display-bing-imagery/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../display-custom-imagery/.eslintrc.js | 75 - .../geo-map/display-custom-imagery/README.md | 12 +- .../display-custom-imagery/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../geo-map/display-esri-imagery/.eslintrc.js | 75 - .../geo-map/display-esri-imagery/README.md | 12 +- .../geo-map/display-esri-imagery/package.json | 22 +- .../display-esri-imagery/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../geo-map/display-heat-imagery/.eslintrc.js | 75 - .../geo-map/display-heat-imagery/README.md | 12 +- .../geo-map/display-heat-imagery/package.json | 22 +- .../display-heat-imagery/sandbox.config.json | 5 - .../display-heat-imagery/src/index.tsx | 5 +- .../.devcontainer/devcontainer.json | 4 - .../geo-map/display-osm-imagery/.eslintrc.js | 75 - .../geo-map/display-osm-imagery/README.md | 12 +- .../geo-map/display-osm-imagery/package.json | 22 +- .../display-osm-imagery/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../maps/geo-map/marker-layouts/.eslintrc.js | 75 - samples/maps/geo-map/marker-layouts/README.md | 12 +- .../maps/geo-map/marker-layouts/package.json | 22 +- .../marker-layouts/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../maps/geo-map/marker-template/.eslintrc.js | 75 - .../maps/geo-map/marker-template/README.md | 12 +- .../maps/geo-map/marker-template/package.json | 22 +- .../marker-template/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/maps/geo-map/marker-type/.eslintrc.js | 75 - samples/maps/geo-map/marker-type/README.md | 12 +- samples/maps/geo-map/marker-type/package.json | 22 +- .../geo-map/marker-type/sandbox.config.json | 5 - .../nav-grid/.devcontainer/devcontainer.json | 4 - samples/maps/geo-map/nav-grid/.eslintrc.js | 75 - samples/maps/geo-map/nav-grid/README.md | 12 +- samples/maps/geo-map/nav-grid/package.json | 22 +- .../maps/geo-map/nav-grid/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../navigation-only-panning/.eslintrc.js | 75 - .../geo-map/navigation-only-panning/README.md | 50 + .../geo-map/navigation-only-panning/ReadMe.md | 56 - .../navigation-only-panning/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - samples/maps/geo-map/navigation/.eslintrc.js | 75 - samples/maps/geo-map/navigation/README.md | 12 +- samples/maps/geo-map/navigation/package.json | 22 +- .../geo-map/navigation/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/maps/geo-map/overview/.eslintrc.js | 75 - samples/maps/geo-map/overview/README.md | 12 +- samples/maps/geo-map/overview/package.json | 22 +- .../maps/geo-map/overview/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../maps/geo-map/shape-selection/.eslintrc.js | 75 - .../maps/geo-map/shape-selection/README.md | 12 +- .../maps/geo-map/shape-selection/package.json | 22 +- .../shape-selection/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../maps/geo-map/shape-styling/.eslintrc.js | 75 - samples/maps/geo-map/shape-styling/README.md | 12 +- .../maps/geo-map/shape-styling/package.json | 22 +- .../geo-map/shape-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../maps/geo-map/synchronization/.eslintrc.js | 75 - .../maps/geo-map/synchronization/README.md | 12 +- .../maps/geo-map/synchronization/package.json | 22 +- .../synchronization/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../geo-map/triangulating-data/.eslintrc.js | 75 - .../maps/geo-map/triangulating-data/README.md | 12 +- .../geo-map/triangulating-data/package.json | 22 +- .../triangulating-data/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-area-series/.eslintrc.js | 75 - .../type-scatter-area-series/README.md | 12 +- .../type-scatter-area-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-bubble-series/.eslintrc.js | 75 - .../type-scatter-bubble-series/README.md | 12 +- .../type-scatter-bubble-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-contour-series/.eslintrc.js | 75 - .../type-scatter-contour-series/README.md | 12 +- .../type-scatter-contour-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-density-series/.eslintrc.js | 75 - .../type-scatter-density-series/README.md | 12 +- .../type-scatter-density-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-scatter-symbol-series/.eslintrc.js | 75 - .../type-scatter-symbol-series/README.md | 12 +- .../type-scatter-symbol-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-shape-polygon-series/.eslintrc.js | 75 - .../type-shape-polygon-series/README.md | 12 +- .../type-shape-polygon-series/package.json | 22 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../type-shape-polyline-series/.eslintrc.js | 75 - .../type-shape-polyline-series/README.md | 12 +- .../type-shape-polyline-series/package.json | 22 +- .../sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - samples/menus/nav-bar/overview/.eslintrc.js | 75 - samples/menus/nav-bar/overview/README.md | 12 +- samples/menus/nav-bar/overview/package.json | 26 +- .../nav-bar/overview/sandbox.config.json | 5 - samples/menus/nav-bar/overview/src/index.tsx | 59 +- samples/menus/nav-bar/overview/tsconfig.json | 24 + .../styling/.devcontainer/devcontainer.json | 4 - samples/menus/nav-bar/styling/.eslintrc.js | 75 - samples/menus/nav-bar/styling/README.md | 12 +- samples/menus/nav-bar/styling/package.json | 26 +- .../menus/nav-bar/styling/sandbox.config.json | 5 - samples/menus/nav-bar/styling/src/index.tsx | 64 +- samples/menus/nav-bar/styling/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../nav-drawer/add-drawer-items/.eslintrc.js | 75 - .../nav-drawer/add-drawer-items/README.md | 12 +- .../nav-drawer/add-drawer-items/package.json | 26 +- .../add-drawer-items/sandbox.config.json | 5 - .../nav-drawer/add-drawer-items/src/index.tsx | 117 +- .../nav-drawer/add-drawer-items/tsconfig.json | 46 +- .../add-mini/.devcontainer/devcontainer.json | 4 - .../menus/nav-drawer/add-mini/.eslintrc.js | 75 - samples/menus/nav-drawer/add-mini/README.md | 12 +- .../menus/nav-drawer/add-mini/package.json | 26 +- .../nav-drawer/add-mini/sandbox.config.json | 5 - .../menus/nav-drawer/add-mini/src/index.tsx | 145 +- .../menus/nav-drawer/add-mini/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../add-positions-navbar/.eslintrc.js | 75 - .../nav-drawer/add-positions-navbar/README.md | 12 +- .../add-positions-navbar/package.json | 26 +- .../add-positions-navbar/sandbox.config.json | 5 - .../add-positions-navbar/src/index.tsx | 165 +- .../add-positions-navbar/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - samples/menus/nav-drawer/styling/.eslintrc.js | 75 - samples/menus/nav-drawer/styling/README.md | 12 +- samples/menus/nav-drawer/styling/package.json | 26 +- .../nav-drawer/styling/sandbox.config.json | 5 - .../menus/nav-drawer/styling/src/index.tsx | 116 +- .../menus/nav-drawer/styling/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../banner-advanced-sample/.eslintrc.js | 75 - .../banner/banner-advanced-sample/README.md | 12 +- .../banner-advanced-sample/package.json | 24 +- .../sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../banner/banner-sample-1/.eslintrc.js | 75 - .../banner/banner-sample-1/README.md | 12 +- .../banner/banner-sample-1/package.json | 24 +- .../banner-sample-1/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../banner/banner-sample-2/.eslintrc.js | 75 - .../banner/banner-sample-2/README.md | 12 +- .../banner/banner-sample-2/package.json | 24 +- .../banner-sample-2/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../banner/banner-styling/.eslintrc.js | 75 - .../banner/banner-styling/README.md | 12 +- .../banner/banner-styling/package.json | 24 +- .../banner/banner-styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../dialog/closing-variations/.eslintrc.js | 75 - .../dialog/closing-variations/README.md | 12 +- .../dialog/closing-variations/package.json | 26 +- .../closing-variations/sandbox.config.json | 5 - .../dialog/closing-variations/src/index.tsx | 85 +- .../dialog/closing-variations/tsconfig.json | 46 +- .../form/.devcontainer/devcontainer.json | 4 - .../notifications/dialog/form/.eslintrc.js | 75 - samples/notifications/dialog/form/README.md | 12 +- .../notifications/dialog/form/package.json | 26 +- .../dialog/form/sandbox.config.json | 5 - .../notifications/dialog/form/src/index.tsx | 97 +- .../notifications/dialog/form/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - .../dialog/overview/.eslintrc.js | 75 - .../notifications/dialog/overview/README.md | 12 +- .../dialog/overview/package.json | 26 +- .../dialog/overview/sandbox.config.json | 5 - .../dialog/overview/src/index.tsx | 67 +- .../dialog/overview/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - .../notifications/dialog/styling/.eslintrc.js | 75 - .../notifications/dialog/styling/README.md | 12 +- .../notifications/dialog/styling/package.json | 26 +- .../dialog/styling/sandbox.config.json | 5 - .../dialog/styling/src/index.tsx | 69 +- .../dialog/styling/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../snackbar/action-text/.eslintrc.js | 75 - .../snackbar/action-text/README.md | 12 +- .../snackbar/action-text/package.json | 26 +- .../snackbar/action-text/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../snackbar/display-time/.eslintrc.js | 75 - .../snackbar/display-time/README.md | 12 +- .../snackbar/display-time/package.json | 26 +- .../snackbar/display-time/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../snackbar/overview/.eslintrc.js | 75 - .../notifications/snackbar/overview/README.md | 12 +- .../snackbar/overview/package.json | 26 +- .../snackbar/overview/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - .../snackbar/styling/.eslintrc.js | 75 - .../notifications/snackbar/styling/README.md | 12 +- .../snackbar/styling/package.json | 26 +- .../snackbar/styling/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../notifications/toast/overview/.eslintrc.js | 75 - .../notifications/toast/overview/README.md | 12 +- .../notifications/toast/overview/package.json | 26 +- .../toast/overview/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../toast/properties/.eslintrc.js | 75 - .../notifications/toast/properties/README.md | 12 +- .../toast/properties/package.json | 26 +- .../toast/properties/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - .../notifications/toast/styling/.eslintrc.js | 75 - samples/notifications/toast/styling/README.md | 12 +- .../notifications/toast/styling/package.json | 26 +- .../toast/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../calendar/disabled-dates/.eslintrc.js | 75 - .../calendar/disabled-dates/README.md | 12 +- .../calendar/disabled-dates/package.json | 26 +- .../disabled-dates/sandbox.config.json | 5 - .../calendar/disabled-dates/src/index.tsx | 46 +- .../calendar/disabled-dates/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../calendar/formatting/.eslintrc.js | 75 - .../scheduling/calendar/formatting/README.md | 12 +- .../calendar/formatting/package.json | 26 +- .../calendar/formatting/sandbox.config.json | 5 - .../calendar/formatting/src/index.tsx | 90 +- .../calendar/formatting/tsconfig.json | 46 +- .../header/.devcontainer/devcontainer.json | 4 - .../scheduling/calendar/header/.eslintrc.js | 75 - samples/scheduling/calendar/header/README.md | 12 +- .../scheduling/calendar/header/package.json | 26 +- .../calendar/header/sandbox.config.json | 5 - .../scheduling/calendar/header/src/index.tsx | 32 +- .../scheduling/calendar/header/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../calendar/multiple-months/.eslintrc.js | 75 - .../calendar/multiple-months/README.md | 12 +- .../calendar/multiple-months/package.json | 26 +- .../multiple-months/sandbox.config.json | 5 - .../calendar/multiple-months/src/index.tsx | 24 +- .../calendar/multiple-months/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../calendar/multiple-selection/.eslintrc.js | 75 - .../calendar/multiple-selection/README.md | 12 +- .../calendar/multiple-selection/package.json | 26 +- .../multiple-selection/sandbox.config.json | 5 - .../calendar/multiple-selection/src/index.tsx | 24 +- .../calendar/multiple-selection/tsconfig.json | 46 +- .../overview/.devcontainer/devcontainer.json | 4 - .../scheduling/calendar/overview/.eslintrc.js | 75 - .../scheduling/calendar/overview/README.md | 12 +- .../scheduling/calendar/overview/package.json | 26 +- .../calendar/overview/sandbox.config.json | 5 - .../calendar/overview/src/index.tsx | 24 +- .../calendar/overview/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../calendar/range-selection/.eslintrc.js | 75 - .../calendar/range-selection/README.md | 12 +- .../calendar/range-selection/package.json | 26 +- .../range-selection/sandbox.config.json | 5 - .../calendar/range-selection/src/index.tsx | 24 +- .../calendar/range-selection/tsconfig.json | 46 +- .../size/.devcontainer/devcontainer.json | 4 - samples/scheduling/calendar/size/.eslintrc.js | 75 - samples/scheduling/calendar/size/README.md | 12 +- samples/scheduling/calendar/size/package.json | 26 +- .../calendar/size/sandbox.config.json | 5 - .../scheduling/calendar/size/src/index.tsx | 71 +- .../scheduling/calendar/size/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../calendar/special-dates/.eslintrc.js | 75 - .../calendar/special-dates/README.md | 12 +- .../calendar/special-dates/package.json | 26 +- .../special-dates/sandbox.config.json | 5 - .../calendar/special-dates/src/index.tsx | 46 +- .../calendar/special-dates/tsconfig.json | 46 +- .../styling/.devcontainer/devcontainer.json | 4 - .../scheduling/calendar/styling/.eslintrc.js | 75 - samples/scheduling/calendar/styling/README.md | 12 +- .../scheduling/calendar/styling/package.json | 26 +- .../calendar/styling/sandbox.config.json | 5 - .../scheduling/calendar/styling/src/index.tsx | 24 +- .../scheduling/calendar/styling/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../calendar/week-numbers/.eslintrc.js | 75 - .../calendar/week-numbers/README.md | 12 +- .../calendar/week-numbers/package.json | 26 +- .../calendar/week-numbers/sandbox.config.json | 5 - .../calendar/week-numbers/src/index.tsx | 24 +- .../calendar/week-numbers/tsconfig.json | 46 +- .../.devcontainer/devcontainer.json | 4 - .../date-picker/dialog-mode/.eslintrc.js | 75 - .../date-picker/dialog-mode/README.md | 12 +- .../date-picker/dialog-mode/package.json | 26 +- .../dialog-mode/sandbox.config.json | 5 - .../form/.devcontainer/devcontainer.json | 4 - .../scheduling/date-picker/form/.eslintrc.js | 75 - samples/scheduling/date-picker/form/README.md | 12 +- .../scheduling/date-picker/form/package.json | 26 +- .../date-picker/form/sandbox.config.json | 5 - .../format/.devcontainer/devcontainer.json | 4 - .../date-picker/format/.eslintrc.js | 75 - .../scheduling/date-picker/format/README.md | 12 +- .../date-picker/format/package.json | 26 +- .../date-picker/format/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../date-picker/overview/.eslintrc.js | 75 - .../scheduling/date-picker/overview/README.md | 12 +- .../date-picker/overview/package.json | 26 +- .../date-picker/overview/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - .../date-picker/styling/.eslintrc.js | 75 - .../scheduling/date-picker/styling/README.md | 12 +- .../date-picker/styling/package.json | 26 +- .../date-picker/styling/sandbox.config.json | 5 - .../.devcontainer/devcontainer.json | 4 - .../custom-ranges/.eslintrc.js | 75 - .../date-range-picker/custom-ranges/README.md | 12 +- .../custom-ranges/package.json | 26 +- .../custom-ranges/sandbox.config.json | 5 - .../form/.devcontainer/devcontainer.json | 4 - .../date-range-picker/form/.eslintrc.js | 75 - .../date-range-picker/form/README.md | 12 +- .../date-range-picker/form/package.json | 26 +- .../form/sandbox.config.json | 5 - .../overview/.devcontainer/devcontainer.json | 4 - .../date-range-picker/overview/.eslintrc.js | 75 - .../date-range-picker/overview/README.md | 12 +- .../date-range-picker/overview/package.json | 26 +- .../overview/sandbox.config.json | 5 - .../slots/.devcontainer/devcontainer.json | 4 - .../date-range-picker/slots/.eslintrc.js | 75 - .../date-range-picker/slots/README.md | 12 +- .../date-range-picker/slots/package.json | 26 +- .../slots/sandbox.config.json | 5 - .../styling/.devcontainer/devcontainer.json | 4 - .../date-range-picker/styling/.eslintrc.js | 75 - .../date-range-picker/styling/README.md | 12 +- .../date-range-picker/styling/package.json | 26 +- .../styling/sandbox.config.json | 5 - scripts/add-sample.js | 60 + scripts/copy-ig-themes.js | 59 + scripts/generate-code-viewer.js | 124 + scripts/lib/samples.js | 61 + scripts/lib/templates.js | 149 + scripts/lib/unpublished.json | 9 + scripts/lib/versions.js | 64 + scripts/update-ig.js | 91 + src/assets/react.png | Bin 0 -> 61995 bytes src/env.d.ts | 2 + src/layouts/SampleLayout.astro | 114 + src/pages/[...slug].astro | 127 + src/pages/index.astro | 239 + src/pages/nav.json.ts | 17 + src/pages/samples/[...slug].astro | 43 + src/scripts/nav.ts | 214 + src/utils/sample-index.ts | 14 + .../src => src/utils}/sample-size-reporter.ts | 7 +- src/utils/sample-theme.ts | 183 + src/utils/samples.ts | 213 + tests/smoke/browser.spec.ts | 176 + tests/smoke/samples.spec.ts | 104 + tests/smoke/support.ts | 56 + tsconfig.json | 90 + 5906 files changed, 55848 insertions(+), 169807 deletions(-) delete mode 100644 .env delete mode 100644 .eslintignore delete mode 100644 .gitconfig create mode 100644 .github/workflows/build-and-deploy.yml delete mode 100644 .github/workflows/build-sb.yml create mode 100644 .github/workflows/ci.yml delete mode 100644 .github/workflows/igniteui-react-examples-cd.yml delete mode 100644 CODEOWNERS create mode 100644 astro.config.mjs delete mode 100644 azure-pipelines/build-pipeline.yml delete mode 100644 browser/.env delete mode 100644 browser/.eslintignore delete mode 100644 browser/.eslintrc.js delete mode 100644 browser/README.md delete mode 100644 browser/cleanup.bat delete mode 100644 browser/config-overrides.js delete mode 100644 browser/gulpfile.js delete mode 100644 browser/images.d.ts delete mode 100644 browser/index.html delete mode 100644 browser/package-lock.json delete mode 100644 browser/package.json delete mode 100644 browser/package_move.bat delete mode 100644 browser/public/assets/comingSoon.svg delete mode 100644 browser/public/favicon.ico delete mode 100644 browser/public/images/preview.PNG delete mode 100644 browser/public/logo-ignite-ui.svg delete mode 100644 browser/public/logo192.png delete mode 100644 browser/public/logo512.png delete mode 100644 browser/public/manifest.json delete mode 100644 browser/public/meta.json delete mode 100644 browser/public/robots.txt delete mode 100644 browser/reactSamples.nuspec delete mode 100644 browser/src/index.css delete mode 100644 browser/src/index.tsx delete mode 100644 browser/src/jszip-shim.js delete mode 100644 browser/src/logo.svg delete mode 100644 browser/src/navigation/SamplesBrowser.css delete mode 100644 browser/src/navigation/SamplesBrowser.json delete mode 100644 browser/src/navigation/SamplesBrowser.tsx delete mode 100644 browser/src/navigation/SamplesBuster.tsx delete mode 100644 browser/src/navigation/SamplesCache.tsx delete mode 100644 browser/src/navigation/SamplesData.ts delete mode 100644 browser/src/navigation/SamplesFallback.css delete mode 100644 browser/src/navigation/SamplesFallback.tsx delete mode 100644 browser/src/navigation/SamplesLoading.css delete mode 100644 browser/src/navigation/SamplesLoading.tsx delete mode 100644 browser/src/navigation/SamplesRouter.tsx delete mode 100644 browser/src/navigation/Scrollbars.css delete mode 100644 browser/src/sample-theme.ts delete mode 100644 browser/src/select.css delete mode 100644 browser/src/serviceWorker.ts delete mode 100644 browser/src/setupTests.ts delete mode 100644 browser/src/typedecls.d.ts delete mode 100644 browser/tasks/Transformer.ts delete mode 100644 browser/tasks/copyWebConfig.js delete mode 100644 browser/tasks/gulp-config.js delete mode 100644 browser/tasks/gulp-samples.js delete mode 100644 browser/tasks/web.config delete mode 100644 browser/templates/sample/.devcontainer/devcontainer.json delete mode 100644 browser/templates/sample/.eslintrc.js delete mode 100644 browser/templates/sample/.gitignore delete mode 100644 browser/templates/sample/ReadMe-dev.md delete mode 100644 browser/templates/sample/ReadMe.md delete mode 100644 browser/templates/sample/index.html delete mode 100644 browser/templates/sample/package-remove.json delete mode 100644 browser/templates/sample/package.json delete mode 100644 browser/templates/sample/sandbox.config.json delete mode 100644 browser/templates/sample/src/SampleFileName.css delete mode 100644 browser/templates/sample/src/SampleFileName.tsx delete mode 100644 browser/templates/sample/src/index.css delete mode 100644 browser/templates/sample/src/index.tsx delete mode 100644 browser/templates/sample/tsconfig.json delete mode 100644 browser/templates/shared/public/favicon.ico delete mode 100644 browser/templates/shared/src/CategoryChartSharedData.ts delete mode 100644 browser/templates/shared/src/CountryTreeData.ts delete mode 100644 browser/templates/shared/src/DataChartSharedData.ts delete mode 100644 browser/templates/shared/src/DataGridPager.css delete mode 100644 browser/templates/shared/src/DataGridPager.tsx delete mode 100644 browser/templates/shared/src/DataGridSharedData.ts delete mode 100644 browser/templates/shared/src/DockManagerSharedData.ts delete mode 100644 browser/templates/shared/src/EsriUtility.ts delete mode 100644 browser/templates/shared/src/ExcelSharedData.ts delete mode 100644 browser/templates/shared/src/ExcelUtility.ts delete mode 100644 browser/templates/shared/src/LegendOverlay.css delete mode 100644 browser/templates/shared/src/LegendOverlay.tsx delete mode 100644 browser/templates/shared/src/LiveFinancialData.ts delete mode 100644 browser/templates/shared/src/MapShapeStyleUtility.ts delete mode 100644 browser/templates/shared/src/MapUtils.ts delete mode 100644 browser/templates/shared/src/PeriodicElements.ts delete mode 100644 browser/templates/shared/src/Products.ts delete mode 100644 browser/templates/shared/src/SampleCategoryData.ts delete mode 100644 browser/templates/shared/src/SampleComboData.ts delete mode 100644 browser/templates/shared/src/SampleDensityData.ts delete mode 100644 browser/templates/shared/src/SampleFinancialData.ts delete mode 100644 browser/templates/shared/src/SamplePolarData.ts delete mode 100644 browser/templates/shared/src/SampleRadialData.ts delete mode 100644 browser/templates/shared/src/SampleRangeData.ts delete mode 100644 browser/templates/shared/src/SampleScatterData.ts delete mode 100644 browser/templates/shared/src/SampleScatterStats.ts delete mode 100644 browser/templates/shared/src/SampleShapeData.ts delete mode 100644 browser/templates/shared/src/SampleTreeData.ts delete mode 100644 browser/templates/shared/src/SparklineSharedData.ts delete mode 100644 browser/templates/shared/src/StockIndexData.ts delete mode 100644 browser/templates/shared/src/StocksHistory.ts delete mode 100644 browser/templates/shared/src/StocksUtility.ts delete mode 100644 browser/templates/shared/src/StringUtils.ts delete mode 100644 browser/templates/shared/src/TaskUtil.ts delete mode 100644 browser/templates/shared/src/WorldCities.ts delete mode 100644 browser/templates/shared/src/WorldConnections.ts delete mode 100644 browser/templates/shared/src/WorldLocations.ts delete mode 100644 browser/templates/shared/src/WorldUtils.ts delete mode 100644 browser/templates/shared/src/heatworker.worker.ts delete mode 100644 browser/tsconfig.json delete mode 100644 browser/tsconfig.paths.json delete mode 100644 browser/tsconfig.prod.json delete mode 100644 browser/tsconfig.test.json delete mode 100644 browser/tslint.json delete mode 100644 browser/vite.config.js create mode 100644 package.json create mode 100644 playwright.config.ts create mode 100644 postcss.config.mjs create mode 100644 public/styles/layout.css create mode 100644 public/web.config delete mode 100644 samples/charts/category-chart/annotations-all/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/annotations-all/.eslintrc.js create mode 100644 samples/charts/category-chart/annotations-all/README.md delete mode 100644 samples/charts/category-chart/annotations-all/ReadMe.md delete mode 100644 samples/charts/category-chart/annotations-all/sandbox.config.json delete mode 100644 samples/charts/category-chart/annotations-callouts/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/annotations-callouts/.eslintrc.js create mode 100644 samples/charts/category-chart/annotations-callouts/README.md delete mode 100644 samples/charts/category-chart/annotations-callouts/ReadMe.md delete mode 100644 samples/charts/category-chart/annotations-callouts/sandbox.config.json delete mode 100644 samples/charts/category-chart/annotations-crosshairs/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/annotations-crosshairs/.eslintrc.js create mode 100644 samples/charts/category-chart/annotations-crosshairs/README.md delete mode 100644 samples/charts/category-chart/annotations-crosshairs/ReadMe.md delete mode 100644 samples/charts/category-chart/annotations-crosshairs/sandbox.config.json delete mode 100644 samples/charts/category-chart/annotations-custom/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/annotations-custom/.eslintrc.js create mode 100644 samples/charts/category-chart/annotations-custom/README.md delete mode 100644 samples/charts/category-chart/annotations-custom/ReadMe.md delete mode 100644 samples/charts/category-chart/annotations-custom/sandbox.config.json delete mode 100644 samples/charts/category-chart/annotations-final-value/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/annotations-final-value/.eslintrc.js create mode 100644 samples/charts/category-chart/annotations-final-value/README.md delete mode 100644 samples/charts/category-chart/annotations-final-value/ReadMe.md delete mode 100644 samples/charts/category-chart/annotations-final-value/sandbox.config.json delete mode 100644 samples/charts/category-chart/annotations-highlighting/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/annotations-highlighting/.eslintrc.js create mode 100644 samples/charts/category-chart/annotations-highlighting/README.md delete mode 100644 samples/charts/category-chart/annotations-highlighting/ReadMe.md delete mode 100644 samples/charts/category-chart/annotations-highlighting/sandbox.config.json delete mode 100644 samples/charts/category-chart/annotations/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/annotations/.eslintrc.js delete mode 100644 samples/charts/category-chart/annotations/sandbox.config.json delete mode 100644 samples/charts/category-chart/area-chart-multiple-sources/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/area-chart-multiple-sources/.eslintrc.js create mode 100644 samples/charts/category-chart/area-chart-multiple-sources/README.md delete mode 100644 samples/charts/category-chart/area-chart-multiple-sources/ReadMe.md delete mode 100644 samples/charts/category-chart/area-chart-multiple-sources/sandbox.config.json delete mode 100644 samples/charts/category-chart/area-chart-single-source/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/area-chart-single-source/.eslintrc.js create mode 100644 samples/charts/category-chart/area-chart-single-source/README.md delete mode 100644 samples/charts/category-chart/area-chart-single-source/ReadMe.md delete mode 100644 samples/charts/category-chart/area-chart-single-source/sandbox.config.json delete mode 100644 samples/charts/category-chart/area-chart-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/area-chart-styling/.eslintrc.js create mode 100644 samples/charts/category-chart/area-chart-styling/README.md delete mode 100644 samples/charts/category-chart/area-chart-styling/ReadMe.md delete mode 100644 samples/charts/category-chart/area-chart-styling/sandbox.config.json delete mode 100644 samples/charts/category-chart/axis-gap/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/axis-gap/.eslintrc.js create mode 100644 samples/charts/category-chart/axis-gap/README.md delete mode 100644 samples/charts/category-chart/axis-gap/ReadMe.md delete mode 100644 samples/charts/category-chart/axis-gap/sandbox.config.json delete mode 100644 samples/charts/category-chart/axis-gridlines/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/axis-gridlines/.eslintrc.js create mode 100644 samples/charts/category-chart/axis-gridlines/README.md delete mode 100644 samples/charts/category-chart/axis-gridlines/ReadMe.md delete mode 100644 samples/charts/category-chart/axis-gridlines/sandbox.config.json delete mode 100644 samples/charts/category-chart/axis-inverted/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/axis-inverted/.eslintrc.js create mode 100644 samples/charts/category-chart/axis-inverted/README.md delete mode 100644 samples/charts/category-chart/axis-inverted/ReadMe.md delete mode 100644 samples/charts/category-chart/axis-inverted/sandbox.config.json delete mode 100644 samples/charts/category-chart/axis-labels/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/axis-labels/.eslintrc.js create mode 100644 samples/charts/category-chart/axis-labels/README.md delete mode 100644 samples/charts/category-chart/axis-labels/ReadMe.md delete mode 100644 samples/charts/category-chart/axis-labels/sandbox.config.json delete mode 100644 samples/charts/category-chart/axis-locations/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/axis-locations/.eslintrc.js create mode 100644 samples/charts/category-chart/axis-locations/README.md delete mode 100644 samples/charts/category-chart/axis-locations/ReadMe.md delete mode 100644 samples/charts/category-chart/axis-locations/sandbox.config.json delete mode 100644 samples/charts/category-chart/axis-options/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/axis-options/.eslintrc.js delete mode 100644 samples/charts/category-chart/axis-options/sandbox.config.json delete mode 100644 samples/charts/category-chart/axis-overlap/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/axis-overlap/.eslintrc.js delete mode 100644 samples/charts/category-chart/axis-overlap/sandbox.config.json delete mode 100644 samples/charts/category-chart/axis-range/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/axis-range/.eslintrc.js delete mode 100644 samples/charts/category-chart/axis-range/sandbox.config.json delete mode 100644 samples/charts/category-chart/axis-tickmarks/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/axis-tickmarks/.eslintrc.js create mode 100644 samples/charts/category-chart/axis-tickmarks/README.md delete mode 100644 samples/charts/category-chart/axis-tickmarks/ReadMe.md delete mode 100644 samples/charts/category-chart/axis-tickmarks/sandbox.config.json delete mode 100644 samples/charts/category-chart/axis-titles/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/axis-titles/.eslintrc.js create mode 100644 samples/charts/category-chart/axis-titles/README.md delete mode 100644 samples/charts/category-chart/axis-titles/ReadMe.md delete mode 100644 samples/charts/category-chart/axis-titles/sandbox.config.json delete mode 100644 samples/charts/category-chart/chart-highlight-filter/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/chart-highlight-filter/.eslintrc.js create mode 100644 samples/charts/category-chart/chart-highlight-filter/README.md delete mode 100644 samples/charts/category-chart/chart-highlight-filter/ReadMe.md delete mode 100644 samples/charts/category-chart/chart-highlight-filter/sandbox.config.json delete mode 100644 samples/charts/category-chart/column-chart-multiple-sources/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/column-chart-multiple-sources/.eslintrc.js create mode 100644 samples/charts/category-chart/column-chart-multiple-sources/README.md delete mode 100644 samples/charts/category-chart/column-chart-multiple-sources/ReadMe.md delete mode 100644 samples/charts/category-chart/column-chart-multiple-sources/sandbox.config.json delete mode 100644 samples/charts/category-chart/column-chart-single-source/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/column-chart-single-source/.eslintrc.js create mode 100644 samples/charts/category-chart/column-chart-single-source/README.md delete mode 100644 samples/charts/category-chart/column-chart-single-source/ReadMe.md delete mode 100644 samples/charts/category-chart/column-chart-single-source/sandbox.config.json delete mode 100644 samples/charts/category-chart/column-chart-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/column-chart-styling/.eslintrc.js create mode 100644 samples/charts/category-chart/column-chart-styling/README.md delete mode 100644 samples/charts/category-chart/column-chart-styling/ReadMe.md delete mode 100644 samples/charts/category-chart/column-chart-styling/sandbox.config.json delete mode 100644 samples/charts/category-chart/column-chart-with-highlighting/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/column-chart-with-highlighting/.eslintrc.js delete mode 100644 samples/charts/category-chart/column-chart-with-highlighting/sandbox.config.json delete mode 100644 samples/charts/category-chart/column-chart-with-tooltips/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/column-chart-with-tooltips/.eslintrc.js delete mode 100644 samples/charts/category-chart/column-chart-with-tooltips/sandbox.config.json delete mode 100644 samples/charts/category-chart/custom-selection/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/custom-selection/.eslintrc.js create mode 100644 samples/charts/category-chart/custom-selection/README.md delete mode 100644 samples/charts/category-chart/custom-selection/ReadMe.md delete mode 100644 samples/charts/category-chart/custom-selection/sandbox.config.json delete mode 100644 samples/charts/category-chart/data-aggregations/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/data-aggregations/.eslintrc.js create mode 100644 samples/charts/category-chart/data-aggregations/README.md delete mode 100644 samples/charts/category-chart/data-aggregations/ReadMe.md delete mode 100644 samples/charts/category-chart/data-aggregations/sandbox.config.json delete mode 100644 samples/charts/category-chart/data-filter/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/data-filter/.eslintrc.js create mode 100644 samples/charts/category-chart/data-filter/README.md delete mode 100644 samples/charts/category-chart/data-filter/ReadMe.md delete mode 100644 samples/charts/category-chart/data-filter/sandbox.config.json delete mode 100644 samples/charts/category-chart/data-legend-formatting-decimals/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/data-legend-formatting-decimals/.eslintrc.js create mode 100644 samples/charts/category-chart/data-legend-formatting-decimals/README.md delete mode 100644 samples/charts/category-chart/data-legend-formatting-decimals/ReadMe.md delete mode 100644 samples/charts/category-chart/data-legend-formatting-decimals/sandbox.config.json delete mode 100644 samples/charts/category-chart/data-legend/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/data-legend/.eslintrc.js create mode 100644 samples/charts/category-chart/data-legend/README.md delete mode 100644 samples/charts/category-chart/data-legend/ReadMe.md delete mode 100644 samples/charts/category-chart/data-legend/sandbox.config.json delete mode 100644 samples/charts/category-chart/data-tooltip-formatting-decimals/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/data-tooltip-formatting-decimals/.eslintrc.js create mode 100644 samples/charts/category-chart/data-tooltip-formatting-decimals/README.md delete mode 100644 samples/charts/category-chart/data-tooltip-formatting-decimals/ReadMe.md delete mode 100644 samples/charts/category-chart/data-tooltip-formatting-decimals/sandbox.config.json delete mode 100644 samples/charts/category-chart/data-tooltip-positioning/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/data-tooltip-positioning/.eslintrc.js create mode 100644 samples/charts/category-chart/data-tooltip-positioning/README.md delete mode 100644 samples/charts/category-chart/data-tooltip-positioning/ReadMe.md delete mode 100644 samples/charts/category-chart/data-tooltip-positioning/sandbox.config.json delete mode 100644 samples/charts/category-chart/data-tooltip/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/data-tooltip/.eslintrc.js create mode 100644 samples/charts/category-chart/data-tooltip/README.md delete mode 100644 samples/charts/category-chart/data-tooltip/ReadMe.md delete mode 100644 samples/charts/category-chart/data-tooltip/sandbox.config.json delete mode 100644 samples/charts/category-chart/format-specifiers/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/format-specifiers/.eslintrc.js create mode 100644 samples/charts/category-chart/format-specifiers/README.md delete mode 100644 samples/charts/category-chart/format-specifiers/ReadMe.md delete mode 100644 samples/charts/category-chart/format-specifiers/sandbox.config.json delete mode 100644 samples/charts/category-chart/high-frequency/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/high-frequency/.eslintrc.js delete mode 100644 samples/charts/category-chart/high-frequency/sandbox.config.json delete mode 100644 samples/charts/category-chart/high-volume/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/high-volume/.eslintrc.js delete mode 100644 samples/charts/category-chart/high-volume/sandbox.config.json delete mode 100644 samples/charts/category-chart/highlighting-behavior/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/highlighting-behavior/.eslintrc.js create mode 100644 samples/charts/category-chart/highlighting-behavior/README.md delete mode 100644 samples/charts/category-chart/highlighting-behavior/ReadMe.md delete mode 100644 samples/charts/category-chart/highlighting-behavior/sandbox.config.json delete mode 100644 samples/charts/category-chart/highlighting-mode/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/highlighting-mode/.eslintrc.js create mode 100644 samples/charts/category-chart/highlighting-mode/README.md delete mode 100644 samples/charts/category-chart/highlighting-mode/ReadMe.md delete mode 100644 samples/charts/category-chart/highlighting-mode/sandbox.config.json delete mode 100644 samples/charts/category-chart/highlighting/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/highlighting/.eslintrc.js delete mode 100644 samples/charts/category-chart/highlighting/sandbox.config.json delete mode 100644 samples/charts/category-chart/legend-highlighting/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/legend-highlighting/.eslintrc.js create mode 100644 samples/charts/category-chart/legend-highlighting/README.md delete mode 100644 samples/charts/category-chart/legend-highlighting/ReadMe.md delete mode 100644 samples/charts/category-chart/legend-highlighting/sandbox.config.json delete mode 100644 samples/charts/category-chart/line-chart-multiple-sources/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/line-chart-multiple-sources/.eslintrc.js delete mode 100644 samples/charts/category-chart/line-chart-multiple-sources/sandbox.config.json delete mode 100644 samples/charts/category-chart/line-chart-single-source/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/line-chart-single-source/.eslintrc.js delete mode 100644 samples/charts/category-chart/line-chart-single-source/sandbox.config.json delete mode 100644 samples/charts/category-chart/line-chart-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/line-chart-styling/.eslintrc.js delete mode 100644 samples/charts/category-chart/line-chart-styling/sandbox.config.json delete mode 100644 samples/charts/category-chart/line-chart-with-animations/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/line-chart-with-animations/.eslintrc.js delete mode 100644 samples/charts/category-chart/line-chart-with-animations/sandbox.config.json delete mode 100644 samples/charts/category-chart/line-chart-with-annotations/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/line-chart-with-annotations/.eslintrc.js delete mode 100644 samples/charts/category-chart/line-chart-with-annotations/sandbox.config.json delete mode 100644 samples/charts/category-chart/marker-options/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/marker-options/.eslintrc.js delete mode 100644 samples/charts/category-chart/marker-options/sandbox.config.json delete mode 100644 samples/charts/category-chart/marker-templates/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/marker-templates/.eslintrc.js delete mode 100644 samples/charts/category-chart/marker-templates/sandbox.config.json delete mode 100644 samples/charts/category-chart/overview/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/overview/.eslintrc.js delete mode 100644 samples/charts/category-chart/overview/sandbox.config.json delete mode 100644 samples/charts/category-chart/point-chart-multiple-sources/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/point-chart-multiple-sources/.eslintrc.js create mode 100644 samples/charts/category-chart/point-chart-multiple-sources/README.md delete mode 100644 samples/charts/category-chart/point-chart-multiple-sources/ReadMe.md delete mode 100644 samples/charts/category-chart/point-chart-multiple-sources/sandbox.config.json delete mode 100644 samples/charts/category-chart/point-chart-single-source/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/point-chart-single-source/.eslintrc.js create mode 100644 samples/charts/category-chart/point-chart-single-source/README.md delete mode 100644 samples/charts/category-chart/point-chart-single-source/ReadMe.md delete mode 100644 samples/charts/category-chart/point-chart-single-source/sandbox.config.json delete mode 100644 samples/charts/category-chart/point-chart-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/point-chart-styling/.eslintrc.js create mode 100644 samples/charts/category-chart/point-chart-styling/README.md delete mode 100644 samples/charts/category-chart/point-chart-styling/ReadMe.md delete mode 100644 samples/charts/category-chart/point-chart-styling/sandbox.config.json delete mode 100644 samples/charts/category-chart/selection-matcher/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/selection-matcher/.eslintrc.js create mode 100644 samples/charts/category-chart/selection-matcher/README.md delete mode 100644 samples/charts/category-chart/selection-matcher/ReadMe.md delete mode 100644 samples/charts/category-chart/selection-matcher/sandbox.config.json delete mode 100644 samples/charts/category-chart/selection-modes/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/selection-modes/.eslintrc.js create mode 100644 samples/charts/category-chart/selection-modes/README.md delete mode 100644 samples/charts/category-chart/selection-modes/ReadMe.md delete mode 100644 samples/charts/category-chart/selection-modes/sandbox.config.json delete mode 100644 samples/charts/category-chart/selection-multiple-modes/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/selection-multiple-modes/.eslintrc.js create mode 100644 samples/charts/category-chart/selection-multiple-modes/README.md delete mode 100644 samples/charts/category-chart/selection-multiple-modes/ReadMe.md delete mode 100644 samples/charts/category-chart/selection-multiple-modes/sandbox.config.json delete mode 100644 samples/charts/category-chart/spline-area-multiple-sources/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/spline-area-multiple-sources/.eslintrc.js create mode 100644 samples/charts/category-chart/spline-area-multiple-sources/README.md delete mode 100644 samples/charts/category-chart/spline-area-multiple-sources/ReadMe.md delete mode 100644 samples/charts/category-chart/spline-area-multiple-sources/sandbox.config.json delete mode 100644 samples/charts/category-chart/spline-area-single-source/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/spline-area-single-source/.eslintrc.js create mode 100644 samples/charts/category-chart/spline-area-single-source/README.md delete mode 100644 samples/charts/category-chart/spline-area-single-source/ReadMe.md delete mode 100644 samples/charts/category-chart/spline-area-single-source/sandbox.config.json delete mode 100644 samples/charts/category-chart/spline-area-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/spline-area-styling/.eslintrc.js create mode 100644 samples/charts/category-chart/spline-area-styling/README.md delete mode 100644 samples/charts/category-chart/spline-area-styling/ReadMe.md delete mode 100644 samples/charts/category-chart/spline-area-styling/sandbox.config.json delete mode 100644 samples/charts/category-chart/spline-multiple-sources/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/spline-multiple-sources/.eslintrc.js create mode 100644 samples/charts/category-chart/spline-multiple-sources/README.md delete mode 100644 samples/charts/category-chart/spline-multiple-sources/ReadMe.md delete mode 100644 samples/charts/category-chart/spline-multiple-sources/sandbox.config.json delete mode 100644 samples/charts/category-chart/spline-single-source/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/spline-single-source/.eslintrc.js create mode 100644 samples/charts/category-chart/spline-single-source/README.md delete mode 100644 samples/charts/category-chart/spline-single-source/ReadMe.md delete mode 100644 samples/charts/category-chart/spline-single-source/sandbox.config.json delete mode 100644 samples/charts/category-chart/spline-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/spline-styling/.eslintrc.js create mode 100644 samples/charts/category-chart/spline-styling/README.md delete mode 100644 samples/charts/category-chart/spline-styling/ReadMe.md delete mode 100644 samples/charts/category-chart/spline-styling/sandbox.config.json delete mode 100644 samples/charts/category-chart/stack-columns/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/stack-columns/.eslintrc.js delete mode 100644 samples/charts/category-chart/stack-columns/sandbox.config.json delete mode 100644 samples/charts/category-chart/step-area-multiple-sources/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/step-area-multiple-sources/.eslintrc.js create mode 100644 samples/charts/category-chart/step-area-multiple-sources/README.md delete mode 100644 samples/charts/category-chart/step-area-multiple-sources/ReadMe.md delete mode 100644 samples/charts/category-chart/step-area-multiple-sources/sandbox.config.json delete mode 100644 samples/charts/category-chart/step-area-single-source/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/step-area-single-source/.eslintrc.js create mode 100644 samples/charts/category-chart/step-area-single-source/README.md delete mode 100644 samples/charts/category-chart/step-area-single-source/ReadMe.md delete mode 100644 samples/charts/category-chart/step-area-single-source/sandbox.config.json delete mode 100644 samples/charts/category-chart/step-area-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/step-area-styling/.eslintrc.js create mode 100644 samples/charts/category-chart/step-area-styling/README.md delete mode 100644 samples/charts/category-chart/step-area-styling/ReadMe.md delete mode 100644 samples/charts/category-chart/step-area-styling/sandbox.config.json delete mode 100644 samples/charts/category-chart/step-line-multiple-sources/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/step-line-multiple-sources/.eslintrc.js create mode 100644 samples/charts/category-chart/step-line-multiple-sources/README.md delete mode 100644 samples/charts/category-chart/step-line-multiple-sources/ReadMe.md delete mode 100644 samples/charts/category-chart/step-line-multiple-sources/sandbox.config.json delete mode 100644 samples/charts/category-chart/step-line-single-source/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/step-line-single-source/.eslintrc.js create mode 100644 samples/charts/category-chart/step-line-single-source/README.md delete mode 100644 samples/charts/category-chart/step-line-single-source/ReadMe.md delete mode 100644 samples/charts/category-chart/step-line-single-source/sandbox.config.json delete mode 100644 samples/charts/category-chart/step-line-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/step-line-styling/.eslintrc.js create mode 100644 samples/charts/category-chart/step-line-styling/README.md delete mode 100644 samples/charts/category-chart/step-line-styling/ReadMe.md delete mode 100644 samples/charts/category-chart/step-line-styling/sandbox.config.json delete mode 100644 samples/charts/category-chart/tooltip-template/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/tooltip-template/.eslintrc.js delete mode 100644 samples/charts/category-chart/tooltip-template/sandbox.config.json delete mode 100644 samples/charts/category-chart/tooltip-types/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/tooltip-types/.eslintrc.js delete mode 100644 samples/charts/category-chart/tooltip-types/sandbox.config.json delete mode 100644 samples/charts/category-chart/trendline/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/trendline/.eslintrc.js delete mode 100644 samples/charts/category-chart/trendline/sandbox.config.json delete mode 100644 samples/charts/category-chart/value-lines/.devcontainer/devcontainer.json delete mode 100644 samples/charts/category-chart/value-lines/.eslintrc.js create mode 100644 samples/charts/category-chart/value-lines/README.md delete mode 100644 samples/charts/category-chart/value-lines/ReadMe.md delete mode 100644 samples/charts/category-chart/value-lines/sandbox.config.json delete mode 100644 samples/charts/dashboard-tile/chart-dashboard/.devcontainer/devcontainer.json delete mode 100644 samples/charts/dashboard-tile/chart-dashboard/.eslintrc.js create mode 100644 samples/charts/dashboard-tile/chart-dashboard/README.md delete mode 100644 samples/charts/dashboard-tile/chart-dashboard/ReadMe.md delete mode 100644 samples/charts/dashboard-tile/chart-dashboard/sandbox.config.json delete mode 100644 samples/charts/dashboard-tile/financial-dashboard/.devcontainer/devcontainer.json delete mode 100644 samples/charts/dashboard-tile/financial-dashboard/.eslintrc.js create mode 100644 samples/charts/dashboard-tile/financial-dashboard/README.md delete mode 100644 samples/charts/dashboard-tile/financial-dashboard/ReadMe.md delete mode 100644 samples/charts/dashboard-tile/financial-dashboard/sandbox.config.json delete mode 100644 samples/charts/dashboard-tile/gauge-dashboard/.devcontainer/devcontainer.json delete mode 100644 samples/charts/dashboard-tile/gauge-dashboard/.eslintrc.js create mode 100644 samples/charts/dashboard-tile/gauge-dashboard/README.md delete mode 100644 samples/charts/dashboard-tile/gauge-dashboard/ReadMe.md delete mode 100644 samples/charts/dashboard-tile/gauge-dashboard/sandbox.config.json delete mode 100644 samples/charts/dashboard-tile/local-data-source-dashboard/.devcontainer/devcontainer.json delete mode 100644 samples/charts/dashboard-tile/local-data-source-dashboard/.eslintrc.js create mode 100644 samples/charts/dashboard-tile/local-data-source-dashboard/README.md delete mode 100644 samples/charts/dashboard-tile/local-data-source-dashboard/ReadMe.md delete mode 100644 samples/charts/dashboard-tile/local-data-source-dashboard/sandbox.config.json delete mode 100644 samples/charts/dashboard-tile/map-dashboard/.devcontainer/devcontainer.json delete mode 100644 samples/charts/dashboard-tile/map-dashboard/.eslintrc.js create mode 100644 samples/charts/dashboard-tile/map-dashboard/README.md delete mode 100644 samples/charts/dashboard-tile/map-dashboard/ReadMe.md delete mode 100644 samples/charts/dashboard-tile/map-dashboard/sandbox.config.json delete mode 100644 samples/charts/dashboard-tile/pie-dashboard/.devcontainer/devcontainer.json delete mode 100644 samples/charts/dashboard-tile/pie-dashboard/.eslintrc.js create mode 100644 samples/charts/dashboard-tile/pie-dashboard/README.md delete mode 100644 samples/charts/dashboard-tile/pie-dashboard/ReadMe.md delete mode 100644 samples/charts/dashboard-tile/pie-dashboard/sandbox.config.json delete mode 100644 samples/charts/data-chart/annotations-custom/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/annotations-custom/.eslintrc.js create mode 100644 samples/charts/data-chart/annotations-custom/README.md delete mode 100644 samples/charts/data-chart/annotations-custom/ReadMe.md delete mode 100644 samples/charts/data-chart/annotations-custom/sandbox.config.json delete mode 100644 samples/charts/data-chart/axis-annotations-corner-radius/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/axis-annotations-corner-radius/.eslintrc.js create mode 100644 samples/charts/data-chart/axis-annotations-corner-radius/README.md delete mode 100644 samples/charts/data-chart/axis-annotations-corner-radius/ReadMe.md delete mode 100644 samples/charts/data-chart/axis-annotations-corner-radius/sandbox.config.json delete mode 100644 samples/charts/data-chart/axis-annotations/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/axis-annotations/.eslintrc.js delete mode 100644 samples/charts/data-chart/axis-annotations/sandbox.config.json delete mode 100644 samples/charts/data-chart/axis-crossing/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/axis-crossing/.eslintrc.js delete mode 100644 samples/charts/data-chart/axis-crossing/sandbox.config.json delete mode 100644 samples/charts/data-chart/axis-label-rotation/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/axis-label-rotation/.eslintrc.js create mode 100644 samples/charts/data-chart/axis-label-rotation/README.md delete mode 100644 samples/charts/data-chart/axis-label-rotation/ReadMe.md delete mode 100644 samples/charts/data-chart/axis-label-rotation/sandbox.config.json delete mode 100644 samples/charts/data-chart/axis-locations/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/axis-locations/.eslintrc.js delete mode 100644 samples/charts/data-chart/axis-locations/sandbox.config.json delete mode 100644 samples/charts/data-chart/axis-min-max-gap/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/axis-min-max-gap/.eslintrc.js create mode 100644 samples/charts/data-chart/axis-min-max-gap/README.md delete mode 100644 samples/charts/data-chart/axis-min-max-gap/ReadMe.md delete mode 100644 samples/charts/data-chart/axis-min-max-gap/sandbox.config.json delete mode 100644 samples/charts/data-chart/axis-settings/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/axis-settings/.eslintrc.js delete mode 100644 samples/charts/data-chart/axis-settings/sandbox.config.json delete mode 100644 samples/charts/data-chart/axis-sharing/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/axis-sharing/.eslintrc.js delete mode 100644 samples/charts/data-chart/axis-sharing/sandbox.config.json delete mode 100644 samples/charts/data-chart/axis-types/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/axis-types/.eslintrc.js delete mode 100644 samples/charts/data-chart/axis-types/sandbox.config.json delete mode 100644 samples/charts/data-chart/bar-chart-multiple-sources/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/bar-chart-multiple-sources/.eslintrc.js create mode 100644 samples/charts/data-chart/bar-chart-multiple-sources/README.md delete mode 100644 samples/charts/data-chart/bar-chart-multiple-sources/ReadMe.md delete mode 100644 samples/charts/data-chart/bar-chart-multiple-sources/sandbox.config.json delete mode 100644 samples/charts/data-chart/bar-chart-overlapping/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/bar-chart-overlapping/.eslintrc.js create mode 100644 samples/charts/data-chart/bar-chart-overlapping/README.md delete mode 100644 samples/charts/data-chart/bar-chart-overlapping/ReadMe.md delete mode 100644 samples/charts/data-chart/bar-chart-overlapping/sandbox.config.json delete mode 100644 samples/charts/data-chart/bar-chart-single-source/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/bar-chart-single-source/.eslintrc.js create mode 100644 samples/charts/data-chart/bar-chart-single-source/README.md delete mode 100644 samples/charts/data-chart/bar-chart-single-source/ReadMe.md delete mode 100644 samples/charts/data-chart/bar-chart-single-source/sandbox.config.json delete mode 100644 samples/charts/data-chart/bar-chart-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/bar-chart-styling/.eslintrc.js create mode 100644 samples/charts/data-chart/bar-chart-styling/README.md delete mode 100644 samples/charts/data-chart/bar-chart-styling/ReadMe.md delete mode 100644 samples/charts/data-chart/bar-chart-styling/sandbox.config.json delete mode 100644 samples/charts/data-chart/callout-layer-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/callout-layer-styling/.eslintrc.js create mode 100644 samples/charts/data-chart/callout-layer-styling/README.md delete mode 100644 samples/charts/data-chart/callout-layer-styling/ReadMe.md delete mode 100644 samples/charts/data-chart/callout-layer-styling/sandbox.config.json delete mode 100644 samples/charts/data-chart/chart-highlight-filter-datasource/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/chart-highlight-filter-datasource/.eslintrc.js create mode 100644 samples/charts/data-chart/chart-highlight-filter-datasource/README.md delete mode 100644 samples/charts/data-chart/chart-highlight-filter-datasource/ReadMe.md delete mode 100644 samples/charts/data-chart/chart-highlight-filter-datasource/sandbox.config.json delete mode 100644 samples/charts/data-chart/chart-highlight-filter-multiple-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/chart-highlight-filter-multiple-series/.eslintrc.js create mode 100644 samples/charts/data-chart/chart-highlight-filter-multiple-series/README.md delete mode 100644 samples/charts/data-chart/chart-highlight-filter-multiple-series/ReadMe.md delete mode 100644 samples/charts/data-chart/chart-highlight-filter-multiple-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/chart-highlight-filter/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/chart-highlight-filter/.eslintrc.js create mode 100644 samples/charts/data-chart/chart-highlight-filter/README.md delete mode 100644 samples/charts/data-chart/chart-highlight-filter/ReadMe.md delete mode 100644 samples/charts/data-chart/chart-highlight-filter/sandbox.config.json delete mode 100644 samples/charts/data-chart/chart-navigation/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/chart-navigation/.eslintrc.js delete mode 100644 samples/charts/data-chart/chart-navigation/sandbox.config.json delete mode 100644 samples/charts/data-chart/chart-overview/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/chart-overview/.eslintrc.js delete mode 100644 samples/charts/data-chart/chart-overview/sandbox.config.json delete mode 100644 samples/charts/data-chart/chart-performance/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/chart-performance/.eslintrc.js delete mode 100644 samples/charts/data-chart/chart-performance/sandbox.config.json delete mode 100644 samples/charts/data-chart/chart-synchronization/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/chart-synchronization/.eslintrc.js delete mode 100644 samples/charts/data-chart/chart-synchronization/sandbox.config.json delete mode 100644 samples/charts/data-chart/chart-titles/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/chart-titles/.eslintrc.js delete mode 100644 samples/charts/data-chart/chart-titles/sandbox.config.json delete mode 100644 samples/charts/data-chart/composite-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/composite-chart/.eslintrc.js delete mode 100644 samples/charts/data-chart/composite-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/crosshair-layer-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/crosshair-layer-styling/.eslintrc.js delete mode 100644 samples/charts/data-chart/crosshair-layer-styling/sandbox.config.json delete mode 100644 samples/charts/data-chart/custom-drawing-annotations/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/custom-drawing-annotations/.eslintrc.js delete mode 100644 samples/charts/data-chart/custom-drawing-annotations/sandbox.config.json delete mode 100644 samples/charts/data-chart/custom-editing-data/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/custom-editing-data/.eslintrc.js delete mode 100644 samples/charts/data-chart/custom-editing-data/sandbox.config.json delete mode 100644 samples/charts/data-chart/dash-array-axes/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/dash-array-axes/.eslintrc.js create mode 100644 samples/charts/data-chart/dash-array-axes/README.md delete mode 100644 samples/charts/data-chart/dash-array-axes/ReadMe.md delete mode 100644 samples/charts/data-chart/dash-array-axes/sandbox.config.json delete mode 100644 samples/charts/data-chart/dash-array-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/dash-array-series/.eslintrc.js create mode 100644 samples/charts/data-chart/dash-array-series/README.md delete mode 100644 samples/charts/data-chart/dash-array-series/ReadMe.md delete mode 100644 samples/charts/data-chart/dash-array-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/dash-array-tickmarks/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/dash-array-tickmarks/.eslintrc.js create mode 100644 samples/charts/data-chart/dash-array-tickmarks/README.md delete mode 100644 samples/charts/data-chart/dash-array-tickmarks/ReadMe.md delete mode 100644 samples/charts/data-chart/dash-array-tickmarks/sandbox.config.json delete mode 100644 samples/charts/data-chart/dash-array-trendline/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/dash-array-trendline/.eslintrc.js create mode 100644 samples/charts/data-chart/dash-array-trendline/README.md delete mode 100644 samples/charts/data-chart/dash-array-trendline/ReadMe.md delete mode 100644 samples/charts/data-chart/dash-array-trendline/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-annotation-band-layer/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-annotation-band-layer/.eslintrc.js create mode 100644 samples/charts/data-chart/data-annotation-band-layer/README.md delete mode 100644 samples/charts/data-chart/data-annotation-band-layer/ReadMe.md delete mode 100644 samples/charts/data-chart/data-annotation-band-layer/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-annotation-line-layer/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-annotation-line-layer/.eslintrc.js create mode 100644 samples/charts/data-chart/data-annotation-line-layer/README.md delete mode 100644 samples/charts/data-chart/data-annotation-line-layer/ReadMe.md delete mode 100644 samples/charts/data-chart/data-annotation-line-layer/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-annotation-multiple-with-overlay-text/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-annotation-multiple-with-overlay-text/.eslintrc.js create mode 100644 samples/charts/data-chart/data-annotation-multiple-with-overlay-text/README.md delete mode 100644 samples/charts/data-chart/data-annotation-multiple-with-overlay-text/ReadMe.md delete mode 100644 samples/charts/data-chart/data-annotation-multiple-with-overlay-text/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-annotation-multiple-with-stocks/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-annotation-multiple-with-stocks/.eslintrc.js create mode 100644 samples/charts/data-chart/data-annotation-multiple-with-stocks/README.md delete mode 100644 samples/charts/data-chart/data-annotation-multiple-with-stocks/ReadMe.md delete mode 100644 samples/charts/data-chart/data-annotation-multiple-with-stocks/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-annotation-rect-layer/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-annotation-rect-layer/.eslintrc.js create mode 100644 samples/charts/data-chart/data-annotation-rect-layer/README.md delete mode 100644 samples/charts/data-chart/data-annotation-rect-layer/ReadMe.md delete mode 100644 samples/charts/data-chart/data-annotation-rect-layer/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-annotation-slice-layer/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-annotation-slice-layer/.eslintrc.js create mode 100644 samples/charts/data-chart/data-annotation-slice-layer/README.md delete mode 100644 samples/charts/data-chart/data-annotation-slice-layer/ReadMe.md delete mode 100644 samples/charts/data-chart/data-annotation-slice-layer/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-annotation-strip-layer/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-annotation-strip-layer/.eslintrc.js create mode 100644 samples/charts/data-chart/data-annotation-strip-layer/README.md delete mode 100644 samples/charts/data-chart/data-annotation-strip-layer/ReadMe.md delete mode 100644 samples/charts/data-chart/data-annotation-strip-layer/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-legend-grouping-and-highlighting/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-legend-grouping-and-highlighting/.eslintrc.js create mode 100644 samples/charts/data-chart/data-legend-grouping-and-highlighting/README.md delete mode 100644 samples/charts/data-chart/data-legend-grouping-and-highlighting/ReadMe.md delete mode 100644 samples/charts/data-chart/data-legend-grouping-and-highlighting/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-legend-grouping/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-legend-grouping/.eslintrc.js create mode 100644 samples/charts/data-chart/data-legend-grouping/README.md delete mode 100644 samples/charts/data-chart/data-legend-grouping/ReadMe.md delete mode 100644 samples/charts/data-chart/data-legend-grouping/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-legend-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-legend-styling/.eslintrc.js create mode 100644 samples/charts/data-chart/data-legend-styling/README.md delete mode 100644 samples/charts/data-chart/data-legend-styling/ReadMe.md delete mode 100644 samples/charts/data-chart/data-legend-styling/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-legend/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-legend/.eslintrc.js create mode 100644 samples/charts/data-chart/data-legend/README.md delete mode 100644 samples/charts/data-chart/data-legend/ReadMe.md delete mode 100644 samples/charts/data-chart/data-legend/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-tooltip-grouping-and-highlighting/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-tooltip-grouping-and-highlighting/.eslintrc.js create mode 100644 samples/charts/data-chart/data-tooltip-grouping-and-highlighting/README.md delete mode 100644 samples/charts/data-chart/data-tooltip-grouping-and-highlighting/ReadMe.md delete mode 100644 samples/charts/data-chart/data-tooltip-grouping-and-highlighting/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-tooltip-grouping/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-tooltip-grouping/.eslintrc.js create mode 100644 samples/charts/data-chart/data-tooltip-grouping/README.md delete mode 100644 samples/charts/data-chart/data-tooltip-grouping/ReadMe.md delete mode 100644 samples/charts/data-chart/data-tooltip-grouping/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-tooltip-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-tooltip-styling/.eslintrc.js create mode 100644 samples/charts/data-chart/data-tooltip-styling/README.md delete mode 100644 samples/charts/data-chart/data-tooltip-styling/ReadMe.md delete mode 100644 samples/charts/data-chart/data-tooltip-styling/sandbox.config.json delete mode 100644 samples/charts/data-chart/data-tooltip/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/data-tooltip/.eslintrc.js create mode 100644 samples/charts/data-chart/data-tooltip/README.md delete mode 100644 samples/charts/data-chart/data-tooltip/ReadMe.md delete mode 100644 samples/charts/data-chart/data-tooltip/sandbox.config.json delete mode 100644 samples/charts/data-chart/final-value-layer-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/final-value-layer-styling/.eslintrc.js delete mode 100644 samples/charts/data-chart/final-value-layer-styling/sandbox.config.json delete mode 100644 samples/charts/data-chart/financial-price-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/financial-price-series/.eslintrc.js create mode 100644 samples/charts/data-chart/financial-price-series/README.md delete mode 100644 samples/charts/data-chart/financial-price-series/ReadMe.md delete mode 100644 samples/charts/data-chart/financial-price-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/format-specifiers/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/format-specifiers/.eslintrc.js create mode 100644 samples/charts/data-chart/format-specifiers/README.md delete mode 100644 samples/charts/data-chart/format-specifiers/ReadMe.md delete mode 100644 samples/charts/data-chart/format-specifiers/sandbox.config.json delete mode 100644 samples/charts/data-chart/itemized-bar-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/itemized-bar-chart/README.md delete mode 100644 samples/charts/data-chart/itemized-bar-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/itemized-bar-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/itemized-column-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/itemized-column-chart/README.md delete mode 100644 samples/charts/data-chart/itemized-column-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/itemized-column-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/itemized-stacked-bar-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/itemized-stacked-bar-chart/README.md delete mode 100644 samples/charts/data-chart/itemized-stacked-bar-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/itemized-stacked-bar-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/itemized-stacked-column-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/itemized-stacked-column-chart/README.md delete mode 100644 samples/charts/data-chart/itemized-stacked-column-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/itemized-stacked-column-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/legends/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/legends/.eslintrc.js delete mode 100644 samples/charts/data-chart/legends/sandbox.config.json delete mode 100644 samples/charts/data-chart/polar-area-chart-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/polar-area-chart-styling/.eslintrc.js create mode 100644 samples/charts/data-chart/polar-area-chart-styling/README.md delete mode 100644 samples/charts/data-chart/polar-area-chart-styling/ReadMe.md delete mode 100644 samples/charts/data-chart/polar-area-chart-styling/sandbox.config.json delete mode 100644 samples/charts/data-chart/polar-area-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/polar-area-chart/.eslintrc.js delete mode 100644 samples/charts/data-chart/polar-area-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/polar-chart-types/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/polar-chart-types/.eslintrc.js delete mode 100644 samples/charts/data-chart/polar-chart-types/sandbox.config.json delete mode 100644 samples/charts/data-chart/polar-line-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/polar-line-chart/.eslintrc.js delete mode 100644 samples/charts/data-chart/polar-line-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/polar-scatter-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/polar-scatter-chart/.eslintrc.js delete mode 100644 samples/charts/data-chart/polar-scatter-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/polar-spline-area-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/polar-spline-area-chart/.eslintrc.js delete mode 100644 samples/charts/data-chart/polar-spline-area-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/polar-spline-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/polar-spline-chart/.eslintrc.js delete mode 100644 samples/charts/data-chart/polar-spline-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/radial-area-chart-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/radial-area-chart-styling/.eslintrc.js create mode 100644 samples/charts/data-chart/radial-area-chart-styling/README.md delete mode 100644 samples/charts/data-chart/radial-area-chart-styling/ReadMe.md delete mode 100644 samples/charts/data-chart/radial-area-chart-styling/sandbox.config.json delete mode 100644 samples/charts/data-chart/radial-area-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/radial-area-chart/.eslintrc.js delete mode 100644 samples/charts/data-chart/radial-area-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/radial-chart-types/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/radial-chart-types/.eslintrc.js delete mode 100644 samples/charts/data-chart/radial-chart-types/sandbox.config.json delete mode 100644 samples/charts/data-chart/radial-column-chart-selection/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/radial-column-chart-selection/.eslintrc.js create mode 100644 samples/charts/data-chart/radial-column-chart-selection/README.md delete mode 100644 samples/charts/data-chart/radial-column-chart-selection/ReadMe.md delete mode 100644 samples/charts/data-chart/radial-column-chart-selection/sandbox.config.json delete mode 100644 samples/charts/data-chart/radial-column-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/radial-column-chart/.eslintrc.js delete mode 100644 samples/charts/data-chart/radial-column-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/radial-label-mode/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/radial-label-mode/.eslintrc.js create mode 100644 samples/charts/data-chart/radial-label-mode/README.md delete mode 100644 samples/charts/data-chart/radial-label-mode/ReadMe.md delete mode 100644 samples/charts/data-chart/radial-label-mode/sandbox.config.json delete mode 100644 samples/charts/data-chart/radial-line-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/radial-line-chart/.eslintrc.js delete mode 100644 samples/charts/data-chart/radial-line-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/radial-pie-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/radial-pie-chart/.eslintrc.js delete mode 100644 samples/charts/data-chart/radial-pie-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/radial-pie-proportional-category-angle-axis/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/radial-pie-proportional-category-angle-axis/.eslintrc.js create mode 100644 samples/charts/data-chart/radial-pie-proportional-category-angle-axis/README.md delete mode 100644 samples/charts/data-chart/radial-pie-proportional-category-angle-axis/ReadMe.md delete mode 100644 samples/charts/data-chart/radial-pie-proportional-category-angle-axis/sandbox.config.json delete mode 100644 samples/charts/data-chart/radial-proportional-radial-angle-axis/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/radial-proportional-radial-angle-axis/.eslintrc.js create mode 100644 samples/charts/data-chart/radial-proportional-radial-angle-axis/README.md delete mode 100644 samples/charts/data-chart/radial-proportional-radial-angle-axis/ReadMe.md delete mode 100644 samples/charts/data-chart/radial-proportional-radial-angle-axis/sandbox.config.json delete mode 100644 samples/charts/data-chart/range-area-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/range-area-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/range-area-chart/README.md delete mode 100644 samples/charts/data-chart/range-area-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/range-area-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/range-bar-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/range-bar-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/range-bar-chart/README.md delete mode 100644 samples/charts/data-chart/range-bar-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/range-bar-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/range-column-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/range-column-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/range-column-chart/README.md delete mode 100644 samples/charts/data-chart/range-column-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/range-column-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-fill-scale/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-fill-scale/.eslintrc.js create mode 100644 samples/charts/data-chart/scatter-bubble-chart-fill-scale/README.md delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-fill-scale/ReadMe.md delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-fill-scale/sandbox.config.json delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-multiple-sources/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-multiple-sources/.eslintrc.js create mode 100644 samples/charts/data-chart/scatter-bubble-chart-multiple-sources/README.md delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-multiple-sources/ReadMe.md delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-multiple-sources/sandbox.config.json delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-single-source/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-single-source/.eslintrc.js create mode 100644 samples/charts/data-chart/scatter-bubble-chart-single-source/README.md delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-single-source/ReadMe.md delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-single-source/sandbox.config.json delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-styling/.eslintrc.js create mode 100644 samples/charts/data-chart/scatter-bubble-chart-styling/README.md delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-styling/ReadMe.md delete mode 100644 samples/charts/data-chart/scatter-bubble-chart-styling/sandbox.config.json delete mode 100644 samples/charts/data-chart/scatter-line-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/scatter-line-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/scatter-line-chart/README.md delete mode 100644 samples/charts/data-chart/scatter-line-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/scatter-line-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/scatter-line-threshold/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/scatter-line-threshold/.eslintrc.js create mode 100644 samples/charts/data-chart/scatter-line-threshold/README.md delete mode 100644 samples/charts/data-chart/scatter-line-threshold/ReadMe.md delete mode 100644 samples/charts/data-chart/scatter-line-threshold/sandbox.config.json delete mode 100644 samples/charts/data-chart/scatter-line-threshold/scatter-line-threshold.zip delete mode 100644 samples/charts/data-chart/scatter-marker-options/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/scatter-marker-options/.eslintrc.js create mode 100644 samples/charts/data-chart/scatter-marker-options/README.md delete mode 100644 samples/charts/data-chart/scatter-marker-options/ReadMe.md delete mode 100644 samples/charts/data-chart/scatter-marker-options/sandbox.config.json delete mode 100644 samples/charts/data-chart/scatter-point-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/scatter-point-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/scatter-point-chart/README.md delete mode 100644 samples/charts/data-chart/scatter-point-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/scatter-point-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/scatter-spline-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/scatter-spline-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/scatter-spline-chart/README.md delete mode 100644 samples/charts/data-chart/scatter-spline-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/scatter-spline-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/selection-matcher/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/selection-matcher/.eslintrc.js create mode 100644 samples/charts/data-chart/selection-matcher/README.md delete mode 100644 samples/charts/data-chart/selection-matcher/ReadMe.md delete mode 100644 samples/charts/data-chart/selection-matcher/sandbox.config.json delete mode 100644 samples/charts/data-chart/series-annotations/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/series-annotations/.eslintrc.js delete mode 100644 samples/charts/data-chart/series-annotations/sandbox.config.json delete mode 100644 samples/charts/data-chart/series-highlighting/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/series-highlighting/.eslintrc.js delete mode 100644 samples/charts/data-chart/series-highlighting/sandbox.config.json delete mode 100644 samples/charts/data-chart/series-marker-template/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/series-marker-template/.eslintrc.js delete mode 100644 samples/charts/data-chart/series-marker-template/sandbox.config.json delete mode 100644 samples/charts/data-chart/series-markers/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/series-markers/.eslintrc.js delete mode 100644 samples/charts/data-chart/series-markers/sandbox.config.json delete mode 100644 samples/charts/data-chart/series-tooltips/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/series-tooltips/.eslintrc.js delete mode 100644 samples/charts/data-chart/series-tooltips/sandbox.config.json delete mode 100644 samples/charts/data-chart/series-trendlines/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/series-trendlines/.eslintrc.js delete mode 100644 samples/charts/data-chart/series-trendlines/sandbox.config.json delete mode 100644 samples/charts/data-chart/series-value-overlay/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/series-value-overlay/.eslintrc.js delete mode 100644 samples/charts/data-chart/series-value-overlay/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-100-area-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-100-area-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-100-area-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-100-area-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-100-area-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-100-bar-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-100-bar-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-100-bar-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-100-bar-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-100-bar-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-100-column-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-100-column-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-100-column-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-100-column-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-100-column-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-100-line-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-100-line-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-100-line-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-100-line-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-100-line-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-100-spline-area-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-100-spline-area-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-100-spline-area-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-100-spline-area-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-100-spline-area-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-100-spline-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-100-spline-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-100-spline-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-100-spline-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-100-spline-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-area-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-area-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-area-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-area-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-area-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-bar-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-bar-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-bar-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-bar-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-bar-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-chart-types/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-chart-types/.eslintrc.js delete mode 100644 samples/charts/data-chart/stacked-chart-types/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-column-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-column-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-column-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-column-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-column-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-line-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-line-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-line-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-line-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-line-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-spline-area-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-spline-area-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-spline-area-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-spline-area-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-spline-area-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/stacked-spline-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/stacked-spline-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/stacked-spline-chart/README.md delete mode 100644 samples/charts/data-chart/stacked-spline-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/stacked-spline-chart/sandbox.config.json delete mode 100644 samples/charts/data-chart/tooltip-template/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/tooltip-template/.eslintrc.js delete mode 100644 samples/charts/data-chart/tooltip-template/sandbox.config.json delete mode 100644 samples/charts/data-chart/transition-event/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/transition-event/.eslintrc.js create mode 100644 samples/charts/data-chart/transition-event/README.md delete mode 100644 samples/charts/data-chart/transition-event/ReadMe.md delete mode 100644 samples/charts/data-chart/transition-event/sandbox.config.json delete mode 100644 samples/charts/data-chart/trendline-layer/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/trendline-layer/.eslintrc.js create mode 100644 samples/charts/data-chart/trendline-layer/README.md delete mode 100644 samples/charts/data-chart/trendline-layer/ReadMe.md delete mode 100644 samples/charts/data-chart/trendline-layer/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-financial-candlestick-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-financial-candlestick-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-financial-candlestick-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-financial-indicators-column/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-financial-indicators-column/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-financial-indicators-column/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-financial-indicators-line/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-financial-indicators-line/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-financial-indicators-line/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-financial-ohlc-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-financial-ohlc-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-financial-ohlc-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-financial-overlays/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-financial-overlays/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-financial-overlays/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-financial-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-financial-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-financial-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-range-area-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-range-area-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-range-area-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-range-column-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-range-column-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-range-column-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-range-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-range-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-range-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-scatter-area-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-scatter-area-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-scatter-area-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-scatter-bubble-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-scatter-bubble-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-scatter-bubble-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-scatter-contour-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-scatter-contour-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-scatter-contour-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-scatter-hd-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-scatter-hd-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-scatter-hd-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-scatter-polygon-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-scatter-polygon-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-scatter-polygon-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-scatter-polyline-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-scatter-polyline-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-scatter-polyline-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-scatter-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-scatter-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-scatter-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/type-shape-series/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/type-shape-series/.eslintrc.js delete mode 100644 samples/charts/data-chart/type-shape-series/sandbox.config.json delete mode 100644 samples/charts/data-chart/user-annotation-layer/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/user-annotation-layer/.eslintrc.js create mode 100644 samples/charts/data-chart/user-annotation-layer/README.md delete mode 100644 samples/charts/data-chart/user-annotation-layer/ReadMe.md delete mode 100644 samples/charts/data-chart/user-annotation-layer/sandbox.config.json delete mode 100644 samples/charts/data-chart/waterfall-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-chart/waterfall-chart/.eslintrc.js create mode 100644 samples/charts/data-chart/waterfall-chart/README.md delete mode 100644 samples/charts/data-chart/waterfall-chart/ReadMe.md delete mode 100644 samples/charts/data-chart/waterfall-chart/sandbox.config.json delete mode 100644 samples/charts/data-pie-chart/animation-replay/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-pie-chart/animation-replay/.eslintrc.js create mode 100644 samples/charts/data-pie-chart/animation-replay/README.md delete mode 100644 samples/charts/data-pie-chart/animation-replay/ReadMe.md delete mode 100644 samples/charts/data-pie-chart/animation-replay/sandbox.config.json delete mode 100644 samples/charts/data-pie-chart/animation/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-pie-chart/animation/.eslintrc.js create mode 100644 samples/charts/data-pie-chart/animation/README.md delete mode 100644 samples/charts/data-pie-chart/animation/ReadMe.md delete mode 100644 samples/charts/data-pie-chart/animation/sandbox.config.json delete mode 100644 samples/charts/data-pie-chart/highlight-filter/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-pie-chart/highlight-filter/.eslintrc.js create mode 100644 samples/charts/data-pie-chart/highlight-filter/README.md delete mode 100644 samples/charts/data-pie-chart/highlight-filter/ReadMe.md delete mode 100644 samples/charts/data-pie-chart/highlight-filter/sandbox.config.json delete mode 100644 samples/charts/data-pie-chart/highlighting/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-pie-chart/highlighting/.eslintrc.js create mode 100644 samples/charts/data-pie-chart/highlighting/README.md delete mode 100644 samples/charts/data-pie-chart/highlighting/ReadMe.md delete mode 100644 samples/charts/data-pie-chart/highlighting/sandbox.config.json delete mode 100644 samples/charts/data-pie-chart/legend/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-pie-chart/legend/.eslintrc.js create mode 100644 samples/charts/data-pie-chart/legend/README.md delete mode 100644 samples/charts/data-pie-chart/legend/ReadMe.md delete mode 100644 samples/charts/data-pie-chart/legend/sandbox.config.json delete mode 100644 samples/charts/data-pie-chart/others/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-pie-chart/others/.eslintrc.js create mode 100644 samples/charts/data-pie-chart/others/README.md delete mode 100644 samples/charts/data-pie-chart/others/ReadMe.md delete mode 100644 samples/charts/data-pie-chart/others/sandbox.config.json delete mode 100644 samples/charts/data-pie-chart/overview/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-pie-chart/overview/.eslintrc.js create mode 100644 samples/charts/data-pie-chart/overview/README.md delete mode 100644 samples/charts/data-pie-chart/overview/ReadMe.md delete mode 100644 samples/charts/data-pie-chart/overview/sandbox.config.json delete mode 100644 samples/charts/data-pie-chart/selection/.devcontainer/devcontainer.json delete mode 100644 samples/charts/data-pie-chart/selection/.eslintrc.js create mode 100644 samples/charts/data-pie-chart/selection/README.md delete mode 100644 samples/charts/data-pie-chart/selection/ReadMe.md delete mode 100644 samples/charts/data-pie-chart/selection/sandbox.config.json delete mode 100644 samples/charts/doughnut-chart/animation/.devcontainer/devcontainer.json delete mode 100644 samples/charts/doughnut-chart/animation/.eslintrc.js delete mode 100644 samples/charts/doughnut-chart/animation/sandbox.config.json delete mode 100644 samples/charts/doughnut-chart/explosion/.devcontainer/devcontainer.json delete mode 100644 samples/charts/doughnut-chart/explosion/.eslintrc.js delete mode 100644 samples/charts/doughnut-chart/explosion/sandbox.config.json delete mode 100644 samples/charts/doughnut-chart/legend/.devcontainer/devcontainer.json delete mode 100644 samples/charts/doughnut-chart/legend/.eslintrc.js delete mode 100644 samples/charts/doughnut-chart/legend/sandbox.config.json delete mode 100644 samples/charts/doughnut-chart/overview/.devcontainer/devcontainer.json delete mode 100644 samples/charts/doughnut-chart/overview/.eslintrc.js delete mode 100644 samples/charts/doughnut-chart/overview/sandbox.config.json delete mode 100644 samples/charts/doughnut-chart/rings/.devcontainer/devcontainer.json delete mode 100644 samples/charts/doughnut-chart/rings/.eslintrc.js delete mode 100644 samples/charts/doughnut-chart/rings/sandbox.config.json delete mode 100644 samples/charts/doughnut-chart/selection/.devcontainer/devcontainer.json delete mode 100644 samples/charts/doughnut-chart/selection/.eslintrc.js delete mode 100644 samples/charts/doughnut-chart/selection/sandbox.config.json delete mode 100644 samples/charts/financial-chart/annotations/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/annotations/.eslintrc.js delete mode 100644 samples/charts/financial-chart/annotations/sandbox.config.json delete mode 100644 samples/charts/financial-chart/axis-types/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/axis-types/.eslintrc.js delete mode 100644 samples/charts/financial-chart/axis-types/sandbox.config.json delete mode 100644 samples/charts/financial-chart/data-legend-formatting-currency/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/data-legend-formatting-currency/.eslintrc.js create mode 100644 samples/charts/financial-chart/data-legend-formatting-currency/README.md delete mode 100644 samples/charts/financial-chart/data-legend-formatting-currency/ReadMe.md delete mode 100644 samples/charts/financial-chart/data-legend-formatting-currency/sandbox.config.json delete mode 100644 samples/charts/financial-chart/data-legend-styling-props/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/data-legend-styling-props/.eslintrc.js create mode 100644 samples/charts/financial-chart/data-legend-styling-props/README.md delete mode 100644 samples/charts/financial-chart/data-legend-styling-props/ReadMe.md delete mode 100644 samples/charts/financial-chart/data-legend-styling-props/sandbox.config.json delete mode 100644 samples/charts/financial-chart/data-legend/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/data-legend/.eslintrc.js create mode 100644 samples/charts/financial-chart/data-legend/README.md delete mode 100644 samples/charts/financial-chart/data-legend/ReadMe.md delete mode 100644 samples/charts/financial-chart/data-legend/sandbox.config.json delete mode 100644 samples/charts/financial-chart/data-tooltip-formatting-currency/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/data-tooltip-formatting-currency/.eslintrc.js create mode 100644 samples/charts/financial-chart/data-tooltip-formatting-currency/README.md delete mode 100644 samples/charts/financial-chart/data-tooltip-formatting-currency/ReadMe.md delete mode 100644 samples/charts/financial-chart/data-tooltip-formatting-currency/sandbox.config.json delete mode 100644 samples/charts/financial-chart/data-tooltip-styling-props/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/data-tooltip-styling-props/.eslintrc.js create mode 100644 samples/charts/financial-chart/data-tooltip-styling-props/README.md delete mode 100644 samples/charts/financial-chart/data-tooltip-styling-props/ReadMe.md delete mode 100644 samples/charts/financial-chart/data-tooltip-styling-props/sandbox.config.json delete mode 100644 samples/charts/financial-chart/data-tooltip/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/data-tooltip/.eslintrc.js create mode 100644 samples/charts/financial-chart/data-tooltip/README.md delete mode 100644 samples/charts/financial-chart/data-tooltip/ReadMe.md delete mode 100644 samples/charts/financial-chart/data-tooltip/sandbox.config.json delete mode 100644 samples/charts/financial-chart/format-specifiers/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/format-specifiers/.eslintrc.js create mode 100644 samples/charts/financial-chart/format-specifiers/README.md delete mode 100644 samples/charts/financial-chart/format-specifiers/ReadMe.md delete mode 100644 samples/charts/financial-chart/format-specifiers/sandbox.config.json delete mode 100644 samples/charts/financial-chart/high-frequency/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/high-frequency/.eslintrc.js delete mode 100644 samples/charts/financial-chart/high-frequency/sandbox.config.json delete mode 100644 samples/charts/financial-chart/high-volume/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/high-volume/.eslintrc.js delete mode 100644 samples/charts/financial-chart/high-volume/sandbox.config.json delete mode 100644 samples/charts/financial-chart/indicator-customization/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/indicator-customization/.eslintrc.js delete mode 100644 samples/charts/financial-chart/indicator-customization/sandbox.config.json delete mode 100644 samples/charts/financial-chart/indicator-types/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/indicator-types/.eslintrc.js delete mode 100644 samples/charts/financial-chart/indicator-types/sandbox.config.json delete mode 100644 samples/charts/financial-chart/multiple-data/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/multiple-data/.eslintrc.js delete mode 100644 samples/charts/financial-chart/multiple-data/sandbox.config.json delete mode 100644 samples/charts/financial-chart/overview/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/overview/.eslintrc.js delete mode 100644 samples/charts/financial-chart/overview/sandbox.config.json delete mode 100644 samples/charts/financial-chart/panes/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/panes/.eslintrc.js delete mode 100644 samples/charts/financial-chart/panes/sandbox.config.json delete mode 100644 samples/charts/financial-chart/performance/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/performance/.eslintrc.js delete mode 100644 samples/charts/financial-chart/performance/sandbox.config.json delete mode 100644 samples/charts/financial-chart/scrollbars/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/scrollbars/.eslintrc.js delete mode 100644 samples/charts/financial-chart/scrollbars/sandbox.config.json delete mode 100644 samples/charts/financial-chart/stock-index-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/stock-index-chart/.eslintrc.js delete mode 100644 samples/charts/financial-chart/stock-index-chart/sandbox.config.json delete mode 100644 samples/charts/financial-chart/styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/styling/.eslintrc.js delete mode 100644 samples/charts/financial-chart/styling/sandbox.config.json delete mode 100644 samples/charts/financial-chart/titles/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/titles/.eslintrc.js delete mode 100644 samples/charts/financial-chart/titles/sandbox.config.json delete mode 100644 samples/charts/financial-chart/tooltip-types/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/tooltip-types/.eslintrc.js delete mode 100644 samples/charts/financial-chart/tooltip-types/sandbox.config.json delete mode 100644 samples/charts/financial-chart/trendlines/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/trendlines/.eslintrc.js delete mode 100644 samples/charts/financial-chart/trendlines/sandbox.config.json delete mode 100644 samples/charts/financial-chart/volume-types/.devcontainer/devcontainer.json delete mode 100644 samples/charts/financial-chart/volume-types/.eslintrc.js delete mode 100644 samples/charts/financial-chart/volume-types/sandbox.config.json delete mode 100644 samples/charts/pie-chart/animation/.devcontainer/devcontainer.json delete mode 100644 samples/charts/pie-chart/animation/.eslintrc.js delete mode 100644 samples/charts/pie-chart/animation/sandbox.config.json delete mode 100644 samples/charts/pie-chart/explosion/.devcontainer/devcontainer.json delete mode 100644 samples/charts/pie-chart/explosion/.eslintrc.js delete mode 100644 samples/charts/pie-chart/explosion/sandbox.config.json delete mode 100644 samples/charts/pie-chart/legend/.devcontainer/devcontainer.json delete mode 100644 samples/charts/pie-chart/legend/.eslintrc.js delete mode 100644 samples/charts/pie-chart/legend/sandbox.config.json delete mode 100644 samples/charts/pie-chart/others/.devcontainer/devcontainer.json delete mode 100644 samples/charts/pie-chart/others/.eslintrc.js delete mode 100644 samples/charts/pie-chart/others/sandbox.config.json delete mode 100644 samples/charts/pie-chart/overview/.devcontainer/devcontainer.json delete mode 100644 samples/charts/pie-chart/overview/.eslintrc.js delete mode 100644 samples/charts/pie-chart/overview/sandbox.config.json delete mode 100644 samples/charts/pie-chart/selection/.devcontainer/devcontainer.json delete mode 100644 samples/charts/pie-chart/selection/.eslintrc.js delete mode 100644 samples/charts/pie-chart/selection/sandbox.config.json delete mode 100644 samples/charts/pie-chart/styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/pie-chart/styling/.eslintrc.js create mode 100644 samples/charts/pie-chart/styling/README.md delete mode 100644 samples/charts/pie-chart/styling/ReadMe.md delete mode 100644 samples/charts/pie-chart/styling/sandbox.config.json delete mode 100644 samples/charts/sparkline/display-area/.devcontainer/devcontainer.json delete mode 100644 samples/charts/sparkline/display-area/.eslintrc.js create mode 100644 samples/charts/sparkline/display-area/README.md delete mode 100644 samples/charts/sparkline/display-area/ReadMe.md delete mode 100644 samples/charts/sparkline/display-area/sandbox.config.json delete mode 100644 samples/charts/sparkline/display-column/.devcontainer/devcontainer.json delete mode 100644 samples/charts/sparkline/display-column/.eslintrc.js create mode 100644 samples/charts/sparkline/display-column/README.md delete mode 100644 samples/charts/sparkline/display-column/ReadMe.md delete mode 100644 samples/charts/sparkline/display-column/sandbox.config.json delete mode 100644 samples/charts/sparkline/display-lines/.devcontainer/devcontainer.json delete mode 100644 samples/charts/sparkline/display-lines/.eslintrc.js create mode 100644 samples/charts/sparkline/display-lines/README.md delete mode 100644 samples/charts/sparkline/display-lines/ReadMe.md delete mode 100644 samples/charts/sparkline/display-lines/sandbox.config.json delete mode 100644 samples/charts/sparkline/display-types/.devcontainer/devcontainer.json delete mode 100644 samples/charts/sparkline/display-types/.eslintrc.js delete mode 100644 samples/charts/sparkline/display-types/sandbox.config.json delete mode 100644 samples/charts/sparkline/display-winloss/.devcontainer/devcontainer.json delete mode 100644 samples/charts/sparkline/display-winloss/.eslintrc.js create mode 100644 samples/charts/sparkline/display-winloss/README.md delete mode 100644 samples/charts/sparkline/display-winloss/ReadMe.md delete mode 100644 samples/charts/sparkline/display-winloss/sandbox.config.json delete mode 100644 samples/charts/sparkline/grid/.devcontainer/devcontainer.json delete mode 100644 samples/charts/sparkline/grid/.eslintrc.js delete mode 100644 samples/charts/sparkline/grid/sandbox.config.json delete mode 100644 samples/charts/sparkline/markers/.devcontainer/devcontainer.json delete mode 100644 samples/charts/sparkline/markers/.eslintrc.js delete mode 100644 samples/charts/sparkline/markers/sandbox.config.json delete mode 100644 samples/charts/sparkline/normal-range/.devcontainer/devcontainer.json delete mode 100644 samples/charts/sparkline/normal-range/.eslintrc.js delete mode 100644 samples/charts/sparkline/normal-range/sandbox.config.json delete mode 100644 samples/charts/sparkline/trendlines/.devcontainer/devcontainer.json delete mode 100644 samples/charts/sparkline/trendlines/.eslintrc.js delete mode 100644 samples/charts/sparkline/trendlines/sandbox.config.json delete mode 100644 samples/charts/sparkline/unknown-values/.devcontainer/devcontainer.json delete mode 100644 samples/charts/sparkline/unknown-values/.eslintrc.js delete mode 100644 samples/charts/sparkline/unknown-values/sandbox.config.json delete mode 100644 samples/charts/toolbar/actions-built-in-category-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/toolbar/actions-built-in-category-chart/.eslintrc.js create mode 100644 samples/charts/toolbar/actions-built-in-category-chart/README.md delete mode 100644 samples/charts/toolbar/actions-built-in-category-chart/ReadMe.md delete mode 100644 samples/charts/toolbar/actions-built-in-category-chart/sandbox.config.json delete mode 100644 samples/charts/toolbar/actions-built-in-data-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/toolbar/actions-built-in-data-chart/.eslintrc.js create mode 100644 samples/charts/toolbar/actions-built-in-data-chart/README.md delete mode 100644 samples/charts/toolbar/actions-built-in-data-chart/ReadMe.md delete mode 100644 samples/charts/toolbar/actions-built-in-data-chart/sandbox.config.json delete mode 100644 samples/charts/toolbar/color-editor-support/.devcontainer/devcontainer.json delete mode 100644 samples/charts/toolbar/color-editor-support/.eslintrc.js create mode 100644 samples/charts/toolbar/color-editor-support/README.md delete mode 100644 samples/charts/toolbar/color-editor-support/ReadMe.md delete mode 100644 samples/charts/toolbar/color-editor-support/sandbox.config.json delete mode 100644 samples/charts/toolbar/custom-tool/.devcontainer/devcontainer.json delete mode 100644 samples/charts/toolbar/custom-tool/.eslintrc.js create mode 100644 samples/charts/toolbar/custom-tool/README.md delete mode 100644 samples/charts/toolbar/custom-tool/ReadMe.md delete mode 100644 samples/charts/toolbar/custom-tool/sandbox.config.json delete mode 100644 samples/charts/toolbar/layout-actions-for-data-chart/.devcontainer/devcontainer.json delete mode 100644 samples/charts/toolbar/layout-actions-for-data-chart/.eslintrc.js create mode 100644 samples/charts/toolbar/layout-actions-for-data-chart/README.md delete mode 100644 samples/charts/toolbar/layout-actions-for-data-chart/ReadMe.md delete mode 100644 samples/charts/toolbar/layout-actions-for-data-chart/sandbox.config.json delete mode 100644 samples/charts/toolbar/layout-in-vertical-orientation/.devcontainer/devcontainer.json delete mode 100644 samples/charts/toolbar/layout-in-vertical-orientation/.eslintrc.js create mode 100644 samples/charts/toolbar/layout-in-vertical-orientation/README.md delete mode 100644 samples/charts/toolbar/layout-in-vertical-orientation/ReadMe.md delete mode 100644 samples/charts/toolbar/layout-in-vertical-orientation/sandbox.config.json delete mode 100644 samples/charts/toolbar/theming/.devcontainer/devcontainer.json delete mode 100644 samples/charts/toolbar/theming/.eslintrc.js create mode 100644 samples/charts/toolbar/theming/README.md delete mode 100644 samples/charts/toolbar/theming/ReadMe.md delete mode 100644 samples/charts/toolbar/theming/sandbox.config.json delete mode 100644 samples/charts/tree-map/events/.devcontainer/devcontainer.json delete mode 100644 samples/charts/tree-map/events/.eslintrc.js delete mode 100644 samples/charts/tree-map/events/sandbox.config.json delete mode 100644 samples/charts/tree-map/highlighting-percent-based/.devcontainer/devcontainer.json delete mode 100644 samples/charts/tree-map/highlighting-percent-based/.eslintrc.js create mode 100644 samples/charts/tree-map/highlighting-percent-based/README.md delete mode 100644 samples/charts/tree-map/highlighting-percent-based/ReadMe.md delete mode 100644 samples/charts/tree-map/highlighting-percent-based/sandbox.config.json delete mode 100644 samples/charts/tree-map/highlighting/.devcontainer/devcontainer.json delete mode 100644 samples/charts/tree-map/highlighting/.eslintrc.js create mode 100644 samples/charts/tree-map/highlighting/README.md delete mode 100644 samples/charts/tree-map/highlighting/ReadMe.md delete mode 100644 samples/charts/tree-map/highlighting/sandbox.config.json delete mode 100644 samples/charts/tree-map/layout/.devcontainer/devcontainer.json delete mode 100644 samples/charts/tree-map/layout/.eslintrc.js create mode 100644 samples/charts/tree-map/layout/README.md delete mode 100644 samples/charts/tree-map/layout/ReadMe.md delete mode 100644 samples/charts/tree-map/layout/sandbox.config.json delete mode 100644 samples/charts/tree-map/overview/.devcontainer/devcontainer.json delete mode 100644 samples/charts/tree-map/overview/.eslintrc.js delete mode 100644 samples/charts/tree-map/overview/sandbox.config.json delete mode 100644 samples/charts/tree-map/styling/.devcontainer/devcontainer.json delete mode 100644 samples/charts/tree-map/styling/.eslintrc.js create mode 100644 samples/charts/tree-map/styling/README.md delete mode 100644 samples/charts/tree-map/styling/ReadMe.md delete mode 100644 samples/charts/tree-map/styling/sandbox.config.json delete mode 100644 samples/charts/zoomslider/overview/.devcontainer/devcontainer.json delete mode 100644 samples/charts/zoomslider/overview/.eslintrc.js delete mode 100644 samples/charts/zoomslider/overview/sandbox.config.json delete mode 100644 samples/cleanup.bat delete mode 100644 samples/editors/multi-column-combobox/overview/.devcontainer/devcontainer.json delete mode 100644 samples/editors/multi-column-combobox/overview/.eslintrc.js delete mode 100644 samples/editors/multi-column-combobox/overview/sandbox.config.json delete mode 100644 samples/editors/x-date-picker/date-limits/.devcontainer/devcontainer.json delete mode 100644 samples/editors/x-date-picker/date-limits/.eslintrc.js delete mode 100644 samples/editors/x-date-picker/date-limits/sandbox.config.json delete mode 100644 samples/editors/x-date-picker/editing/.devcontainer/devcontainer.json delete mode 100644 samples/editors/x-date-picker/editing/.eslintrc.js delete mode 100644 samples/editors/x-date-picker/editing/sandbox.config.json delete mode 100644 samples/editors/x-date-picker/format/.devcontainer/devcontainer.json delete mode 100644 samples/editors/x-date-picker/format/.eslintrc.js delete mode 100644 samples/editors/x-date-picker/format/sandbox.config.json delete mode 100644 samples/editors/x-date-picker/overview/.devcontainer/devcontainer.json delete mode 100644 samples/editors/x-date-picker/overview/.eslintrc.js delete mode 100644 samples/editors/x-date-picker/overview/sandbox.config.json delete mode 100644 samples/editors/x-date-picker/range/.devcontainer/devcontainer.json delete mode 100644 samples/editors/x-date-picker/range/.eslintrc.js delete mode 100644 samples/editors/x-date-picker/range/sandbox.config.json delete mode 100644 samples/excel/excel-library/operations-on-workbooks/.devcontainer/devcontainer.json delete mode 100644 samples/excel/excel-library/operations-on-workbooks/.eslintrc.js delete mode 100644 samples/excel/excel-library/operations-on-workbooks/sandbox.config.json delete mode 100644 samples/excel/excel-library/operations-on-worksheets/.devcontainer/devcontainer.json delete mode 100644 samples/excel/excel-library/operations-on-worksheets/.eslintrc.js delete mode 100644 samples/excel/excel-library/operations-on-worksheets/sandbox.config.json delete mode 100644 samples/excel/excel-library/overview/.devcontainer/devcontainer.json delete mode 100644 samples/excel/excel-library/overview/.eslintrc.js delete mode 100644 samples/excel/excel-library/overview/sandbox.config.json delete mode 100644 samples/excel/excel-library/working-with-cells/.devcontainer/devcontainer.json delete mode 100644 samples/excel/excel-library/working-with-cells/.eslintrc.js delete mode 100644 samples/excel/excel-library/working-with-cells/sandbox.config.json delete mode 100644 samples/excel/excel-library/working-with-charts/.devcontainer/devcontainer.json delete mode 100644 samples/excel/excel-library/working-with-charts/.eslintrc.js delete mode 100644 samples/excel/excel-library/working-with-charts/sandbox.config.json delete mode 100644 samples/excel/excel-library/working-with-sparklines/.devcontainer/devcontainer.json delete mode 100644 samples/excel/excel-library/working-with-sparklines/.eslintrc.js delete mode 100644 samples/excel/excel-library/working-with-sparklines/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/activation/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/activation/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/activation/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/adapter-chart/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/adapter-chart/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/adapter-chart/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/adapter-combo/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/adapter-combo/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/adapter-combo/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/clipboard/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/clipboard/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/clipboard/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/commands/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/commands/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/commands/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/conditional-formatting/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/conditional-formatting/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/conditional-formatting/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/config-options/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/config-options/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/config-options/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/data-validation/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/data-validation/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/data-validation/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/filter-dialog/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/filter-dialog/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/filter-dialog/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/format-dialog/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/format-dialog/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/format-dialog/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/hyperlinks/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/hyperlinks/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/hyperlinks/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/overview/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/overview/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/overview/sandbox.config.json delete mode 100644 samples/excel/spreadsheet/sort-dialog/.devcontainer/devcontainer.json delete mode 100644 samples/excel/spreadsheet/sort-dialog/.eslintrc.js delete mode 100644 samples/excel/spreadsheet/sort-dialog/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/animation/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/animation/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/animation/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/background/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/background/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/background/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/highlight-needle/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/highlight-needle/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/highlight-needle/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/labels/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/labels/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/labels/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/measures/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/measures/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/measures/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/ranges/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/ranges/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/ranges/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/scale/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/scale/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/scale/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/tickmarks/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/tickmarks/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/tickmarks/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/type-filled/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/type-filled/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/type-filled/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/type-horizontal/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/type-horizontal/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/type-horizontal/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/type-reversed/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/type-reversed/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/type-reversed/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/type-segmented/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/type-segmented/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/type-segmented/sandbox.config.json delete mode 100644 samples/gauges/bullet-graph/type-vertical/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/bullet-graph/type-vertical/.eslintrc.js delete mode 100644 samples/gauges/bullet-graph/type-vertical/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/animation/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/animation/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/animation/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/backing/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/backing/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/backing/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/highlight-needle/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/highlight-needle/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/highlight-needle/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/labels/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/labels/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/labels/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/needle/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/needle/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/needle/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/ranges/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/ranges/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/ranges/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/scale/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/scale/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/scale/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/tickmarks/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/tickmarks/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/tickmarks/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/type-curved/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/type-curved/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/type-curved/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/type-filled/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/type-filled/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/type-filled/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/type-horizontal/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/type-horizontal/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/type-horizontal/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/type-multi-range/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/type-multi-range/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/type-multi-range/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/type-multi-scale/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/type-multi-scale/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/type-multi-scale/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/type-segmented/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/type-segmented/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/type-segmented/sandbox.config.json delete mode 100644 samples/gauges/linear-gauge/type-vertical/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/linear-gauge/type-vertical/.eslintrc.js delete mode 100644 samples/gauges/linear-gauge/type-vertical/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/animation/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/animation/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/animation/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/backing/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/backing/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/backing/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/highlight-needle/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/highlight-needle/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/highlight-needle/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/labels/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/labels/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/labels/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/needle/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/needle/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/needle/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/optical-scaling/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/optical-scaling/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/optical-scaling/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/ranges/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/ranges/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/ranges/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/scale/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/scale/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/scale/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/tickmarks/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/tickmarks/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/tickmarks/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/type-column/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/type-column/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/type-column/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/type-curved/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/type-curved/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/type-curved/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/type-direction/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/type-direction/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/type-direction/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/type-full/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/type-full/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/type-full/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/type-half/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/type-half/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/type-half/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/type-quatre/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/type-quatre/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/type-quatre/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/type-ring/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/type-ring/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/type-ring/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/type-segmented/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/type-segmented/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/type-segmented/sandbox.config.json delete mode 100644 samples/gauges/radial-gauge/type-semi/.devcontainer/devcontainer.json delete mode 100644 samples/gauges/radial-gauge/type-semi/.eslintrc.js delete mode 100644 samples/gauges/radial-gauge/type-semi/sandbox.config.json delete mode 100644 samples/grids/data-grid/accessibility/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/accessibility/.eslintrc.js delete mode 100644 samples/grids/data-grid/accessibility/sandbox.config.json delete mode 100644 samples/grids/data-grid/binding-data-service/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/binding-data-service/.eslintrc.js delete mode 100644 samples/grids/data-grid/binding-data-service/sandbox.config.json delete mode 100644 samples/grids/data-grid/binding-live-data/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/binding-live-data/.eslintrc.js delete mode 100644 samples/grids/data-grid/binding-live-data/sandbox.config.json delete mode 100644 samples/grids/data-grid/binding-local-data/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/binding-local-data/.eslintrc.js delete mode 100644 samples/grids/data-grid/binding-local-data/sandbox.config.json delete mode 100644 samples/grids/data-grid/binding-remote-data/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/binding-remote-data/.eslintrc.js delete mode 100644 samples/grids/data-grid/binding-remote-data/sandbox.config.json delete mode 100644 samples/grids/data-grid/cell-activation/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/cell-activation/.eslintrc.js delete mode 100644 samples/grids/data-grid/cell-activation/sandbox.config.json delete mode 100644 samples/grids/data-grid/cell-editing/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/cell-editing/.eslintrc.js delete mode 100644 samples/grids/data-grid/cell-editing/sandbox.config.json delete mode 100644 samples/grids/data-grid/cell-merging/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/cell-merging/.eslintrc.js delete mode 100644 samples/grids/data-grid/cell-merging/sandbox.config.json delete mode 100644 samples/grids/data-grid/cell-selection/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/cell-selection/.eslintrc.js delete mode 100644 samples/grids/data-grid/cell-selection/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-animation/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-animation/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-animation/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-chooser-picker/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-chooser-picker/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-chooser-picker/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-chooser-toolbar/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-chooser-toolbar/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-chooser-toolbar/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-filter-expressions/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-filter-expressions/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-filter-expressions/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-filter-operands/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-filter-operands/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-filter-operands/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-filtering/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-filtering/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-filtering/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-moving/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-moving/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-moving/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-options/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-options/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-pinning-picker/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-pinning-picker/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-pinning-picker/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-pinning-toolbar/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-pinning-toolbar/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-pinning-toolbar/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-resizing/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-resizing/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-resizing/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-scrolling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-scrolling/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-scrolling/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-sorting/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-sorting/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-sorting/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-summaries/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-summaries/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-summaries/sandbox.config.json delete mode 100644 samples/grids/data-grid/column-types/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/column-types/.eslintrc.js delete mode 100644 samples/grids/data-grid/column-types/sandbox.config.json delete mode 100644 samples/grids/data-grid/load-save-layout/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/load-save-layout/.eslintrc.js delete mode 100644 samples/grids/data-grid/load-save-layout/sandbox.config.json delete mode 100644 samples/grids/data-grid/localization/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/localization/.eslintrc.js delete mode 100644 samples/grids/data-grid/localization/sandbox.config.json delete mode 100644 samples/grids/data-grid/overview/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/overview/.eslintrc.js delete mode 100644 samples/grids/data-grid/overview/sandbox.config.json delete mode 100644 samples/grids/data-grid/pager/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/pager/.eslintrc.js delete mode 100644 samples/grids/data-grid/pager/sandbox.config.json delete mode 100644 samples/grids/data-grid/performance/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/performance/.eslintrc.js delete mode 100644 samples/grids/data-grid/performance/sandbox.config.json delete mode 100644 samples/grids/data-grid/row-group-descriptions/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/row-group-descriptions/.eslintrc.js delete mode 100644 samples/grids/data-grid/row-group-descriptions/sandbox.config.json delete mode 100644 samples/grids/data-grid/row-grouping/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/row-grouping/.eslintrc.js delete mode 100644 samples/grids/data-grid/row-grouping/sandbox.config.json delete mode 100644 samples/grids/data-grid/row-highlighting/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/row-highlighting/.eslintrc.js delete mode 100644 samples/grids/data-grid/row-highlighting/sandbox.config.json delete mode 100644 samples/grids/data-grid/row-paging/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/row-paging/.eslintrc.js delete mode 100644 samples/grids/data-grid/row-paging/sandbox.config.json delete mode 100644 samples/grids/data-grid/row-pinning/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/row-pinning/.eslintrc.js delete mode 100644 samples/grids/data-grid/row-pinning/sandbox.config.json delete mode 100644 samples/grids/data-grid/row-selection/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/row-selection/.eslintrc.js delete mode 100644 samples/grids/data-grid/row-selection/sandbox.config.json delete mode 100644 samples/grids/data-grid/type-comparison-table/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/type-comparison-table/.eslintrc.js delete mode 100644 samples/grids/data-grid/type-comparison-table/sandbox.config.json delete mode 100644 samples/grids/data-grid/type-heatmap-table/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/type-heatmap-table/.eslintrc.js delete mode 100644 samples/grids/data-grid/type-heatmap-table/sandbox.config.json delete mode 100644 samples/grids/data-grid/type-marketing-table/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/type-marketing-table/.eslintrc.js delete mode 100644 samples/grids/data-grid/type-marketing-table/sandbox.config.json delete mode 100644 samples/grids/data-grid/type-matrix-table/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/type-matrix-table/.eslintrc.js delete mode 100644 samples/grids/data-grid/type-matrix-table/sandbox.config.json delete mode 100644 samples/grids/data-grid/type-periodic-table/.devcontainer/devcontainer.json delete mode 100644 samples/grids/data-grid/type-periodic-table/.eslintrc.js delete mode 100644 samples/grids/data-grid/type-periodic-table/sandbox.config.json delete mode 100644 samples/grids/grid-lite/column-config-basic/.eslintrc.js create mode 100644 samples/grids/grid-lite/column-config-basic/README.md delete mode 100644 samples/grids/grid-lite/column-config-basic/ReadMe.md delete mode 100644 samples/grids/grid-lite/column-config-basic/sandbox.config.json delete mode 100644 samples/grids/grid-lite/column-config-dynamic/.eslintrc.js create mode 100644 samples/grids/grid-lite/column-config-dynamic/README.md delete mode 100644 samples/grids/grid-lite/column-config-dynamic/ReadMe.md delete mode 100644 samples/grids/grid-lite/column-config-dynamic/sandbox.config.json delete mode 100644 samples/grids/grid-lite/column-config-headers/.eslintrc.js create mode 100644 samples/grids/grid-lite/column-config-headers/README.md delete mode 100644 samples/grids/grid-lite/column-config-headers/ReadMe copy.md delete mode 100644 samples/grids/grid-lite/column-config-headers/ReadMe.md delete mode 100644 samples/grids/grid-lite/column-config-headers/sandbox.config.json delete mode 100644 samples/grids/grid-lite/data-binding/.eslintrc.js create mode 100644 samples/grids/grid-lite/data-binding/README.md delete mode 100644 samples/grids/grid-lite/data-binding/ReadMe.md delete mode 100644 samples/grids/grid-lite/data-binding/sandbox.config.json delete mode 100644 samples/grids/grid-lite/filtering-config-events/.eslintrc.js create mode 100644 samples/grids/grid-lite/filtering-config-events/README.md delete mode 100644 samples/grids/grid-lite/filtering-config-events/ReadMe.md delete mode 100644 samples/grids/grid-lite/filtering-config-events/sandbox.config.json delete mode 100644 samples/grids/grid-lite/filtering-config-remote/.eslintrc.js create mode 100644 samples/grids/grid-lite/filtering-config-remote/README.md delete mode 100644 samples/grids/grid-lite/filtering-config-remote/ReadMe.md delete mode 100644 samples/grids/grid-lite/filtering-config-remote/sandbox.config.json delete mode 100644 samples/grids/grid-lite/filtering-config/.eslintrc.js create mode 100644 samples/grids/grid-lite/filtering-config/README.md delete mode 100644 samples/grids/grid-lite/filtering-config/ReadMe.md delete mode 100644 samples/grids/grid-lite/filtering-config/sandbox.config.json delete mode 100644 samples/grids/grid-lite/overview/.eslintrc.js create mode 100644 samples/grids/grid-lite/overview/README.md delete mode 100644 samples/grids/grid-lite/overview/ReadMe.md delete mode 100644 samples/grids/grid-lite/overview/sandbox.config.json delete mode 100644 samples/grids/grid-lite/sort-config-events/.eslintrc.js create mode 100644 samples/grids/grid-lite/sort-config-events/README.md delete mode 100644 samples/grids/grid-lite/sort-config-events/ReadMe copy.md delete mode 100644 samples/grids/grid-lite/sort-config-events/ReadMe.md delete mode 100644 samples/grids/grid-lite/sort-config-events/sandbox.config.json delete mode 100644 samples/grids/grid-lite/sort-config-grid/.eslintrc.js create mode 100644 samples/grids/grid-lite/sort-config-grid/README.md delete mode 100644 samples/grids/grid-lite/sort-config-grid/ReadMe copy.md delete mode 100644 samples/grids/grid-lite/sort-config-grid/ReadMe.md delete mode 100644 samples/grids/grid-lite/sort-config-grid/sandbox.config.json delete mode 100644 samples/grids/grid-lite/sort-config-pipeline/.eslintrc.js create mode 100644 samples/grids/grid-lite/sort-config-pipeline/README.md delete mode 100644 samples/grids/grid-lite/sort-config-pipeline/ReadMe.md delete mode 100644 samples/grids/grid-lite/sort-config-pipeline/sandbox.config.json delete mode 100644 samples/grids/grid-lite/sort-config-sample/.eslintrc.js create mode 100644 samples/grids/grid-lite/sort-config-sample/README.md delete mode 100644 samples/grids/grid-lite/sort-config-sample/ReadMe.md delete mode 100644 samples/grids/grid-lite/sort-config-sample/sandbox.config.json delete mode 100644 samples/grids/grid-lite/styling-config-themes/.eslintrc.js create mode 100644 samples/grids/grid-lite/styling-config-themes/README.md delete mode 100644 samples/grids/grid-lite/styling-config-themes/ReadMe.md delete mode 100644 samples/grids/grid-lite/styling-config-themes/sandbox.config.json delete mode 100644 samples/grids/grid-lite/styling-custom-theme/.eslintrc.js create mode 100644 samples/grids/grid-lite/styling-custom-theme/README.md delete mode 100644 samples/grids/grid-lite/styling-custom-theme/ReadMe.md delete mode 100644 samples/grids/grid-lite/styling-custom-theme/sandbox.config.json delete mode 100644 samples/grids/grid/action-strip/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/action-strip/.eslintrc.js create mode 100644 samples/grids/grid/action-strip/README.md delete mode 100644 samples/grids/grid/action-strip/ReadMe.md delete mode 100644 samples/grids/grid/action-strip/sandbox.config.json delete mode 100644 samples/grids/grid/advanced-filtering-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/advanced-filtering-options/.eslintrc.js create mode 100644 samples/grids/grid/advanced-filtering-options/README.md delete mode 100644 samples/grids/grid/advanced-filtering-options/ReadMe.md delete mode 100644 samples/grids/grid/advanced-filtering-options/sandbox.config.json delete mode 100644 samples/grids/grid/advanced-filtering-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/advanced-filtering-style/.eslintrc.js create mode 100644 samples/grids/grid/advanced-filtering-style/README.md delete mode 100644 samples/grids/grid/advanced-filtering-style/ReadMe.md delete mode 100644 samples/grids/grid/advanced-filtering-style/sandbox.config.json delete mode 100644 samples/grids/grid/binding-composite-data/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/binding-composite-data/.eslintrc.js create mode 100644 samples/grids/grid/binding-composite-data/README.md delete mode 100644 samples/grids/grid/binding-composite-data/ReadMe.md delete mode 100644 samples/grids/grid/binding-composite-data/sandbox.config.json delete mode 100644 samples/grids/grid/binding-crud-data/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/binding-crud-data/.eslintrc.js create mode 100644 samples/grids/grid/binding-crud-data/README.md delete mode 100644 samples/grids/grid/binding-crud-data/ReadMe.md delete mode 100644 samples/grids/grid/binding-crud-data/sandbox.config.json delete mode 100644 samples/grids/grid/binding-nested-data-1/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/binding-nested-data-1/.eslintrc.js create mode 100644 samples/grids/grid/binding-nested-data-1/README.md delete mode 100644 samples/grids/grid/binding-nested-data-1/ReadMe.md delete mode 100644 samples/grids/grid/binding-nested-data-1/sandbox.config.json delete mode 100644 samples/grids/grid/cascading-combo/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/cascading-combo/.eslintrc.js create mode 100644 samples/grids/grid/cascading-combo/README.md delete mode 100644 samples/grids/grid/cascading-combo/ReadMe.md delete mode 100644 samples/grids/grid/cascading-combo/sandbox.config.json delete mode 100644 samples/grids/grid/cell-editing-sample/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/cell-editing-sample/.eslintrc.js create mode 100644 samples/grids/grid/cell-editing-sample/README.md delete mode 100644 samples/grids/grid/cell-editing-sample/ReadMe.md delete mode 100644 samples/grids/grid/cell-editing-sample/sandbox.config.json delete mode 100644 samples/grids/grid/cell-editing-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/cell-editing-styling/.eslintrc.js create mode 100644 samples/grids/grid/cell-editing-styling/README.md delete mode 100644 samples/grids/grid/cell-editing-styling/ReadMe.md delete mode 100644 samples/grids/grid/cell-editing-styling/sandbox.config.json delete mode 100644 samples/grids/grid/cell-merge-custom-sample/.eslintrc.js create mode 100644 samples/grids/grid/cell-merge-custom-sample/README.md delete mode 100644 samples/grids/grid/cell-merge-custom-sample/ReadMe.md create mode 100644 samples/grids/grid/cell-merge-custom-sample/index.html delete mode 100644 samples/grids/grid/cell-merge-custom-sample/public/index.html delete mode 100644 samples/grids/grid/cell-merge-custom-sample/sandbox.config.json delete mode 100644 samples/grids/grid/cell-merge-custom-sample/src/react-app-env.d.ts rename {browser/templates/sample => samples/grids/grid/cell-merge-custom-sample}/vite.config.js (100%) delete mode 100644 samples/grids/grid/cell-merge/.eslintrc.js create mode 100644 samples/grids/grid/cell-merge/README.md delete mode 100644 samples/grids/grid/cell-merge/ReadMe.md create mode 100644 samples/grids/grid/cell-merge/index.html delete mode 100644 samples/grids/grid/cell-merge/public/index.html delete mode 100644 samples/grids/grid/cell-merge/sandbox.config.json delete mode 100644 samples/grids/grid/cell-merge/src/react-app-env.d.ts create mode 100644 samples/grids/grid/cell-merge/vite.config.js delete mode 100644 samples/grids/grid/cell-selection-mode/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/cell-selection-mode/.eslintrc.js create mode 100644 samples/grids/grid/cell-selection-mode/README.md delete mode 100644 samples/grids/grid/cell-selection-mode/ReadMe.md delete mode 100644 samples/grids/grid/cell-selection-mode/sandbox.config.json delete mode 100644 samples/grids/grid/cell-selection-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/cell-selection-style/.eslintrc.js create mode 100644 samples/grids/grid/cell-selection-style/README.md delete mode 100644 samples/grids/grid/cell-selection-style/ReadMe.md delete mode 100644 samples/grids/grid/cell-selection-style/sandbox.config.json delete mode 100644 samples/grids/grid/change-icons-custom/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/change-icons-custom/.eslintrc.js create mode 100644 samples/grids/grid/change-icons-custom/README.md delete mode 100644 samples/grids/grid/change-icons-custom/ReadMe.md delete mode 100644 samples/grids/grid/change-icons-custom/sandbox.config.json delete mode 100644 samples/grids/grid/clipboard-operations/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/clipboard-operations/.eslintrc.js create mode 100644 samples/grids/grid/clipboard-operations/README.md delete mode 100644 samples/grids/grid/clipboard-operations/ReadMe.md delete mode 100644 samples/grids/grid/clipboard-operations/sandbox.config.json delete mode 100644 samples/grids/grid/column-auto-sizing/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-auto-sizing/.eslintrc.js create mode 100644 samples/grids/grid/column-auto-sizing/README.md delete mode 100644 samples/grids/grid/column-auto-sizing/ReadMe.md delete mode 100644 samples/grids/grid/column-auto-sizing/sandbox.config.json delete mode 100644 samples/grids/grid/column-collapsible-groups/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-collapsible-groups/.eslintrc.js create mode 100644 samples/grids/grid/column-collapsible-groups/README.md delete mode 100644 samples/grids/grid/column-collapsible-groups/ReadMe.md delete mode 100644 samples/grids/grid/column-collapsible-groups/sandbox.config.json delete mode 100644 samples/grids/grid/column-data-types/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-data-types/.eslintrc.js create mode 100644 samples/grids/grid/column-data-types/README.md delete mode 100644 samples/grids/grid/column-data-types/ReadMe.md delete mode 100644 samples/grids/grid/column-data-types/sandbox.config.json delete mode 100644 samples/grids/grid/column-hiding-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-hiding-options/.eslintrc.js create mode 100644 samples/grids/grid/column-hiding-options/README.md delete mode 100644 samples/grids/grid/column-hiding-options/ReadMe.md delete mode 100644 samples/grids/grid/column-hiding-options/sandbox.config.json delete mode 100644 samples/grids/grid/column-hiding-toolbar-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-hiding-toolbar-style/.eslintrc.js create mode 100644 samples/grids/grid/column-hiding-toolbar-style/README.md delete mode 100644 samples/grids/grid/column-hiding-toolbar-style/ReadMe.md delete mode 100644 samples/grids/grid/column-hiding-toolbar-style/sandbox.config.json delete mode 100644 samples/grids/grid/column-hiding-toolbar/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-hiding-toolbar/.eslintrc.js create mode 100644 samples/grids/grid/column-hiding-toolbar/README.md delete mode 100644 samples/grids/grid/column-hiding-toolbar/ReadMe.md delete mode 100644 samples/grids/grid/column-hiding-toolbar/sandbox.config.json delete mode 100644 samples/grids/grid/column-moving-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-moving-options/.eslintrc.js create mode 100644 samples/grids/grid/column-moving-options/README.md delete mode 100644 samples/grids/grid/column-moving-options/ReadMe.md delete mode 100644 samples/grids/grid/column-moving-options/sandbox.config.json delete mode 100644 samples/grids/grid/column-moving-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-moving-styles/.eslintrc.js create mode 100644 samples/grids/grid/column-moving-styles/README.md delete mode 100644 samples/grids/grid/column-moving-styles/ReadMe.md delete mode 100644 samples/grids/grid/column-moving-styles/sandbox.config.json delete mode 100644 samples/grids/grid/column-pinning-both-sides/.eslintrc.js create mode 100644 samples/grids/grid/column-pinning-both-sides/README.md delete mode 100644 samples/grids/grid/column-pinning-both-sides/ReadMe.md create mode 100644 samples/grids/grid/column-pinning-both-sides/index.html delete mode 100644 samples/grids/grid/column-pinning-both-sides/public/index.html delete mode 100644 samples/grids/grid/column-pinning-both-sides/sandbox.config.json delete mode 100644 samples/grids/grid/column-pinning-both-sides/src/react-app-env.d.ts create mode 100644 samples/grids/grid/column-pinning-both-sides/vite.config.js delete mode 100644 samples/grids/grid/column-pinning-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-pinning-options/.eslintrc.js create mode 100644 samples/grids/grid/column-pinning-options/README.md delete mode 100644 samples/grids/grid/column-pinning-options/ReadMe.md delete mode 100644 samples/grids/grid/column-pinning-options/sandbox.config.json delete mode 100644 samples/grids/grid/column-pinning-right-side/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-pinning-right-side/.eslintrc.js create mode 100644 samples/grids/grid/column-pinning-right-side/README.md delete mode 100644 samples/grids/grid/column-pinning-right-side/ReadMe.md delete mode 100644 samples/grids/grid/column-pinning-right-side/sandbox.config.json delete mode 100644 samples/grids/grid/column-pinning-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-pinning-styles/.eslintrc.js create mode 100644 samples/grids/grid/column-pinning-styles/README.md delete mode 100644 samples/grids/grid/column-pinning-styles/ReadMe.md delete mode 100644 samples/grids/grid/column-pinning-styles/sandbox.config.json delete mode 100644 samples/grids/grid/column-pinning/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-pinning/.eslintrc.js create mode 100644 samples/grids/grid/column-pinning/README.md delete mode 100644 samples/grids/grid/column-pinning/ReadMe.md delete mode 100644 samples/grids/grid/column-pinning/sandbox.config.json delete mode 100644 samples/grids/grid/column-resize-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-resize-styling/.eslintrc.js create mode 100644 samples/grids/grid/column-resize-styling/README.md delete mode 100644 samples/grids/grid/column-resize-styling/ReadMe.md delete mode 100644 samples/grids/grid/column-resize-styling/sandbox.config.json delete mode 100644 samples/grids/grid/column-resizing/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-resizing/.eslintrc.js create mode 100644 samples/grids/grid/column-resizing/README.md delete mode 100644 samples/grids/grid/column-resizing/ReadMe.md delete mode 100644 samples/grids/grid/column-resizing/sandbox.config.json delete mode 100644 samples/grids/grid/column-selection-group/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-selection-group/.eslintrc.js create mode 100644 samples/grids/grid/column-selection-group/README.md delete mode 100644 samples/grids/grid/column-selection-group/ReadMe.md delete mode 100644 samples/grids/grid/column-selection-group/sandbox.config.json delete mode 100644 samples/grids/grid/column-selection-mode/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-selection-mode/.eslintrc.js create mode 100644 samples/grids/grid/column-selection-mode/README.md delete mode 100644 samples/grids/grid/column-selection-mode/ReadMe.md delete mode 100644 samples/grids/grid/column-selection-mode/sandbox.config.json delete mode 100644 samples/grids/grid/column-selection-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-selection-styles/.eslintrc.js create mode 100644 samples/grids/grid/column-selection-styles/README.md delete mode 100644 samples/grids/grid/column-selection-styles/ReadMe.md delete mode 100644 samples/grids/grid/column-selection-styles/sandbox.config.json delete mode 100644 samples/grids/grid/column-sorting-indicators/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-sorting-indicators/.eslintrc.js create mode 100644 samples/grids/grid/column-sorting-indicators/README.md delete mode 100644 samples/grids/grid/column-sorting-indicators/ReadMe.md delete mode 100644 samples/grids/grid/column-sorting-indicators/sandbox.config.json delete mode 100644 samples/grids/grid/column-sorting-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-sorting-options/.eslintrc.js create mode 100644 samples/grids/grid/column-sorting-options/README.md delete mode 100644 samples/grids/grid/column-sorting-options/ReadMe.md delete mode 100644 samples/grids/grid/column-sorting-options/sandbox.config.json delete mode 100644 samples/grids/grid/column-sorting-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/column-sorting-style/.eslintrc.js create mode 100644 samples/grids/grid/column-sorting-style/README.md delete mode 100644 samples/grids/grid/column-sorting-style/ReadMe.md delete mode 100644 samples/grids/grid/column-sorting-style/sandbox.config.json delete mode 100644 samples/grids/grid/conditional-cell-style-1/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/conditional-cell-style-1/.eslintrc.js create mode 100644 samples/grids/grid/conditional-cell-style-1/README.md delete mode 100644 samples/grids/grid/conditional-cell-style-1/ReadMe.md delete mode 100644 samples/grids/grid/conditional-cell-style-1/sandbox.config.json delete mode 100644 samples/grids/grid/conditional-cell-style-2/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/conditional-cell-style-2/.eslintrc.js create mode 100644 samples/grids/grid/conditional-cell-style-2/README.md delete mode 100644 samples/grids/grid/conditional-cell-style-2/ReadMe.md delete mode 100644 samples/grids/grid/conditional-cell-style-2/sandbox.config.json delete mode 100644 samples/grids/grid/conditional-row-selectors/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/conditional-row-selectors/.eslintrc.js create mode 100644 samples/grids/grid/conditional-row-selectors/README.md delete mode 100644 samples/grids/grid/conditional-row-selectors/ReadMe.md delete mode 100644 samples/grids/grid/conditional-row-selectors/sandbox.config.json delete mode 100644 samples/grids/grid/custom-context-menu/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/custom-context-menu/.eslintrc.js create mode 100644 samples/grids/grid/custom-context-menu/README.md delete mode 100644 samples/grids/grid/custom-context-menu/ReadMe.md delete mode 100644 samples/grids/grid/custom-context-menu/sandbox.config.json delete mode 100644 samples/grids/grid/data-batch-editing-actions/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/data-batch-editing-actions/.eslintrc.js create mode 100644 samples/grids/grid/data-batch-editing-actions/README.md delete mode 100644 samples/grids/grid/data-batch-editing-actions/ReadMe.md delete mode 100644 samples/grids/grid/data-batch-editing-actions/sandbox.config.json delete mode 100644 samples/grids/grid/data-exporting-indicator/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/data-exporting-indicator/.eslintrc.js create mode 100644 samples/grids/grid/data-exporting-indicator/README.md delete mode 100644 samples/grids/grid/data-exporting-indicator/ReadMe.md delete mode 100644 samples/grids/grid/data-exporting-indicator/sandbox.config.json delete mode 100644 samples/grids/grid/data-performance-virtualization/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/data-performance-virtualization/.eslintrc.js create mode 100644 samples/grids/grid/data-performance-virtualization/README.md delete mode 100644 samples/grids/grid/data-performance-virtualization/ReadMe.md delete mode 100644 samples/grids/grid/data-performance-virtualization/sandbox.config.json delete mode 100644 samples/grids/grid/data-searching/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/data-searching/.eslintrc.js create mode 100644 samples/grids/grid/data-searching/README.md delete mode 100644 samples/grids/grid/data-searching/ReadMe.md delete mode 100644 samples/grids/grid/data-searching/sandbox.config.json delete mode 100644 samples/grids/grid/data-summary-formatter/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/data-summary-formatter/.eslintrc.js create mode 100644 samples/grids/grid/data-summary-formatter/README.md delete mode 100644 samples/grids/grid/data-summary-formatter/ReadMe.md delete mode 100644 samples/grids/grid/data-summary-formatter/sandbox.config.json delete mode 100644 samples/grids/grid/data-summary-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/data-summary-options/.eslintrc.js create mode 100644 samples/grids/grid/data-summary-options/README.md delete mode 100644 samples/grids/grid/data-summary-options/ReadMe.md delete mode 100644 samples/grids/grid/data-summary-options/sandbox.config.json delete mode 100644 samples/grids/grid/data-summary-template/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/data-summary-template/.eslintrc.js create mode 100644 samples/grids/grid/data-summary-template/README.md delete mode 100644 samples/grids/grid/data-summary-template/ReadMe.md delete mode 100644 samples/grids/grid/data-summary-template/sandbox.config.json delete mode 100644 samples/grids/grid/data-validation-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/data-validation-style/.eslintrc.js create mode 100644 samples/grids/grid/data-validation-style/README.md delete mode 100644 samples/grids/grid/data-validation-style/ReadMe.md delete mode 100644 samples/grids/grid/data-validation-style/sandbox.config.json delete mode 100644 samples/grids/grid/data-validator-service-cross-field/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/data-validator-service-cross-field/.eslintrc.js create mode 100644 samples/grids/grid/data-validator-service-cross-field/README.md delete mode 100644 samples/grids/grid/data-validator-service-cross-field/ReadMe.md delete mode 100644 samples/grids/grid/data-validator-service-cross-field/sandbox.config.json delete mode 100644 samples/grids/grid/data-validator-service-extended/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/data-validator-service-extended/.eslintrc.js create mode 100644 samples/grids/grid/data-validator-service-extended/README.md delete mode 100644 samples/grids/grid/data-validator-service-extended/ReadMe.md delete mode 100644 samples/grids/grid/data-validator-service-extended/sandbox.config.json delete mode 100644 samples/grids/grid/data-validator-service/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/data-validator-service/.eslintrc.js create mode 100644 samples/grids/grid/data-validator-service/README.md delete mode 100644 samples/grids/grid/data-validator-service/ReadMe.md delete mode 100644 samples/grids/grid/data-validator-service/sandbox.config.json delete mode 100644 samples/grids/grid/disabled-summaries/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/disabled-summaries/.eslintrc.js create mode 100644 samples/grids/grid/disabled-summaries/README.md delete mode 100644 samples/grids/grid/disabled-summaries/ReadMe.md delete mode 100644 samples/grids/grid/disabled-summaries/sandbox.config.json delete mode 100644 samples/grids/grid/editing-columns/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/editing-columns/.eslintrc.js create mode 100644 samples/grids/grid/editing-columns/README.md delete mode 100644 samples/grids/grid/editing-columns/ReadMe.md delete mode 100644 samples/grids/grid/editing-columns/sandbox.config.json delete mode 100644 samples/grids/grid/editing-events/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/editing-events/.eslintrc.js create mode 100644 samples/grids/grid/editing-events/README.md delete mode 100644 samples/grids/grid/editing-events/ReadMe.md delete mode 100644 samples/grids/grid/editing-events/sandbox.config.json delete mode 100644 samples/grids/grid/editing-excel-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/editing-excel-style/.eslintrc.js create mode 100644 samples/grids/grid/editing-excel-style/README.md delete mode 100644 samples/grids/grid/editing-excel-style/ReadMe.md delete mode 100644 samples/grids/grid/editing-excel-style/sandbox.config.json delete mode 100644 samples/grids/grid/editing-lifecycle/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/editing-lifecycle/.eslintrc.js create mode 100644 samples/grids/grid/editing-lifecycle/README.md delete mode 100644 samples/grids/grid/editing-lifecycle/ReadMe.md delete mode 100644 samples/grids/grid/editing-lifecycle/sandbox.config.json delete mode 100644 samples/grids/grid/excel-exporting/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/excel-exporting/.eslintrc.js create mode 100644 samples/grids/grid/excel-exporting/README.md delete mode 100644 samples/grids/grid/excel-exporting/ReadMe.md delete mode 100644 samples/grids/grid/excel-exporting/sandbox.config.json delete mode 100644 samples/grids/grid/excel-style-filtering-sample-1/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/excel-style-filtering-sample-1/.eslintrc.js create mode 100644 samples/grids/grid/excel-style-filtering-sample-1/README.md delete mode 100644 samples/grids/grid/excel-style-filtering-sample-1/ReadMe.md delete mode 100644 samples/grids/grid/excel-style-filtering-sample-1/sandbox.config.json delete mode 100644 samples/grids/grid/excel-style-filtering-sample-2/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/excel-style-filtering-sample-2/.eslintrc.js create mode 100644 samples/grids/grid/excel-style-filtering-sample-2/README.md delete mode 100644 samples/grids/grid/excel-style-filtering-sample-2/ReadMe.md delete mode 100644 samples/grids/grid/excel-style-filtering-sample-2/sandbox.config.json delete mode 100644 samples/grids/grid/excel-style-filtering-sample-3/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/excel-style-filtering-sample-3/.eslintrc.js create mode 100644 samples/grids/grid/excel-style-filtering-sample-3/README.md delete mode 100644 samples/grids/grid/excel-style-filtering-sample-3/ReadMe.md delete mode 100644 samples/grids/grid/excel-style-filtering-sample-3/sandbox.config.json delete mode 100644 samples/grids/grid/excel-style-filtering-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/excel-style-filtering-style/.eslintrc.js create mode 100644 samples/grids/grid/excel-style-filtering-style/README.md delete mode 100644 samples/grids/grid/excel-style-filtering-style/ReadMe.md delete mode 100644 samples/grids/grid/excel-style-filtering-style/sandbox.config.json delete mode 100644 samples/grids/grid/external-advanced-filtering/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/external-advanced-filtering/.eslintrc.js create mode 100644 samples/grids/grid/external-advanced-filtering/README.md delete mode 100644 samples/grids/grid/external-advanced-filtering/ReadMe.md delete mode 100644 samples/grids/grid/external-advanced-filtering/sandbox.config.json delete mode 100644 samples/grids/grid/filtering-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/filtering-options/.eslintrc.js create mode 100644 samples/grids/grid/filtering-options/README.md delete mode 100644 samples/grids/grid/filtering-options/ReadMe.md delete mode 100644 samples/grids/grid/filtering-options/sandbox.config.json delete mode 100644 samples/grids/grid/filtering-strategy/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/filtering-strategy/.eslintrc.js create mode 100644 samples/grids/grid/filtering-strategy/README.md delete mode 100644 samples/grids/grid/filtering-strategy/ReadMe.md delete mode 100644 samples/grids/grid/filtering-strategy/sandbox.config.json delete mode 100644 samples/grids/grid/filtering-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/filtering-style/.eslintrc.js create mode 100644 samples/grids/grid/filtering-style/README.md delete mode 100644 samples/grids/grid/filtering-style/ReadMe.md delete mode 100644 samples/grids/grid/filtering-style/sandbox.config.json delete mode 100644 samples/grids/grid/finjs/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/finjs/.eslintrc.js create mode 100644 samples/grids/grid/finjs/README.md delete mode 100644 samples/grids/grid/finjs/ReadMe.md delete mode 100644 samples/grids/grid/finjs/sandbox.config.json delete mode 100644 samples/grids/grid/groupby-custom/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/groupby-custom/.eslintrc.js create mode 100644 samples/grids/grid/groupby-custom/README.md delete mode 100644 samples/grids/grid/groupby-custom/ReadMe.md delete mode 100644 samples/grids/grid/groupby-custom/sandbox.config.json delete mode 100644 samples/grids/grid/groupby-expressions/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/groupby-expressions/.eslintrc.js create mode 100644 samples/grids/grid/groupby-expressions/README.md delete mode 100644 samples/grids/grid/groupby-expressions/ReadMe.md delete mode 100644 samples/grids/grid/groupby-expressions/sandbox.config.json delete mode 100644 samples/grids/grid/groupby-paging/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/groupby-paging/.eslintrc.js create mode 100644 samples/grids/grid/groupby-paging/README.md delete mode 100644 samples/grids/grid/groupby-paging/ReadMe.md delete mode 100644 samples/grids/grid/groupby-paging/sandbox.config.json delete mode 100644 samples/grids/grid/groupby-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/groupby-styling/.eslintrc.js create mode 100644 samples/grids/grid/groupby-styling/README.md delete mode 100644 samples/grids/grid/groupby-styling/ReadMe.md delete mode 100644 samples/grids/grid/groupby-styling/sandbox.config.json delete mode 100644 samples/grids/grid/groupby-summary-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/groupby-summary-options/.eslintrc.js create mode 100644 samples/grids/grid/groupby-summary-options/README.md delete mode 100644 samples/grids/grid/groupby-summary-options/ReadMe.md delete mode 100644 samples/grids/grid/groupby-summary-options/sandbox.config.json delete mode 100644 samples/grids/grid/groupby-summary-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/groupby-summary-styling/.eslintrc.js create mode 100644 samples/grids/grid/groupby-summary-styling/README.md delete mode 100644 samples/grids/grid/groupby-summary-styling/ReadMe.md delete mode 100644 samples/grids/grid/groupby-summary-styling/sandbox.config.json delete mode 100644 samples/grids/grid/infinite-scroll/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/infinite-scroll/.eslintrc.js create mode 100644 samples/grids/grid/infinite-scroll/README.md delete mode 100644 samples/grids/grid/infinite-scroll/ReadMe.md delete mode 100644 samples/grids/grid/infinite-scroll/sandbox.config.json delete mode 100644 samples/grids/grid/keyboard-custom-navigation/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/keyboard-custom-navigation/.eslintrc.js create mode 100644 samples/grids/grid/keyboard-custom-navigation/README.md delete mode 100644 samples/grids/grid/keyboard-custom-navigation/ReadMe.md delete mode 100644 samples/grids/grid/keyboard-custom-navigation/sandbox.config.json delete mode 100644 samples/grids/grid/keyboard-mrl-navigation/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/keyboard-mrl-navigation/.eslintrc.js create mode 100644 samples/grids/grid/keyboard-mrl-navigation/README.md delete mode 100644 samples/grids/grid/keyboard-mrl-navigation/ReadMe.md delete mode 100644 samples/grids/grid/keyboard-mrl-navigation/sandbox.config.json delete mode 100644 samples/grids/grid/layout-display-density/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/layout-display-density/.eslintrc.js create mode 100644 samples/grids/grid/layout-display-density/README.md delete mode 100644 samples/grids/grid/layout-display-density/ReadMe.md delete mode 100644 samples/grids/grid/layout-display-density/sandbox.config.json delete mode 100644 samples/grids/grid/localization/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/localization/.eslintrc.js create mode 100644 samples/grids/grid/localization/README.md delete mode 100644 samples/grids/grid/localization/ReadMe.md delete mode 100644 samples/grids/grid/localization/sandbox.config.json delete mode 100644 samples/grids/grid/master-detail/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/master-detail/.eslintrc.js create mode 100644 samples/grids/grid/master-detail/README.md delete mode 100644 samples/grids/grid/master-detail/ReadMe.md delete mode 100644 samples/grids/grid/master-detail/sandbox.config.json delete mode 100644 samples/grids/grid/multi-cell-selection-mode/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/multi-cell-selection-mode/.eslintrc.js create mode 100644 samples/grids/grid/multi-cell-selection-mode/README.md delete mode 100644 samples/grids/grid/multi-cell-selection-mode/ReadMe.md delete mode 100644 samples/grids/grid/multi-cell-selection-mode/sandbox.config.json delete mode 100644 samples/grids/grid/multi-column-headers-export/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/multi-column-headers-export/.eslintrc.js create mode 100644 samples/grids/grid/multi-column-headers-export/README.md delete mode 100644 samples/grids/grid/multi-column-headers-export/ReadMe.md delete mode 100644 samples/grids/grid/multi-column-headers-export/sandbox.config.json delete mode 100644 samples/grids/grid/multi-column-headers-overview/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/multi-column-headers-overview/.eslintrc.js create mode 100644 samples/grids/grid/multi-column-headers-overview/README.md delete mode 100644 samples/grids/grid/multi-column-headers-overview/ReadMe.md delete mode 100644 samples/grids/grid/multi-column-headers-overview/sandbox.config.json delete mode 100644 samples/grids/grid/multi-column-headers-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/multi-column-headers-styling/.eslintrc.js create mode 100644 samples/grids/grid/multi-column-headers-styling/README.md delete mode 100644 samples/grids/grid/multi-column-headers-styling/ReadMe.md delete mode 100644 samples/grids/grid/multi-column-headers-styling/sandbox.config.json delete mode 100644 samples/grids/grid/multi-column-headers-template/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/multi-column-headers-template/.eslintrc.js create mode 100644 samples/grids/grid/multi-column-headers-template/README.md delete mode 100644 samples/grids/grid/multi-column-headers-template/ReadMe.md delete mode 100644 samples/grids/grid/multi-column-headers-template/sandbox.config.json delete mode 100644 samples/grids/grid/multi-row-layout-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/multi-row-layout-options/.eslintrc.js create mode 100644 samples/grids/grid/multi-row-layout-options/README.md delete mode 100644 samples/grids/grid/multi-row-layout-options/ReadMe.md delete mode 100644 samples/grids/grid/multi-row-layout-options/sandbox.config.json delete mode 100644 samples/grids/grid/multi-row-layout-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/multi-row-layout-style/.eslintrc.js create mode 100644 samples/grids/grid/multi-row-layout-style/README.md delete mode 100644 samples/grids/grid/multi-row-layout-style/ReadMe.md delete mode 100644 samples/grids/grid/multi-row-layout-style/sandbox.config.json delete mode 100644 samples/grids/grid/overview/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/overview/.eslintrc.js create mode 100644 samples/grids/grid/overview/README.md delete mode 100644 samples/grids/grid/overview/ReadMe.md delete mode 100644 samples/grids/grid/overview/sandbox.config.json delete mode 100644 samples/grids/grid/paste/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/paste/.eslintrc.js create mode 100644 samples/grids/grid/paste/README.md delete mode 100644 samples/grids/grid/paste/ReadMe.md delete mode 100644 samples/grids/grid/paste/sandbox.config.json delete mode 100644 samples/grids/grid/remote-paging-data/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/remote-paging-data/.eslintrc.js create mode 100644 samples/grids/grid/remote-paging-data/README.md delete mode 100644 samples/grids/grid/remote-paging-data/ReadMe.md delete mode 100644 samples/grids/grid/remote-paging-data/sandbox.config.json delete mode 100644 samples/grids/grid/remote-paging-grid/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/remote-paging-grid/.eslintrc.js create mode 100644 samples/grids/grid/remote-paging-grid/README.md delete mode 100644 samples/grids/grid/remote-paging-grid/ReadMe.md delete mode 100644 samples/grids/grid/remote-paging-grid/sandbox.config.json delete mode 100644 samples/grids/grid/row-adding/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-adding/.eslintrc.js create mode 100644 samples/grids/grid/row-adding/README.md delete mode 100644 samples/grids/grid/row-adding/ReadMe.md delete mode 100644 samples/grids/grid/row-adding/sandbox.config.json delete mode 100644 samples/grids/grid/row-classes/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-classes/.eslintrc.js create mode 100644 samples/grids/grid/row-classes/README.md delete mode 100644 samples/grids/grid/row-classes/ReadMe.md delete mode 100644 samples/grids/grid/row-classes/sandbox.config.json delete mode 100644 samples/grids/grid/row-drag-base/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-drag-base/.eslintrc.js create mode 100644 samples/grids/grid/row-drag-base/README.md delete mode 100644 samples/grids/grid/row-drag-base/ReadMe.md delete mode 100644 samples/grids/grid/row-drag-base/sandbox.config.json delete mode 100644 samples/grids/grid/row-editing-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-editing-options/.eslintrc.js create mode 100644 samples/grids/grid/row-editing-options/README.md delete mode 100644 samples/grids/grid/row-editing-options/ReadMe.md delete mode 100644 samples/grids/grid/row-editing-options/sandbox.config.json delete mode 100644 samples/grids/grid/row-editing-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-editing-style/.eslintrc.js create mode 100644 samples/grids/grid/row-editing-style/README.md delete mode 100644 samples/grids/grid/row-editing-style/ReadMe.md delete mode 100644 samples/grids/grid/row-editing-style/sandbox.config.json delete mode 100644 samples/grids/grid/row-paging-basic/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-paging-basic/.eslintrc.js create mode 100644 samples/grids/grid/row-paging-basic/README.md delete mode 100644 samples/grids/grid/row-paging-basic/ReadMe.md delete mode 100644 samples/grids/grid/row-paging-basic/sandbox.config.json delete mode 100644 samples/grids/grid/row-paging-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-paging-options/.eslintrc.js create mode 100644 samples/grids/grid/row-paging-options/README.md delete mode 100644 samples/grids/grid/row-paging-options/ReadMe.md delete mode 100644 samples/grids/grid/row-paging-options/sandbox.config.json delete mode 100644 samples/grids/grid/row-pinning-drag/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-pinning-drag/.eslintrc.js create mode 100644 samples/grids/grid/row-pinning-drag/README.md delete mode 100644 samples/grids/grid/row-pinning-drag/ReadMe.md delete mode 100644 samples/grids/grid/row-pinning-drag/sandbox.config.json delete mode 100644 samples/grids/grid/row-pinning-extra-column/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-pinning-extra-column/.eslintrc.js create mode 100644 samples/grids/grid/row-pinning-extra-column/README.md delete mode 100644 samples/grids/grid/row-pinning-extra-column/ReadMe.md delete mode 100644 samples/grids/grid/row-pinning-extra-column/sandbox.config.json delete mode 100644 samples/grids/grid/row-pinning-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-pinning-options/.eslintrc.js create mode 100644 samples/grids/grid/row-pinning-options/README.md delete mode 100644 samples/grids/grid/row-pinning-options/ReadMe.md delete mode 100644 samples/grids/grid/row-pinning-options/sandbox.config.json delete mode 100644 samples/grids/grid/row-pinning-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-pinning-style/.eslintrc.js create mode 100644 samples/grids/grid/row-pinning-style/README.md delete mode 100644 samples/grids/grid/row-pinning-style/ReadMe.md delete mode 100644 samples/grids/grid/row-pinning-style/sandbox.config.json delete mode 100644 samples/grids/grid/row-reorder/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-reorder/.eslintrc.js create mode 100644 samples/grids/grid/row-reorder/README.md delete mode 100644 samples/grids/grid/row-reorder/ReadMe.md delete mode 100644 samples/grids/grid/row-reorder/sandbox.config.json delete mode 100644 samples/grids/grid/row-selection-mode/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-selection-mode/.eslintrc.js create mode 100644 samples/grids/grid/row-selection-mode/README.md delete mode 100644 samples/grids/grid/row-selection-mode/ReadMe.md delete mode 100644 samples/grids/grid/row-selection-mode/sandbox.config.json delete mode 100644 samples/grids/grid/row-selection-template-excel/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-selection-template-excel/.eslintrc.js create mode 100644 samples/grids/grid/row-selection-template-excel/README.md delete mode 100644 samples/grids/grid/row-selection-template-excel/ReadMe.md delete mode 100644 samples/grids/grid/row-selection-template-excel/sandbox.config.json delete mode 100644 samples/grids/grid/row-selection-template-numbers/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-selection-template-numbers/.eslintrc.js create mode 100644 samples/grids/grid/row-selection-template-numbers/README.md delete mode 100644 samples/grids/grid/row-selection-template-numbers/ReadMe.md delete mode 100644 samples/grids/grid/row-selection-template-numbers/sandbox.config.json delete mode 100644 samples/grids/grid/row-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/row-styles/.eslintrc.js create mode 100644 samples/grids/grid/row-styles/README.md delete mode 100644 samples/grids/grid/row-styles/ReadMe.md delete mode 100644 samples/grids/grid/row-styles/sandbox.config.json delete mode 100644 samples/grids/grid/state-persistence-about/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/state-persistence-about/.eslintrc.js create mode 100644 samples/grids/grid/state-persistence-about/README.md delete mode 100644 samples/grids/grid/state-persistence-about/ReadMe.md delete mode 100644 samples/grids/grid/state-persistence-about/sandbox.config.json delete mode 100644 samples/grids/grid/state-persistence-main/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/state-persistence-main/.eslintrc.js create mode 100644 samples/grids/grid/state-persistence-main/README.md delete mode 100644 samples/grids/grid/state-persistence-main/ReadMe.md delete mode 100644 samples/grids/grid/state-persistence-main/sandbox.config.json delete mode 100644 samples/grids/grid/styling-custom-CSS/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/styling-custom-CSS/.eslintrc.js create mode 100644 samples/grids/grid/styling-custom-CSS/README.md delete mode 100644 samples/grids/grid/styling-custom-CSS/ReadMe.md delete mode 100644 samples/grids/grid/styling-custom-CSS/sandbox.config.json delete mode 100644 samples/grids/grid/toolbar-sample-1/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/toolbar-sample-1/.eslintrc.js create mode 100644 samples/grids/grid/toolbar-sample-1/README.md delete mode 100644 samples/grids/grid/toolbar-sample-1/ReadMe.md delete mode 100644 samples/grids/grid/toolbar-sample-1/sandbox.config.json delete mode 100644 samples/grids/grid/toolbar-sample-2/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/toolbar-sample-2/.eslintrc.js create mode 100644 samples/grids/grid/toolbar-sample-2/README.md delete mode 100644 samples/grids/grid/toolbar-sample-2/ReadMe.md delete mode 100644 samples/grids/grid/toolbar-sample-2/sandbox.config.json delete mode 100644 samples/grids/grid/toolbar-sample-3/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/toolbar-sample-3/.eslintrc.js create mode 100644 samples/grids/grid/toolbar-sample-3/README.md delete mode 100644 samples/grids/grid/toolbar-sample-3/ReadMe.md delete mode 100644 samples/grids/grid/toolbar-sample-3/sandbox.config.json delete mode 100644 samples/grids/grid/toolbar-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/grid/toolbar-style/.eslintrc.js create mode 100644 samples/grids/grid/toolbar-style/README.md delete mode 100644 samples/grids/grid/toolbar-style/ReadMe.md delete mode 100644 samples/grids/grid/toolbar-style/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/action-strip/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/action-strip/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/action-strip/README.md delete mode 100644 samples/grids/hierarchical-grid/action-strip/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/action-strip/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/advanced-filtering-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/advanced-filtering-options/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/advanced-filtering-options/README.md delete mode 100644 samples/grids/hierarchical-grid/advanced-filtering-options/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/advanced-filtering-options/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/advanced-filtering-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/advanced-filtering-style/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/advanced-filtering-style/README.md delete mode 100644 samples/grids/hierarchical-grid/advanced-filtering-style/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/advanced-filtering-style/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/cell-editing-sample/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/cell-editing-sample/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/cell-editing-sample/README.md delete mode 100644 samples/grids/hierarchical-grid/cell-editing-sample/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/cell-editing-sample/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/cell-editing-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/cell-editing-styling/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/cell-editing-styling/README.md delete mode 100644 samples/grids/hierarchical-grid/cell-editing-styling/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/cell-editing-styling/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/cell-merge-custom-sample/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/cell-merge-custom-sample/README.md delete mode 100644 samples/grids/hierarchical-grid/cell-merge-custom-sample/ReadMe.md create mode 100644 samples/grids/hierarchical-grid/cell-merge-custom-sample/index.html delete mode 100644 samples/grids/hierarchical-grid/cell-merge-custom-sample/public/index.html delete mode 100644 samples/grids/hierarchical-grid/cell-merge-custom-sample/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/cell-merge-custom-sample/src/react-app-env.d.ts create mode 100644 samples/grids/hierarchical-grid/cell-merge-custom-sample/vite.config.js delete mode 100644 samples/grids/hierarchical-grid/cell-merge/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/cell-merge/README.md delete mode 100644 samples/grids/hierarchical-grid/cell-merge/ReadMe.md create mode 100644 samples/grids/hierarchical-grid/cell-merge/index.html delete mode 100644 samples/grids/hierarchical-grid/cell-merge/public/index.html delete mode 100644 samples/grids/hierarchical-grid/cell-merge/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/cell-merge/src/react-app-env.d.ts create mode 100644 samples/grids/hierarchical-grid/cell-merge/vite.config.js delete mode 100644 samples/grids/hierarchical-grid/cell-selection-mode/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/cell-selection-mode/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/cell-selection-mode/README.md delete mode 100644 samples/grids/hierarchical-grid/cell-selection-mode/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/cell-selection-mode/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/cell-selection-overview/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/cell-selection-overview/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/cell-selection-overview/README.md delete mode 100644 samples/grids/hierarchical-grid/cell-selection-overview/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/cell-selection-overview/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/cell-selection-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/cell-selection-style/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/cell-selection-style/README.md delete mode 100644 samples/grids/hierarchical-grid/cell-selection-style/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/cell-selection-style/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-auto-sizing/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-auto-sizing/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-auto-sizing/README.md delete mode 100644 samples/grids/hierarchical-grid/column-auto-sizing/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-auto-sizing/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-collapsible-groups/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-collapsible-groups/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-collapsible-groups/README.md delete mode 100644 samples/grids/hierarchical-grid/column-collapsible-groups/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-collapsible-groups/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-hiding-toolbar-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-hiding-toolbar-style/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-hiding-toolbar-style/README.md delete mode 100644 samples/grids/hierarchical-grid/column-hiding-toolbar-style/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-hiding-toolbar-style/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-hiding-toolbar/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-hiding-toolbar/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-hiding-toolbar/README.md delete mode 100644 samples/grids/hierarchical-grid/column-hiding-toolbar/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-hiding-toolbar/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-moving-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-moving-options/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-moving-options/README.md delete mode 100644 samples/grids/hierarchical-grid/column-moving-options/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-moving-options/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-moving-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-moving-styles/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-moving-styles/README.md delete mode 100644 samples/grids/hierarchical-grid/column-moving-styles/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-moving-styles/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-pinning-both-sides/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-pinning-both-sides/README.md delete mode 100644 samples/grids/hierarchical-grid/column-pinning-both-sides/ReadMe.md create mode 100644 samples/grids/hierarchical-grid/column-pinning-both-sides/index.html delete mode 100644 samples/grids/hierarchical-grid/column-pinning-both-sides/public/index.html delete mode 100644 samples/grids/hierarchical-grid/column-pinning-both-sides/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-pinning-both-sides/src/react-app-env.d.ts create mode 100644 samples/grids/hierarchical-grid/column-pinning-both-sides/vite.config.js delete mode 100644 samples/grids/hierarchical-grid/column-pinning-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-pinning-options/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-pinning-options/README.md delete mode 100644 samples/grids/hierarchical-grid/column-pinning-options/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-pinning-options/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-pinning-right-side/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-pinning-right-side/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-pinning-right-side/README.md delete mode 100644 samples/grids/hierarchical-grid/column-pinning-right-side/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-pinning-right-side/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-pinning-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-pinning-styles/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-pinning-styles/README.md delete mode 100644 samples/grids/hierarchical-grid/column-pinning-styles/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-pinning-styles/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-pinning/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-pinning/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-pinning/README.md delete mode 100644 samples/grids/hierarchical-grid/column-pinning/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-pinning/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-resize-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-resize-styling/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-resize-styling/README.md delete mode 100644 samples/grids/hierarchical-grid/column-resize-styling/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-resize-styling/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-resizing/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-resizing/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-resizing/README.md delete mode 100644 samples/grids/hierarchical-grid/column-resizing/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-resizing/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-selection-group/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-selection-group/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-selection-group/README.md delete mode 100644 samples/grids/hierarchical-grid/column-selection-group/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-selection-group/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-selection-mode/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-selection-mode/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-selection-mode/README.md delete mode 100644 samples/grids/hierarchical-grid/column-selection-mode/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-selection-mode/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-selection-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-selection-styles/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-selection-styles/README.md delete mode 100644 samples/grids/hierarchical-grid/column-selection-styles/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-selection-styles/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-sorting-indicators/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-sorting-indicators/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-sorting-indicators/README.md delete mode 100644 samples/grids/hierarchical-grid/column-sorting-indicators/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-sorting-indicators/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-sorting-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-sorting-options/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-sorting-options/README.md delete mode 100644 samples/grids/hierarchical-grid/column-sorting-options/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-sorting-options/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/column-sorting-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/column-sorting-style/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/column-sorting-style/README.md delete mode 100644 samples/grids/hierarchical-grid/column-sorting-style/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/column-sorting-style/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/conditional-cell-style-1/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/conditional-cell-style-1/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/conditional-cell-style-1/README.md delete mode 100644 samples/grids/hierarchical-grid/conditional-cell-style-1/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/conditional-cell-style-1/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/conditional-cell-style-2/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/conditional-cell-style-2/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/conditional-cell-style-2/README.md delete mode 100644 samples/grids/hierarchical-grid/conditional-cell-style-2/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/conditional-cell-style-2/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/conditional-row-selectors/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/conditional-row-selectors/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/conditional-row-selectors/README.md delete mode 100644 samples/grids/hierarchical-grid/conditional-row-selectors/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/conditional-row-selectors/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/custom-filtering/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/custom-filtering/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/custom-filtering/README.md delete mode 100644 samples/grids/hierarchical-grid/custom-filtering/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/custom-filtering/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/data-exporting-indicator/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/data-exporting-indicator/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/data-exporting-indicator/README.md delete mode 100644 samples/grids/hierarchical-grid/data-exporting-indicator/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/data-exporting-indicator/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/data-performance-virtualization/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/data-performance-virtualization/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/data-performance-virtualization/README.md delete mode 100644 samples/grids/hierarchical-grid/data-performance-virtualization/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/data-performance-virtualization/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/data-summary-formatter/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/data-summary-formatter/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/data-summary-formatter/README.md delete mode 100644 samples/grids/hierarchical-grid/data-summary-formatter/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/data-summary-formatter/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/data-summary-options-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/data-summary-options-styling/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/data-summary-options-styling/README.md delete mode 100644 samples/grids/hierarchical-grid/data-summary-options-styling/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/data-summary-options-styling/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/data-summary-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/data-summary-options/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/data-summary-options/README.md delete mode 100644 samples/grids/hierarchical-grid/data-summary-options/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/data-summary-options/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/data-summary-template/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/data-summary-template/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/data-summary-template/README.md delete mode 100644 samples/grids/hierarchical-grid/data-summary-template/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/data-summary-template/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/disabled-summaries/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/disabled-summaries/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/disabled-summaries/README.md delete mode 100644 samples/grids/hierarchical-grid/disabled-summaries/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/disabled-summaries/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/editing-columns/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/editing-columns/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/editing-columns/README.md delete mode 100644 samples/grids/hierarchical-grid/editing-columns/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/editing-columns/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/editing-events/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/editing-events/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/editing-events/README.md delete mode 100644 samples/grids/hierarchical-grid/editing-events/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/editing-events/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/editing-lifecycle/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/editing-lifecycle/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/editing-lifecycle/README.md delete mode 100644 samples/grids/hierarchical-grid/editing-lifecycle/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/editing-lifecycle/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/excel-exporting/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/excel-exporting/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/excel-exporting/README.md delete mode 100644 samples/grids/hierarchical-grid/excel-exporting/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/excel-exporting/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-1/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-1/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-1/README.md delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-1/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-1/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-2/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-2/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-2/README.md delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-2/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-2/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-3/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-3/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-3/README.md delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-3/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-sample-3/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-style/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-style/README.md delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-style/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/excel-style-filtering-style/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/filtering-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/filtering-options/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/filtering-options/README.md delete mode 100644 samples/grids/hierarchical-grid/filtering-options/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/filtering-options/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/filtering-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/filtering-style/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/filtering-style/README.md delete mode 100644 samples/grids/hierarchical-grid/filtering-style/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/filtering-style/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-options/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-options/README.md delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-options/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-options/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-paging-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-paging-style/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-paging-style/README.md delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-paging-style/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-paging-style/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-styling/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-styling/README.md delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-styling/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/hierarchical-grid-styling/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/layout-display-density/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/layout-display-density/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/layout-display-density/README.md delete mode 100644 samples/grids/hierarchical-grid/layout-display-density/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/layout-display-density/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-export/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-export/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/multi-column-headers-export/README.md delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-export/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-export/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-overview/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-overview/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/multi-column-headers-overview/README.md delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-overview/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-overview/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-styling/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/multi-column-headers-styling/README.md delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-styling/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-styling/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-template/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-template/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/multi-column-headers-template/README.md delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-template/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/multi-column-headers-template/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/overview/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/overview/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/overview/README.md delete mode 100644 samples/grids/hierarchical-grid/overview/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/overview/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/remote-paging-hgrid/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/remote-paging-hgrid/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/remote-paging-hgrid/README.md delete mode 100644 samples/grids/hierarchical-grid/remote-paging-hgrid/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/remote-paging-hgrid/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-adding/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-adding/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-adding/README.md delete mode 100644 samples/grids/hierarchical-grid/row-adding/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-adding/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-classes/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-classes/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-classes/README.md delete mode 100644 samples/grids/hierarchical-grid/row-classes/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-classes/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-drag-base/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-drag-base/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-drag-base/README.md delete mode 100644 samples/grids/hierarchical-grid/row-drag-base/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-drag-base/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-editing-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-editing-options/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-editing-options/README.md delete mode 100644 samples/grids/hierarchical-grid/row-editing-options/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-editing-options/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-editing-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-editing-style/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-editing-style/README.md delete mode 100644 samples/grids/hierarchical-grid/row-editing-style/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-editing-style/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-pinning-extra-column/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-pinning-extra-column/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-pinning-extra-column/README.md delete mode 100644 samples/grids/hierarchical-grid/row-pinning-extra-column/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-pinning-extra-column/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-pinning-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-pinning-options/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-pinning-options/README.md delete mode 100644 samples/grids/hierarchical-grid/row-pinning-options/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-pinning-options/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-pinning-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-pinning-style/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-pinning-style/README.md delete mode 100644 samples/grids/hierarchical-grid/row-pinning-style/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-pinning-style/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-reorder/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-reorder/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-reorder/README.md delete mode 100644 samples/grids/hierarchical-grid/row-reorder/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-reorder/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-selection-mode/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-selection-mode/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-selection-mode/README.md delete mode 100644 samples/grids/hierarchical-grid/row-selection-mode/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-selection-mode/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-selection-template-numbers/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-selection-template-numbers/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-selection-template-numbers/README.md delete mode 100644 samples/grids/hierarchical-grid/row-selection-template-numbers/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-selection-template-numbers/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/row-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/row-styles/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/row-styles/README.md delete mode 100644 samples/grids/hierarchical-grid/row-styles/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/row-styles/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/state-persistence-about/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/state-persistence-about/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/state-persistence-about/README.md delete mode 100644 samples/grids/hierarchical-grid/state-persistence-about/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/state-persistence-about/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/state-persistence-main/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/state-persistence-main/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/state-persistence-main/README.md delete mode 100644 samples/grids/hierarchical-grid/state-persistence-main/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/state-persistence-main/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/toolbar-sample-3/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/toolbar-sample-3/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/toolbar-sample-3/README.md delete mode 100644 samples/grids/hierarchical-grid/toolbar-sample-3/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/toolbar-sample-3/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/toolbar-sample-4/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/toolbar-sample-4/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/toolbar-sample-4/README.md delete mode 100644 samples/grids/hierarchical-grid/toolbar-sample-4/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/toolbar-sample-4/sandbox.config.json delete mode 100644 samples/grids/hierarchical-grid/toolbar-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/hierarchical-grid/toolbar-style/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/toolbar-style/README.md delete mode 100644 samples/grids/hierarchical-grid/toolbar-style/ReadMe.md delete mode 100644 samples/grids/hierarchical-grid/toolbar-style/sandbox.config.json delete mode 100644 samples/grids/list/add-list-items/.devcontainer/devcontainer.json delete mode 100644 samples/grids/list/add-list-items/.eslintrc.js delete mode 100644 samples/grids/list/add-list-items/sandbox.config.json delete mode 100644 samples/grids/list/list-item-content/.devcontainer/devcontainer.json delete mode 100644 samples/grids/list/list-item-content/.eslintrc.js delete mode 100644 samples/grids/list/list-item-content/sandbox.config.json delete mode 100644 samples/grids/list/overview/.devcontainer/devcontainer.json delete mode 100644 samples/grids/list/overview/.eslintrc.js delete mode 100644 samples/grids/list/overview/sandbox.config.json delete mode 100644 samples/grids/list/styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/list/styling/.eslintrc.js delete mode 100644 samples/grids/list/styling/sandbox.config.json delete mode 100644 samples/grids/pivot-grid/aggregate-max-sales/.devcontainer/devcontainer.json delete mode 100644 samples/grids/pivot-grid/aggregate-max-sales/.eslintrc.js create mode 100644 samples/grids/pivot-grid/aggregate-max-sales/README.md delete mode 100644 samples/grids/pivot-grid/aggregate-max-sales/ReadMe.md delete mode 100644 samples/grids/pivot-grid/aggregate-max-sales/sandbox.config.json delete mode 100644 samples/grids/pivot-grid/aggregate-units-sold/.devcontainer/devcontainer.json delete mode 100644 samples/grids/pivot-grid/aggregate-units-sold/.eslintrc.js create mode 100644 samples/grids/pivot-grid/aggregate-units-sold/README.md delete mode 100644 samples/grids/pivot-grid/aggregate-units-sold/ReadMe.md delete mode 100644 samples/grids/pivot-grid/aggregate-units-sold/sandbox.config.json delete mode 100644 samples/grids/pivot-grid/data-selector/.devcontainer/devcontainer.json delete mode 100644 samples/grids/pivot-grid/data-selector/.eslintrc.js create mode 100644 samples/grids/pivot-grid/data-selector/README.md delete mode 100644 samples/grids/pivot-grid/data-selector/ReadMe.md delete mode 100644 samples/grids/pivot-grid/data-selector/sandbox.config.json delete mode 100644 samples/grids/pivot-grid/features/.devcontainer/devcontainer.json delete mode 100644 samples/grids/pivot-grid/features/.eslintrc.js create mode 100644 samples/grids/pivot-grid/features/README.md delete mode 100644 samples/grids/pivot-grid/features/ReadMe.md delete mode 100644 samples/grids/pivot-grid/features/sandbox.config.json delete mode 100644 samples/grids/pivot-grid/state-persistence-about/.devcontainer/devcontainer.json delete mode 100644 samples/grids/pivot-grid/state-persistence-about/.eslintrc.js create mode 100644 samples/grids/pivot-grid/state-persistence-about/README.md delete mode 100644 samples/grids/pivot-grid/state-persistence-about/ReadMe.md delete mode 100644 samples/grids/pivot-grid/state-persistence-about/sandbox.config.json delete mode 100644 samples/grids/pivot-grid/state-persistence-main/.devcontainer/devcontainer.json delete mode 100644 samples/grids/pivot-grid/state-persistence-main/.eslintrc.js create mode 100644 samples/grids/pivot-grid/state-persistence-main/README.md delete mode 100644 samples/grids/pivot-grid/state-persistence-main/ReadMe.md delete mode 100644 samples/grids/pivot-grid/state-persistence-main/sandbox.config.json delete mode 100644 samples/grids/pivot-grid/styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/pivot-grid/styling/.eslintrc.js create mode 100644 samples/grids/pivot-grid/styling/README.md delete mode 100644 samples/grids/pivot-grid/styling/ReadMe.md delete mode 100644 samples/grids/pivot-grid/styling/sandbox.config.json delete mode 100644 samples/grids/tree-grid/action-strip/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/action-strip/.eslintrc.js create mode 100644 samples/grids/tree-grid/action-strip/README.md delete mode 100644 samples/grids/tree-grid/action-strip/ReadMe.md delete mode 100644 samples/grids/tree-grid/action-strip/sandbox.config.json delete mode 100644 samples/grids/tree-grid/advanced-filtering-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/advanced-filtering-options/.eslintrc.js create mode 100644 samples/grids/tree-grid/advanced-filtering-options/README.md delete mode 100644 samples/grids/tree-grid/advanced-filtering-options/ReadMe.md delete mode 100644 samples/grids/tree-grid/advanced-filtering-options/sandbox.config.json delete mode 100644 samples/grids/tree-grid/advanced-filtering-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/advanced-filtering-style/.eslintrc.js create mode 100644 samples/grids/tree-grid/advanced-filtering-style/README.md delete mode 100644 samples/grids/tree-grid/advanced-filtering-style/ReadMe.md delete mode 100644 samples/grids/tree-grid/advanced-filtering-style/sandbox.config.json delete mode 100644 samples/grids/tree-grid/cell-editing-sample/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/cell-editing-sample/.eslintrc.js create mode 100644 samples/grids/tree-grid/cell-editing-sample/README.md delete mode 100644 samples/grids/tree-grid/cell-editing-sample/ReadMe.md delete mode 100644 samples/grids/tree-grid/cell-editing-sample/sandbox.config.json delete mode 100644 samples/grids/tree-grid/cell-editing-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/cell-editing-styling/.eslintrc.js create mode 100644 samples/grids/tree-grid/cell-editing-styling/README.md delete mode 100644 samples/grids/tree-grid/cell-editing-styling/ReadMe.md delete mode 100644 samples/grids/tree-grid/cell-editing-styling/sandbox.config.json delete mode 100644 samples/grids/tree-grid/cell-merge-custom-sample/.eslintrc.js create mode 100644 samples/grids/tree-grid/cell-merge-custom-sample/README.md delete mode 100644 samples/grids/tree-grid/cell-merge-custom-sample/ReadMe.md create mode 100644 samples/grids/tree-grid/cell-merge-custom-sample/index.html delete mode 100644 samples/grids/tree-grid/cell-merge-custom-sample/public/index.html delete mode 100644 samples/grids/tree-grid/cell-merge-custom-sample/sandbox.config.json delete mode 100644 samples/grids/tree-grid/cell-merge-custom-sample/src/react-app-env.d.ts create mode 100644 samples/grids/tree-grid/cell-merge-custom-sample/vite.config.js delete mode 100644 samples/grids/tree-grid/cell-merge/.eslintrc.js create mode 100644 samples/grids/tree-grid/cell-merge/README.md delete mode 100644 samples/grids/tree-grid/cell-merge/ReadMe.md create mode 100644 samples/grids/tree-grid/cell-merge/index.html delete mode 100644 samples/grids/tree-grid/cell-merge/public/index.html delete mode 100644 samples/grids/tree-grid/cell-merge/sandbox.config.json delete mode 100644 samples/grids/tree-grid/cell-merge/src/react-app-env.d.ts create mode 100644 samples/grids/tree-grid/cell-merge/vite.config.js delete mode 100644 samples/grids/tree-grid/cell-selection-mode/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/cell-selection-mode/.eslintrc.js create mode 100644 samples/grids/tree-grid/cell-selection-mode/README.md delete mode 100644 samples/grids/tree-grid/cell-selection-mode/ReadMe.md delete mode 100644 samples/grids/tree-grid/cell-selection-mode/sandbox.config.json delete mode 100644 samples/grids/tree-grid/cell-selection-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/cell-selection-style/.eslintrc.js create mode 100644 samples/grids/tree-grid/cell-selection-style/README.md delete mode 100644 samples/grids/tree-grid/cell-selection-style/ReadMe.md delete mode 100644 samples/grids/tree-grid/cell-selection-style/sandbox.config.json delete mode 100644 samples/grids/tree-grid/clipboard-operations/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/clipboard-operations/.eslintrc.js create mode 100644 samples/grids/tree-grid/clipboard-operations/README.md delete mode 100644 samples/grids/tree-grid/clipboard-operations/ReadMe.md delete mode 100644 samples/grids/tree-grid/clipboard-operations/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-auto-sizing/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-auto-sizing/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-auto-sizing/README.md delete mode 100644 samples/grids/tree-grid/column-auto-sizing/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-auto-sizing/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-collapsible-groups/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-collapsible-groups/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-collapsible-groups/README.md delete mode 100644 samples/grids/tree-grid/column-collapsible-groups/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-collapsible-groups/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-data-types/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-data-types/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-data-types/README.md delete mode 100644 samples/grids/tree-grid/column-data-types/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-data-types/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-hiding-toolbar-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-hiding-toolbar-style/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-hiding-toolbar-style/README.md delete mode 100644 samples/grids/tree-grid/column-hiding-toolbar-style/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-hiding-toolbar-style/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-hiding-toolbar/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-hiding-toolbar/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-hiding-toolbar/README.md delete mode 100644 samples/grids/tree-grid/column-hiding-toolbar/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-hiding-toolbar/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-moving-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-moving-options/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-moving-options/README.md delete mode 100644 samples/grids/tree-grid/column-moving-options/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-moving-options/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-moving-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-moving-styles/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-moving-styles/README.md delete mode 100644 samples/grids/tree-grid/column-moving-styles/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-moving-styles/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-pinning-both-sides/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-pinning-both-sides/README.md delete mode 100644 samples/grids/tree-grid/column-pinning-both-sides/ReadMe.md create mode 100644 samples/grids/tree-grid/column-pinning-both-sides/index.html delete mode 100644 samples/grids/tree-grid/column-pinning-both-sides/public/index.html delete mode 100644 samples/grids/tree-grid/column-pinning-both-sides/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-pinning-both-sides/src/react-app-env.d.ts create mode 100644 samples/grids/tree-grid/column-pinning-both-sides/vite.config.js delete mode 100644 samples/grids/tree-grid/column-pinning-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-pinning-options/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-pinning-options/README.md delete mode 100644 samples/grids/tree-grid/column-pinning-options/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-pinning-options/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-pinning-right-side/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-pinning-right-side/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-pinning-right-side/README.md delete mode 100644 samples/grids/tree-grid/column-pinning-right-side/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-pinning-right-side/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-pinning-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-pinning-styles/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-pinning-styles/README.md delete mode 100644 samples/grids/tree-grid/column-pinning-styles/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-pinning-styles/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-pinning-toolbar/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-pinning-toolbar/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-pinning-toolbar/README.md delete mode 100644 samples/grids/tree-grid/column-pinning-toolbar/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-pinning-toolbar/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-pinning/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-pinning/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-pinning/README.md delete mode 100644 samples/grids/tree-grid/column-pinning/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-pinning/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-resize-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-resize-styling/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-resize-styling/README.md delete mode 100644 samples/grids/tree-grid/column-resize-styling/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-resize-styling/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-resizing/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-resizing/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-resizing/README.md delete mode 100644 samples/grids/tree-grid/column-resizing/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-resizing/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-selection-group/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-selection-group/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-selection-group/README.md delete mode 100644 samples/grids/tree-grid/column-selection-group/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-selection-group/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-selection-mode/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-selection-mode/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-selection-mode/README.md delete mode 100644 samples/grids/tree-grid/column-selection-mode/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-selection-mode/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-selection-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-selection-style/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-selection-style/README.md delete mode 100644 samples/grids/tree-grid/column-selection-style/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-selection-style/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-selection-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-selection-styles/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-selection-styles/README.md delete mode 100644 samples/grids/tree-grid/column-selection-styles/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-selection-styles/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-sorting-indicators/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-sorting-indicators/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-sorting-indicators/README.md delete mode 100644 samples/grids/tree-grid/column-sorting-indicators/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-sorting-indicators/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-sorting-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-sorting-options/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-sorting-options/README.md delete mode 100644 samples/grids/tree-grid/column-sorting-options/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-sorting-options/sandbox.config.json delete mode 100644 samples/grids/tree-grid/column-sorting-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/column-sorting-style/.eslintrc.js create mode 100644 samples/grids/tree-grid/column-sorting-style/README.md delete mode 100644 samples/grids/tree-grid/column-sorting-style/ReadMe.md delete mode 100644 samples/grids/tree-grid/column-sorting-style/sandbox.config.json delete mode 100644 samples/grids/tree-grid/conditional-cell-style-1/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/conditional-cell-style-1/.eslintrc.js create mode 100644 samples/grids/tree-grid/conditional-cell-style-1/README.md delete mode 100644 samples/grids/tree-grid/conditional-cell-style-1/ReadMe.md delete mode 100644 samples/grids/tree-grid/conditional-cell-style-1/sandbox.config.json delete mode 100644 samples/grids/tree-grid/conditional-cell-style-2/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/conditional-cell-style-2/.eslintrc.js create mode 100644 samples/grids/tree-grid/conditional-cell-style-2/README.md delete mode 100644 samples/grids/tree-grid/conditional-cell-style-2/ReadMe.md delete mode 100644 samples/grids/tree-grid/conditional-cell-style-2/sandbox.config.json delete mode 100644 samples/grids/tree-grid/conditional-row-selectors/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/conditional-row-selectors/.eslintrc.js create mode 100644 samples/grids/tree-grid/conditional-row-selectors/README.md delete mode 100644 samples/grids/tree-grid/conditional-row-selectors/ReadMe.md delete mode 100644 samples/grids/tree-grid/conditional-row-selectors/sandbox.config.json delete mode 100644 samples/grids/tree-grid/data-exporting-indicator/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/data-exporting-indicator/.eslintrc.js create mode 100644 samples/grids/tree-grid/data-exporting-indicator/README.md delete mode 100644 samples/grids/tree-grid/data-exporting-indicator/ReadMe.md delete mode 100644 samples/grids/tree-grid/data-exporting-indicator/sandbox.config.json delete mode 100644 samples/grids/tree-grid/data-searching/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/data-searching/.eslintrc.js create mode 100644 samples/grids/tree-grid/data-searching/README.md delete mode 100644 samples/grids/tree-grid/data-searching/ReadMe.md delete mode 100644 samples/grids/tree-grid/data-searching/sandbox.config.json delete mode 100644 samples/grids/tree-grid/data-summary-children/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/data-summary-children/.eslintrc.js create mode 100644 samples/grids/tree-grid/data-summary-children/README.md delete mode 100644 samples/grids/tree-grid/data-summary-children/ReadMe.md delete mode 100644 samples/grids/tree-grid/data-summary-children/sandbox.config.json delete mode 100644 samples/grids/tree-grid/data-summary-formatter/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/data-summary-formatter/.eslintrc.js create mode 100644 samples/grids/tree-grid/data-summary-formatter/README.md delete mode 100644 samples/grids/tree-grid/data-summary-formatter/ReadMe.md delete mode 100644 samples/grids/tree-grid/data-summary-formatter/sandbox.config.json delete mode 100644 samples/grids/tree-grid/data-summary-options-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/data-summary-options-styling/.eslintrc.js create mode 100644 samples/grids/tree-grid/data-summary-options-styling/README.md delete mode 100644 samples/grids/tree-grid/data-summary-options-styling/ReadMe.md delete mode 100644 samples/grids/tree-grid/data-summary-options-styling/sandbox.config.json delete mode 100644 samples/grids/tree-grid/data-summary-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/data-summary-options/.eslintrc.js create mode 100644 samples/grids/tree-grid/data-summary-options/README.md delete mode 100644 samples/grids/tree-grid/data-summary-options/ReadMe.md delete mode 100644 samples/grids/tree-grid/data-summary-options/sandbox.config.json delete mode 100644 samples/grids/tree-grid/data-summary-template/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/data-summary-template/.eslintrc.js create mode 100644 samples/grids/tree-grid/data-summary-template/README.md delete mode 100644 samples/grids/tree-grid/data-summary-template/ReadMe.md delete mode 100644 samples/grids/tree-grid/data-summary-template/sandbox.config.json delete mode 100644 samples/grids/tree-grid/disabled-summaries/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/disabled-summaries/.eslintrc.js create mode 100644 samples/grids/tree-grid/disabled-summaries/README.md delete mode 100644 samples/grids/tree-grid/disabled-summaries/ReadMe.md delete mode 100644 samples/grids/tree-grid/disabled-summaries/sandbox.config.json delete mode 100644 samples/grids/tree-grid/editing-columns/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/editing-columns/.eslintrc.js create mode 100644 samples/grids/tree-grid/editing-columns/README.md delete mode 100644 samples/grids/tree-grid/editing-columns/ReadMe.md delete mode 100644 samples/grids/tree-grid/editing-columns/sandbox.config.json delete mode 100644 samples/grids/tree-grid/editing-events/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/editing-events/.eslintrc.js create mode 100644 samples/grids/tree-grid/editing-events/README.md delete mode 100644 samples/grids/tree-grid/editing-events/ReadMe.md delete mode 100644 samples/grids/tree-grid/editing-events/sandbox.config.json delete mode 100644 samples/grids/tree-grid/editing-lifecycle/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/editing-lifecycle/.eslintrc.js create mode 100644 samples/grids/tree-grid/editing-lifecycle/README.md delete mode 100644 samples/grids/tree-grid/editing-lifecycle/ReadMe.md delete mode 100644 samples/grids/tree-grid/editing-lifecycle/sandbox.config.json delete mode 100644 samples/grids/tree-grid/excel-exporting/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/excel-exporting/.eslintrc.js create mode 100644 samples/grids/tree-grid/excel-exporting/README.md delete mode 100644 samples/grids/tree-grid/excel-exporting/ReadMe.md delete mode 100644 samples/grids/tree-grid/excel-exporting/sandbox.config.json delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-1/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-1/.eslintrc.js create mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-1/README.md delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-1/ReadMe.md delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-1/sandbox.config.json delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-2/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-2/.eslintrc.js create mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-2/README.md delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-2/ReadMe.md delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-2/sandbox.config.json delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-3/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-3/.eslintrc.js create mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-3/README.md delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-3/ReadMe.md delete mode 100644 samples/grids/tree-grid/excel-style-filtering-sample-3/sandbox.config.json delete mode 100644 samples/grids/tree-grid/excel-style-filtering-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/excel-style-filtering-style/.eslintrc.js create mode 100644 samples/grids/tree-grid/excel-style-filtering-style/README.md delete mode 100644 samples/grids/tree-grid/excel-style-filtering-style/ReadMe.md delete mode 100644 samples/grids/tree-grid/excel-style-filtering-style/sandbox.config.json delete mode 100644 samples/grids/tree-grid/filtering-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/filtering-options/.eslintrc.js create mode 100644 samples/grids/tree-grid/filtering-options/README.md delete mode 100644 samples/grids/tree-grid/filtering-options/ReadMe.md delete mode 100644 samples/grids/tree-grid/filtering-options/sandbox.config.json delete mode 100644 samples/grids/tree-grid/filtering-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/filtering-style/.eslintrc.js create mode 100644 samples/grids/tree-grid/filtering-style/README.md delete mode 100644 samples/grids/tree-grid/filtering-style/ReadMe.md delete mode 100644 samples/grids/tree-grid/filtering-style/sandbox.config.json delete mode 100644 samples/grids/tree-grid/keyboard-custom-navigation/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/keyboard-custom-navigation/.eslintrc.js create mode 100644 samples/grids/tree-grid/keyboard-custom-navigation/README.md delete mode 100644 samples/grids/tree-grid/keyboard-custom-navigation/ReadMe.md delete mode 100644 samples/grids/tree-grid/keyboard-custom-navigation/sandbox.config.json delete mode 100644 samples/grids/tree-grid/layout-display-density/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/layout-display-density/.eslintrc.js create mode 100644 samples/grids/tree-grid/layout-display-density/README.md delete mode 100644 samples/grids/tree-grid/layout-display-density/ReadMe.md delete mode 100644 samples/grids/tree-grid/layout-display-density/sandbox.config.json delete mode 100644 samples/grids/tree-grid/multi-cell-selection-mode/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/multi-cell-selection-mode/.eslintrc.js create mode 100644 samples/grids/tree-grid/multi-cell-selection-mode/README.md delete mode 100644 samples/grids/tree-grid/multi-cell-selection-mode/ReadMe.md delete mode 100644 samples/grids/tree-grid/multi-cell-selection-mode/sandbox.config.json delete mode 100644 samples/grids/tree-grid/multi-column-headers-export/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/multi-column-headers-export/.eslintrc.js create mode 100644 samples/grids/tree-grid/multi-column-headers-export/README.md delete mode 100644 samples/grids/tree-grid/multi-column-headers-export/ReadMe.md delete mode 100644 samples/grids/tree-grid/multi-column-headers-export/sandbox.config.json delete mode 100644 samples/grids/tree-grid/multi-column-headers-overview/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/multi-column-headers-overview/.eslintrc.js create mode 100644 samples/grids/tree-grid/multi-column-headers-overview/README.md delete mode 100644 samples/grids/tree-grid/multi-column-headers-overview/ReadMe.md delete mode 100644 samples/grids/tree-grid/multi-column-headers-overview/sandbox.config.json delete mode 100644 samples/grids/tree-grid/multi-column-headers-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/multi-column-headers-styling/.eslintrc.js create mode 100644 samples/grids/tree-grid/multi-column-headers-styling/README.md delete mode 100644 samples/grids/tree-grid/multi-column-headers-styling/ReadMe.md delete mode 100644 samples/grids/tree-grid/multi-column-headers-styling/sandbox.config.json delete mode 100644 samples/grids/tree-grid/multi-column-headers-template/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/multi-column-headers-template/.eslintrc.js create mode 100644 samples/grids/tree-grid/multi-column-headers-template/README.md delete mode 100644 samples/grids/tree-grid/multi-column-headers-template/ReadMe.md delete mode 100644 samples/grids/tree-grid/multi-column-headers-template/sandbox.config.json delete mode 100644 samples/grids/tree-grid/overview-styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/overview-styling/.eslintrc.js create mode 100644 samples/grids/tree-grid/overview-styling/README.md delete mode 100644 samples/grids/tree-grid/overview-styling/ReadMe.md delete mode 100644 samples/grids/tree-grid/overview-styling/sandbox.config.json delete mode 100644 samples/grids/tree-grid/overview/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/overview/.eslintrc.js create mode 100644 samples/grids/tree-grid/overview/README.md delete mode 100644 samples/grids/tree-grid/overview/ReadMe.md delete mode 100644 samples/grids/tree-grid/overview/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-adding/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-adding/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-adding/README.md delete mode 100644 samples/grids/tree-grid/row-adding/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-adding/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-classes/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-classes/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-classes/README.md delete mode 100644 samples/grids/tree-grid/row-classes/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-classes/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-drag-base/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-drag-base/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-drag-base/README.md delete mode 100644 samples/grids/tree-grid/row-drag-base/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-drag-base/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-editing-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-editing-options/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-editing-options/README.md delete mode 100644 samples/grids/tree-grid/row-editing-options/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-editing-options/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-editing-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-editing-style/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-editing-style/README.md delete mode 100644 samples/grids/tree-grid/row-editing-style/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-editing-style/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-paging-basic/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-paging-basic/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-paging-basic/README.md delete mode 100644 samples/grids/tree-grid/row-paging-basic/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-paging-basic/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-paging-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-paging-options/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-paging-options/README.md delete mode 100644 samples/grids/tree-grid/row-paging-options/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-paging-options/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-paging-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-paging-style/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-paging-style/README.md delete mode 100644 samples/grids/tree-grid/row-paging-style/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-paging-style/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-pinning-extra-column/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-pinning-extra-column/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-pinning-extra-column/README.md delete mode 100644 samples/grids/tree-grid/row-pinning-extra-column/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-pinning-extra-column/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-pinning-options/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-pinning-options/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-pinning-options/README.md delete mode 100644 samples/grids/tree-grid/row-pinning-options/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-pinning-options/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-pinning-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-pinning-style/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-pinning-style/README.md delete mode 100644 samples/grids/tree-grid/row-pinning-style/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-pinning-style/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-reorder/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-reorder/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-reorder/README.md delete mode 100644 samples/grids/tree-grid/row-reorder/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-reorder/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-selection-mode/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-selection-mode/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-selection-mode/README.md delete mode 100644 samples/grids/tree-grid/row-selection-mode/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-selection-mode/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-selection-template-excel/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-selection-template-excel/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-selection-template-excel/README.md delete mode 100644 samples/grids/tree-grid/row-selection-template-excel/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-selection-template-excel/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-selection-template-numbers/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-selection-template-numbers/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-selection-template-numbers/README.md delete mode 100644 samples/grids/tree-grid/row-selection-template-numbers/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-selection-template-numbers/sandbox.config.json delete mode 100644 samples/grids/tree-grid/row-styles/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/row-styles/.eslintrc.js create mode 100644 samples/grids/tree-grid/row-styles/README.md delete mode 100644 samples/grids/tree-grid/row-styles/ReadMe.md delete mode 100644 samples/grids/tree-grid/row-styles/sandbox.config.json delete mode 100644 samples/grids/tree-grid/state-persistence-about/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/state-persistence-about/.eslintrc.js create mode 100644 samples/grids/tree-grid/state-persistence-about/README.md delete mode 100644 samples/grids/tree-grid/state-persistence-about/ReadMe.md delete mode 100644 samples/grids/tree-grid/state-persistence-about/sandbox.config.json delete mode 100644 samples/grids/tree-grid/state-persistence-main/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/state-persistence-main/.eslintrc.js create mode 100644 samples/grids/tree-grid/state-persistence-main/README.md delete mode 100644 samples/grids/tree-grid/state-persistence-main/ReadMe.md delete mode 100644 samples/grids/tree-grid/state-persistence-main/sandbox.config.json delete mode 100644 samples/grids/tree-grid/toolbar-sample-1/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/toolbar-sample-1/.eslintrc.js create mode 100644 samples/grids/tree-grid/toolbar-sample-1/README.md delete mode 100644 samples/grids/tree-grid/toolbar-sample-1/ReadMe.md delete mode 100644 samples/grids/tree-grid/toolbar-sample-1/sandbox.config.json delete mode 100644 samples/grids/tree-grid/toolbar-sample-2/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/toolbar-sample-2/.eslintrc.js create mode 100644 samples/grids/tree-grid/toolbar-sample-2/README.md delete mode 100644 samples/grids/tree-grid/toolbar-sample-2/ReadMe.md delete mode 100644 samples/grids/tree-grid/toolbar-sample-2/sandbox.config.json delete mode 100644 samples/grids/tree-grid/toolbar-sample-3/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/toolbar-sample-3/.eslintrc.js create mode 100644 samples/grids/tree-grid/toolbar-sample-3/README.md delete mode 100644 samples/grids/tree-grid/toolbar-sample-3/ReadMe.md delete mode 100644 samples/grids/tree-grid/toolbar-sample-3/sandbox.config.json delete mode 100644 samples/grids/tree-grid/toolbar-sample-4/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/toolbar-sample-4/.eslintrc.js create mode 100644 samples/grids/tree-grid/toolbar-sample-4/README.md delete mode 100644 samples/grids/tree-grid/toolbar-sample-4/ReadMe.md delete mode 100644 samples/grids/tree-grid/toolbar-sample-4/sandbox.config.json delete mode 100644 samples/grids/tree-grid/toolbar-style/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/toolbar-style/.eslintrc.js create mode 100644 samples/grids/tree-grid/toolbar-style/README.md delete mode 100644 samples/grids/tree-grid/toolbar-style/ReadMe.md delete mode 100644 samples/grids/tree-grid/toolbar-style/sandbox.config.json delete mode 100644 samples/grids/tree-grid/using-primary-foreign-keys/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree-grid/using-primary-foreign-keys/.eslintrc.js create mode 100644 samples/grids/tree-grid/using-primary-foreign-keys/README.md delete mode 100644 samples/grids/tree-grid/using-primary-foreign-keys/ReadMe.md delete mode 100644 samples/grids/tree-grid/using-primary-foreign-keys/sandbox.config.json delete mode 100644 samples/grids/tree/basic-example/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree/basic-example/.eslintrc.js delete mode 100644 samples/grids/tree/basic-example/sandbox.config.json delete mode 100644 samples/grids/tree/styling/.devcontainer/devcontainer.json delete mode 100644 samples/grids/tree/styling/.eslintrc.js delete mode 100644 samples/grids/tree/styling/sandbox.config.json delete mode 100644 samples/inputs/badge/dot/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/badge/dot/.eslintrc.js delete mode 100644 samples/inputs/badge/dot/sandbox.config.json delete mode 100644 samples/inputs/badge/icon/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/badge/icon/.eslintrc.js delete mode 100644 samples/inputs/badge/icon/sandbox.config.json delete mode 100644 samples/inputs/badge/outlined/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/badge/outlined/.eslintrc.js delete mode 100644 samples/inputs/badge/outlined/sandbox.config.json delete mode 100644 samples/inputs/badge/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/badge/overview/.eslintrc.js delete mode 100644 samples/inputs/badge/overview/sandbox.config.json delete mode 100644 samples/inputs/badge/shape/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/badge/shape/.eslintrc.js delete mode 100644 samples/inputs/badge/shape/sandbox.config.json delete mode 100644 samples/inputs/badge/size/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/badge/size/.eslintrc.js delete mode 100644 samples/inputs/badge/size/sandbox.config.json delete mode 100644 samples/inputs/badge/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/badge/styling/.eslintrc.js delete mode 100644 samples/inputs/badge/styling/sandbox.config.json delete mode 100644 samples/inputs/badge/tailwind-styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/badge/tailwind-styling/.eslintrc.js delete mode 100644 samples/inputs/badge/tailwind-styling/sandbox.config.json delete mode 100644 samples/inputs/badge/type/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/badge/type/.eslintrc.js delete mode 100644 samples/inputs/badge/type/sandbox.config.json delete mode 100644 samples/inputs/badge/variants/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/badge/variants/.eslintrc.js delete mode 100644 samples/inputs/badge/variants/sandbox.config.json delete mode 100644 samples/inputs/button-group/alignment/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button-group/alignment/.eslintrc.js delete mode 100644 samples/inputs/button-group/alignment/sandbox.config.json delete mode 100644 samples/inputs/button-group/custom-toggle/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button-group/custom-toggle/sandbox.config.json delete mode 100644 samples/inputs/button-group/interaction-states/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button-group/interaction-states/.eslintrc.js delete mode 100644 samples/inputs/button-group/interaction-states/sandbox.config.json delete mode 100644 samples/inputs/button-group/layout/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button-group/layout/sandbox.config.json delete mode 100644 samples/inputs/button-group/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button-group/overview/.eslintrc.js delete mode 100644 samples/inputs/button-group/overview/sandbox.config.json delete mode 100644 samples/inputs/button-group/selection/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button-group/selection/.eslintrc.js delete mode 100644 samples/inputs/button-group/selection/sandbox.config.json delete mode 100644 samples/inputs/button-group/size/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button-group/size/.eslintrc.js delete mode 100644 samples/inputs/button-group/size/sandbox.config.json delete mode 100644 samples/inputs/button-group/states/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button-group/states/.eslintrc.js delete mode 100644 samples/inputs/button-group/states/sandbox.config.json delete mode 100644 samples/inputs/button-group/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button-group/styling/.eslintrc.js delete mode 100644 samples/inputs/button-group/styling/sandbox.config.json delete mode 100644 samples/inputs/button-group/tailwind-styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button-group/tailwind-styling/.eslintrc.js delete mode 100644 samples/inputs/button-group/tailwind-styling/sandbox.config.json delete mode 100644 samples/inputs/button/contained/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/contained/.eslintrc.js delete mode 100644 samples/inputs/button/contained/sandbox.config.json delete mode 100644 samples/inputs/button/download/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/download/.eslintrc.js delete mode 100644 samples/inputs/button/download/sandbox.config.json delete mode 100644 samples/inputs/button/fab/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/fab/.eslintrc.js delete mode 100644 samples/inputs/button/fab/sandbox.config.json delete mode 100644 samples/inputs/button/flat/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/flat/.eslintrc.js delete mode 100644 samples/inputs/button/flat/sandbox.config.json delete mode 100644 samples/inputs/button/interaction-states/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/interaction-states/.eslintrc.js delete mode 100644 samples/inputs/button/interaction-states/sandbox.config.json delete mode 100644 samples/inputs/button/layout/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/layout/.eslintrc.js delete mode 100644 samples/inputs/button/layout/sandbox.config.json delete mode 100644 samples/inputs/button/outlined/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/outlined/.eslintrc.js delete mode 100644 samples/inputs/button/outlined/sandbox.config.json delete mode 100644 samples/inputs/button/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/overview/.eslintrc.js delete mode 100644 samples/inputs/button/overview/sandbox.config.json delete mode 100644 samples/inputs/button/size/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/size/.eslintrc.js delete mode 100644 samples/inputs/button/size/sandbox.config.json delete mode 100644 samples/inputs/button/states/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/states/.eslintrc.js delete mode 100644 samples/inputs/button/states/sandbox.config.json delete mode 100644 samples/inputs/button/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/styling/.eslintrc.js delete mode 100644 samples/inputs/button/styling/sandbox.config.json delete mode 100644 samples/inputs/button/tailwind-styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/button/tailwind-styling/.eslintrc.js delete mode 100644 samples/inputs/button/tailwind-styling/sandbox.config.json delete mode 100644 samples/inputs/checkbox/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/checkbox/overview/.eslintrc.js delete mode 100644 samples/inputs/checkbox/overview/sandbox.config.json delete mode 100644 samples/inputs/checkbox/states/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/checkbox/states/.eslintrc.js delete mode 100644 samples/inputs/checkbox/states/sandbox.config.json delete mode 100644 samples/inputs/checkbox/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/checkbox/styling/.eslintrc.js delete mode 100644 samples/inputs/checkbox/styling/sandbox.config.json delete mode 100644 samples/inputs/checkbox/tailwind-styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/checkbox/tailwind-styling/.eslintrc.js delete mode 100644 samples/inputs/checkbox/tailwind-styling/sandbox.config.json delete mode 100644 samples/inputs/chip/multiple/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/chip/multiple/.eslintrc.js delete mode 100644 samples/inputs/chip/multiple/sandbox.config.json delete mode 100644 samples/inputs/chip/outlined/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/chip/outlined/.eslintrc.js delete mode 100644 samples/inputs/chip/outlined/sandbox.config.json delete mode 100644 samples/inputs/chip/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/chip/overview/.eslintrc.js delete mode 100644 samples/inputs/chip/overview/sandbox.config.json delete mode 100644 samples/inputs/chip/size/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/chip/size/.eslintrc.js delete mode 100644 samples/inputs/chip/size/sandbox.config.json delete mode 100644 samples/inputs/chip/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/chip/styling/.eslintrc.js delete mode 100644 samples/inputs/chip/styling/sandbox.config.json delete mode 100644 samples/inputs/chip/variants/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/chip/variants/.eslintrc.js delete mode 100644 samples/inputs/chip/variants/sandbox.config.json delete mode 100644 samples/inputs/circular-progress-indicator/dynamic/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/circular-progress-indicator/dynamic/.eslintrc.js delete mode 100644 samples/inputs/circular-progress-indicator/dynamic/sandbox.config.json delete mode 100644 samples/inputs/circular-progress-indicator/indeterminate/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/circular-progress-indicator/indeterminate/.eslintrc.js delete mode 100644 samples/inputs/circular-progress-indicator/indeterminate/sandbox.config.json delete mode 100644 samples/inputs/circular-progress-indicator/simple/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/circular-progress-indicator/simple/.eslintrc.js delete mode 100644 samples/inputs/circular-progress-indicator/simple/sandbox.config.json delete mode 100644 samples/inputs/circular-progress-indicator/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/circular-progress-indicator/styling/.eslintrc.js delete mode 100644 samples/inputs/circular-progress-indicator/styling/sandbox.config.json delete mode 100644 samples/inputs/color-editor/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-editor/overview/.eslintrc.js create mode 100644 samples/inputs/color-editor/overview/README.md delete mode 100644 samples/inputs/color-editor/overview/ReadMe.md delete mode 100644 samples/inputs/color-editor/overview/sandbox.config.json delete mode 100644 samples/inputs/color-picker/alpha/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-picker/alpha/.eslintrc.js delete mode 100644 samples/inputs/color-picker/alpha/sandbox.config.json delete mode 100644 samples/inputs/color-picker/format/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-picker/format/.eslintrc.js delete mode 100644 samples/inputs/color-picker/format/sandbox.config.json delete mode 100644 samples/inputs/color-picker/input-sizes/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-picker/input-sizes/.eslintrc.js delete mode 100644 samples/inputs/color-picker/input-sizes/sandbox.config.json delete mode 100644 samples/inputs/color-picker/input/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-picker/input/.eslintrc.js delete mode 100644 samples/inputs/color-picker/input/sandbox.config.json delete mode 100644 samples/inputs/color-picker/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-picker/overview/.eslintrc.js delete mode 100644 samples/inputs/color-picker/overview/sandbox.config.json delete mode 100644 samples/inputs/color-picker/sizes/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-picker/sizes/.eslintrc.js delete mode 100644 samples/inputs/color-picker/sizes/sandbox.config.json delete mode 100644 samples/inputs/color-picker/states/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-picker/states/.eslintrc.js delete mode 100644 samples/inputs/color-picker/states/sandbox.config.json delete mode 100644 samples/inputs/color-picker/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-picker/styling/.eslintrc.js delete mode 100644 samples/inputs/color-picker/styling/sandbox.config.json delete mode 100644 samples/inputs/color-picker/swatches/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-picker/swatches/.eslintrc.js delete mode 100644 samples/inputs/color-picker/swatches/sandbox.config.json delete mode 100644 samples/inputs/color-picker/tailwind-styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-picker/tailwind-styling/.eslintrc.js delete mode 100644 samples/inputs/color-picker/tailwind-styling/sandbox.config.json delete mode 100644 samples/inputs/color-picker/value/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/color-picker/value/.eslintrc.js delete mode 100644 samples/inputs/color-picker/value/sandbox.config.json delete mode 100644 samples/inputs/combo/features/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/combo/features/.eslintrc.js delete mode 100644 samples/inputs/combo/features/sandbox.config.json delete mode 100644 samples/inputs/combo/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/combo/overview/.eslintrc.js delete mode 100644 samples/inputs/combo/overview/sandbox.config.json delete mode 100644 samples/inputs/combo/selection/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/combo/selection/.eslintrc.js delete mode 100644 samples/inputs/combo/selection/sandbox.config.json delete mode 100644 samples/inputs/combo/simplified/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/combo/simplified/.eslintrc.js delete mode 100644 samples/inputs/combo/simplified/sandbox.config.json delete mode 100644 samples/inputs/combo/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/combo/styling/.eslintrc.js delete mode 100644 samples/inputs/combo/styling/sandbox.config.json delete mode 100644 samples/inputs/combo/templates/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/combo/templates/.eslintrc.js delete mode 100644 samples/inputs/combo/templates/sandbox.config.json delete mode 100644 samples/inputs/date-time-input/input-format-display-format/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/date-time-input/input-format-display-format/.eslintrc.js delete mode 100644 samples/inputs/date-time-input/input-format-display-format/sandbox.config.json delete mode 100644 samples/inputs/date-time-input/min-max-value/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/date-time-input/min-max-value/.eslintrc.js delete mode 100644 samples/inputs/date-time-input/min-max-value/sandbox.config.json delete mode 100644 samples/inputs/date-time-input/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/date-time-input/overview/.eslintrc.js delete mode 100644 samples/inputs/date-time-input/overview/sandbox.config.json delete mode 100644 samples/inputs/date-time-input/step-up-down/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/date-time-input/step-up-down/.eslintrc.js delete mode 100644 samples/inputs/date-time-input/step-up-down/sandbox.config.json delete mode 100644 samples/inputs/date-time-input/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/date-time-input/styling/.eslintrc.js delete mode 100644 samples/inputs/date-time-input/styling/sandbox.config.json delete mode 100644 samples/inputs/dropdown/group/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/dropdown/group/.eslintrc.js delete mode 100644 samples/inputs/dropdown/group/sandbox.config.json delete mode 100644 samples/inputs/dropdown/header/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/dropdown/header/.eslintrc.js delete mode 100644 samples/inputs/dropdown/header/sandbox.config.json delete mode 100644 samples/inputs/dropdown/item/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/dropdown/item/.eslintrc.js delete mode 100644 samples/inputs/dropdown/item/sandbox.config.json delete mode 100644 samples/inputs/dropdown/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/dropdown/overview/.eslintrc.js delete mode 100644 samples/inputs/dropdown/overview/sandbox.config.json delete mode 100644 samples/inputs/dropdown/position/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/dropdown/position/.eslintrc.js delete mode 100644 samples/inputs/dropdown/position/sandbox.config.json delete mode 100644 samples/inputs/dropdown/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/dropdown/styling/.eslintrc.js delete mode 100644 samples/inputs/dropdown/styling/sandbox.config.json delete mode 100644 samples/inputs/dropdown/target/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/dropdown/target/.eslintrc.js delete mode 100644 samples/inputs/dropdown/target/sandbox.config.json delete mode 100644 samples/inputs/highlight/helper-text/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/highlight/helper-text/.eslintrc.js delete mode 100644 samples/inputs/highlight/helper-text/sandbox.config.json delete mode 100644 samples/inputs/highlight/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/highlight/overview/.eslintrc.js delete mode 100644 samples/inputs/highlight/overview/sandbox.config.json delete mode 100644 samples/inputs/highlight/search/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/highlight/search/.eslintrc.js delete mode 100644 samples/inputs/highlight/search/sandbox.config.json delete mode 100644 samples/inputs/highlight/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/highlight/styling/.eslintrc.js delete mode 100644 samples/inputs/highlight/styling/sandbox.config.json delete mode 100644 samples/inputs/icon-button/size/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/icon-button/size/.eslintrc.js delete mode 100644 samples/inputs/icon-button/size/sandbox.config.json delete mode 100644 samples/inputs/icon-button/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/icon-button/styling/.eslintrc.js delete mode 100644 samples/inputs/icon-button/styling/sandbox.config.json delete mode 100644 samples/inputs/icon-button/variant/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/icon-button/variant/.eslintrc.js delete mode 100644 samples/inputs/icon-button/variant/sandbox.config.json delete mode 100644 samples/inputs/input/helper-text/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/input/helper-text/.eslintrc.js delete mode 100644 samples/inputs/input/helper-text/sandbox.config.json delete mode 100644 samples/inputs/input/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/input/overview/.eslintrc.js delete mode 100644 samples/inputs/input/overview/sandbox.config.json delete mode 100644 samples/inputs/input/prefix-suffix/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/input/prefix-suffix/.eslintrc.js delete mode 100644 samples/inputs/input/prefix-suffix/sandbox.config.json delete mode 100644 samples/inputs/input/size/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/input/size/.eslintrc.js delete mode 100644 samples/inputs/input/size/sandbox.config.json delete mode 100644 samples/inputs/input/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/input/styling/.eslintrc.js delete mode 100644 samples/inputs/input/styling/sandbox.config.json delete mode 100644 samples/inputs/linear-progress-indicator/dynamic/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/linear-progress-indicator/dynamic/.eslintrc.js delete mode 100644 samples/inputs/linear-progress-indicator/dynamic/sandbox.config.json delete mode 100644 samples/inputs/linear-progress-indicator/simple/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/linear-progress-indicator/simple/.eslintrc.js delete mode 100644 samples/inputs/linear-progress-indicator/simple/sandbox.config.json delete mode 100644 samples/inputs/linear-progress-indicator/striped/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/linear-progress-indicator/striped/.eslintrc.js delete mode 100644 samples/inputs/linear-progress-indicator/striped/sandbox.config.json delete mode 100644 samples/inputs/linear-progress-indicator/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/linear-progress-indicator/styling/.eslintrc.js delete mode 100644 samples/inputs/linear-progress-indicator/styling/sandbox.config.json delete mode 100644 samples/inputs/linear-progress-indicator/types/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/linear-progress-indicator/types/.eslintrc.js delete mode 100644 samples/inputs/linear-progress-indicator/types/sandbox.config.json delete mode 100644 samples/inputs/mask-input/applying-mask/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/mask-input/applying-mask/.eslintrc.js delete mode 100644 samples/inputs/mask-input/applying-mask/sandbox.config.json delete mode 100644 samples/inputs/mask-input/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/mask-input/overview/.eslintrc.js delete mode 100644 samples/inputs/mask-input/overview/sandbox.config.json delete mode 100644 samples/inputs/mask-input/value-modes/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/mask-input/value-modes/.eslintrc.js delete mode 100644 samples/inputs/mask-input/value-modes/sandbox.config.json delete mode 100644 samples/inputs/qr-code/corner-shapes/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/qr-code/corner-shapes/.eslintrc.js delete mode 100644 samples/inputs/qr-code/corner-shapes/sandbox.config.json delete mode 100644 samples/inputs/qr-code/dot-shapes/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/qr-code/dot-shapes/.eslintrc.js delete mode 100644 samples/inputs/qr-code/dot-shapes/sandbox.config.json delete mode 100644 samples/inputs/qr-code/error-correction/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/qr-code/error-correction/.eslintrc.js delete mode 100644 samples/inputs/qr-code/error-correction/sandbox.config.json delete mode 100644 samples/inputs/qr-code/logo/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/qr-code/logo/.eslintrc.js delete mode 100644 samples/inputs/qr-code/logo/sandbox.config.json delete mode 100644 samples/inputs/qr-code/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/qr-code/overview/.eslintrc.js delete mode 100644 samples/inputs/qr-code/overview/sandbox.config.json delete mode 100644 samples/inputs/qr-code/size/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/qr-code/size/.eslintrc.js delete mode 100644 samples/inputs/qr-code/size/sandbox.config.json delete mode 100644 samples/inputs/qr-code/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/qr-code/styling/.eslintrc.js delete mode 100644 samples/inputs/qr-code/styling/sandbox.config.json delete mode 100644 samples/inputs/qr-code/tailwind-styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/qr-code/tailwind-styling/.eslintrc.js delete mode 100644 samples/inputs/qr-code/tailwind-styling/sandbox.config.json delete mode 100644 samples/inputs/radio/alignment/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/radio/alignment/.eslintrc.js delete mode 100644 samples/inputs/radio/alignment/sandbox.config.json delete mode 100644 samples/inputs/radio/disabled/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/radio/disabled/.eslintrc.js delete mode 100644 samples/inputs/radio/disabled/sandbox.config.json delete mode 100644 samples/inputs/radio/group/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/radio/group/.eslintrc.js delete mode 100644 samples/inputs/radio/group/sandbox.config.json delete mode 100644 samples/inputs/radio/invalid/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/radio/invalid/.eslintrc.js delete mode 100644 samples/inputs/radio/invalid/sandbox.config.json delete mode 100644 samples/inputs/radio/label/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/radio/label/.eslintrc.js delete mode 100644 samples/inputs/radio/label/sandbox.config.json delete mode 100644 samples/inputs/radio/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/radio/styling/.eslintrc.js delete mode 100644 samples/inputs/radio/styling/sandbox.config.json delete mode 100644 samples/inputs/rating/basic/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/rating/basic/.eslintrc.js delete mode 100644 samples/inputs/rating/basic/sandbox.config.json delete mode 100644 samples/inputs/rating/custom/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/rating/custom/.eslintrc.js delete mode 100644 samples/inputs/rating/custom/sandbox.config.json delete mode 100644 samples/inputs/rating/empty/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/rating/empty/.eslintrc.js delete mode 100644 samples/inputs/rating/empty/sandbox.config.json delete mode 100644 samples/inputs/rating/single-selection/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/rating/single-selection/.eslintrc.js delete mode 100644 samples/inputs/rating/single-selection/sandbox.config.json delete mode 100644 samples/inputs/rating/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/rating/styling/.eslintrc.js delete mode 100644 samples/inputs/rating/styling/sandbox.config.json delete mode 100644 samples/inputs/ripple/button/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/ripple/button/.eslintrc.js delete mode 100644 samples/inputs/ripple/button/sandbox.config.json delete mode 100644 samples/inputs/ripple/color/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/ripple/color/.eslintrc.js delete mode 100644 samples/inputs/ripple/color/sandbox.config.json delete mode 100644 samples/inputs/select/group/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/select/group/.eslintrc.js delete mode 100644 samples/inputs/select/group/sandbox.config.json delete mode 100644 samples/inputs/select/header/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/select/header/.eslintrc.js delete mode 100644 samples/inputs/select/header/sandbox.config.json delete mode 100644 samples/inputs/select/item/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/select/item/.eslintrc.js delete mode 100644 samples/inputs/select/item/sandbox.config.json delete mode 100644 samples/inputs/select/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/select/overview/.eslintrc.js delete mode 100644 samples/inputs/select/overview/sandbox.config.json delete mode 100644 samples/inputs/select/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/select/styling/.eslintrc.js delete mode 100644 samples/inputs/select/styling/sandbox.config.json delete mode 100644 samples/inputs/slider/constraints/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/slider/constraints/.eslintrc.js delete mode 100644 samples/inputs/slider/constraints/sandbox.config.json delete mode 100644 samples/inputs/slider/disabled/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/slider/disabled/.eslintrc.js delete mode 100644 samples/inputs/slider/disabled/sandbox.config.json delete mode 100644 samples/inputs/slider/discrete/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/slider/discrete/.eslintrc.js delete mode 100644 samples/inputs/slider/discrete/sandbox.config.json delete mode 100644 samples/inputs/slider/labels/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/slider/labels/.eslintrc.js delete mode 100644 samples/inputs/slider/labels/sandbox.config.json delete mode 100644 samples/inputs/slider/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/slider/overview/.eslintrc.js delete mode 100644 samples/inputs/slider/overview/sandbox.config.json delete mode 100644 samples/inputs/slider/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/slider/styling/.eslintrc.js delete mode 100644 samples/inputs/slider/styling/sandbox.config.json delete mode 100644 samples/inputs/slider/tick-labels/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/slider/tick-labels/.eslintrc.js delete mode 100644 samples/inputs/slider/tick-labels/sandbox.config.json delete mode 100644 samples/inputs/slider/ticks/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/slider/ticks/.eslintrc.js delete mode 100644 samples/inputs/slider/ticks/sandbox.config.json delete mode 100644 samples/inputs/slider/value-format/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/slider/value-format/.eslintrc.js delete mode 100644 samples/inputs/slider/value-format/sandbox.config.json delete mode 100644 samples/inputs/slider/value/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/slider/value/.eslintrc.js delete mode 100644 samples/inputs/slider/value/sandbox.config.json delete mode 100644 samples/inputs/switches/disabled/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/switches/disabled/.eslintrc.js delete mode 100644 samples/inputs/switches/disabled/sandbox.config.json delete mode 100644 samples/inputs/switches/enabled/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/switches/enabled/.eslintrc.js delete mode 100644 samples/inputs/switches/enabled/sandbox.config.json delete mode 100644 samples/inputs/switches/layout/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/switches/layout/.eslintrc.js delete mode 100644 samples/inputs/switches/layout/sandbox.config.json delete mode 100644 samples/inputs/switches/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/switches/overview/.eslintrc.js delete mode 100644 samples/inputs/switches/overview/sandbox.config.json delete mode 100644 samples/inputs/switches/selected/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/switches/selected/.eslintrc.js delete mode 100644 samples/inputs/switches/selected/sandbox.config.json delete mode 100644 samples/inputs/switches/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/switches/styling/.eslintrc.js delete mode 100644 samples/inputs/switches/styling/sandbox.config.json delete mode 100644 samples/inputs/switches/tailwind-styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/switches/tailwind-styling/.eslintrc.js delete mode 100644 samples/inputs/switches/tailwind-styling/sandbox.config.json delete mode 100644 samples/inputs/textarea/form-integration/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/textarea/form-integration/.eslintrc.js delete mode 100644 samples/inputs/textarea/form-integration/sandbox.config.json delete mode 100644 samples/inputs/textarea/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/textarea/overview/.eslintrc.js delete mode 100644 samples/inputs/textarea/overview/sandbox.config.json delete mode 100644 samples/inputs/textarea/resize/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/textarea/resize/.eslintrc.js delete mode 100644 samples/inputs/textarea/resize/sandbox.config.json delete mode 100644 samples/inputs/textarea/slots/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/textarea/slots/.eslintrc.js delete mode 100644 samples/inputs/textarea/slots/sandbox.config.json delete mode 100644 samples/inputs/textarea/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/textarea/styling/.eslintrc.js delete mode 100644 samples/inputs/textarea/styling/sandbox.config.json delete mode 100644 samples/inputs/tooltip/advanced/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/tooltip/advanced/.eslintrc.js delete mode 100644 samples/inputs/tooltip/advanced/sandbox.config.json delete mode 100644 samples/inputs/tooltip/overview/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/tooltip/overview/.eslintrc.js delete mode 100644 samples/inputs/tooltip/overview/sandbox.config.json delete mode 100644 samples/inputs/tooltip/placement/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/tooltip/placement/.eslintrc.js delete mode 100644 samples/inputs/tooltip/placement/sandbox.config.json delete mode 100644 samples/inputs/tooltip/rich/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/tooltip/rich/.eslintrc.js delete mode 100644 samples/inputs/tooltip/rich/sandbox.config.json delete mode 100644 samples/inputs/tooltip/styling/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/tooltip/styling/.eslintrc.js delete mode 100644 samples/inputs/tooltip/styling/sandbox.config.json delete mode 100644 samples/inputs/tooltip/triggers/.devcontainer/devcontainer.json delete mode 100644 samples/inputs/tooltip/triggers/.eslintrc.js delete mode 100644 samples/inputs/tooltip/triggers/sandbox.config.json delete mode 100644 samples/interactions/chat/features/.devcontainer/devcontainer.json delete mode 100644 samples/interactions/chat/features/.eslintrc.js delete mode 100644 samples/interactions/chat/features/sandbox.config.json delete mode 100644 samples/interactions/chat/overview/.devcontainer/devcontainer.json delete mode 100644 samples/interactions/chat/overview/.eslintrc.js delete mode 100644 samples/interactions/chat/overview/sandbox.config.json delete mode 100644 samples/interactions/chat/styling/.devcontainer/devcontainer.json delete mode 100644 samples/interactions/chat/styling/.eslintrc.js delete mode 100644 samples/interactions/chat/styling/sandbox.config.json delete mode 100644 samples/interactions/query-builder/overview/.devcontainer/devcontainer.json delete mode 100644 samples/interactions/query-builder/overview/.eslintrc.js delete mode 100644 samples/interactions/query-builder/overview/sandbox.config.json delete mode 100644 samples/interactions/query-builder/template/.devcontainer/devcontainer.json delete mode 100644 samples/interactions/query-builder/template/.eslintrc.js delete mode 100644 samples/interactions/query-builder/template/sandbox.config.json delete mode 100644 samples/layouts/accordion/customization/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/accordion/customization/.eslintrc.js delete mode 100644 samples/layouts/accordion/customization/sandbox.config.json delete mode 100644 samples/layouts/accordion/nested-scenario/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/accordion/nested-scenario/.eslintrc.js delete mode 100644 samples/layouts/accordion/nested-scenario/sandbox.config.json delete mode 100644 samples/layouts/accordion/overview/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/accordion/overview/.eslintrc.js delete mode 100644 samples/layouts/accordion/overview/sandbox.config.json delete mode 100644 samples/layouts/accordion/programmatic-expansion/sandbox.config.json delete mode 100644 samples/layouts/accordion/styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/accordion/styling/sandbox.config.json delete mode 100644 samples/layouts/accordion/tailwind-styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/accordion/tailwind-styling/sandbox.config.json delete mode 100644 samples/layouts/avatar/image/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/avatar/image/.eslintrc.js delete mode 100644 samples/layouts/avatar/image/sandbox.config.json delete mode 100644 samples/layouts/avatar/overview/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/avatar/overview/.eslintrc.js delete mode 100644 samples/layouts/avatar/overview/sandbox.config.json delete mode 100644 samples/layouts/avatar/shape/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/avatar/shape/.eslintrc.js delete mode 100644 samples/layouts/avatar/shape/sandbox.config.json delete mode 100644 samples/layouts/avatar/size/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/avatar/size/.eslintrc.js delete mode 100644 samples/layouts/avatar/size/sandbox.config.json delete mode 100644 samples/layouts/avatar/styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/avatar/styling/.eslintrc.js delete mode 100644 samples/layouts/avatar/styling/sandbox.config.json delete mode 100644 samples/layouts/avatar/tailwind-styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/avatar/tailwind-styling/.eslintrc.js delete mode 100644 samples/layouts/avatar/tailwind-styling/sandbox.config.json delete mode 100644 samples/layouts/avatar/variants/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/avatar/variants/.eslintrc.js delete mode 100644 samples/layouts/avatar/variants/sandbox.config.json delete mode 100644 samples/layouts/breadcrumbs/custom-separator/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/breadcrumbs/custom-separator/.eslintrc.js delete mode 100644 samples/layouts/breadcrumbs/custom-separator/sandbox.config.json delete mode 100644 samples/layouts/breadcrumbs/dropdown/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/breadcrumbs/dropdown/.eslintrc.js delete mode 100644 samples/layouts/breadcrumbs/dropdown/sandbox.config.json delete mode 100644 samples/layouts/breadcrumbs/overview/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/breadcrumbs/overview/.eslintrc.js delete mode 100644 samples/layouts/breadcrumbs/overview/sandbox.config.json delete mode 100644 samples/layouts/breadcrumbs/prefix-suffix/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/breadcrumbs/prefix-suffix/.eslintrc.js delete mode 100644 samples/layouts/breadcrumbs/prefix-suffix/sandbox.config.json delete mode 100644 samples/layouts/breadcrumbs/sizes/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/breadcrumbs/sizes/.eslintrc.js delete mode 100644 samples/layouts/breadcrumbs/sizes/sandbox.config.json delete mode 100644 samples/layouts/breadcrumbs/states/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/breadcrumbs/states/.eslintrc.js delete mode 100644 samples/layouts/breadcrumbs/states/sandbox.config.json delete mode 100644 samples/layouts/breadcrumbs/styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/breadcrumbs/styling/.eslintrc.js delete mode 100644 samples/layouts/breadcrumbs/styling/sandbox.config.json delete mode 100644 samples/layouts/breadcrumbs/tailwind-styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/breadcrumbs/tailwind-styling/.eslintrc.js delete mode 100644 samples/layouts/breadcrumbs/tailwind-styling/sandbox.config.json delete mode 100644 samples/layouts/breadcrumbs/wrapping/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/breadcrumbs/wrapping/.eslintrc.js delete mode 100644 samples/layouts/breadcrumbs/wrapping/sandbox.config.json delete mode 100644 samples/layouts/card/actions/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/card/actions/.eslintrc.js delete mode 100644 samples/layouts/card/actions/sandbox.config.json delete mode 100644 samples/layouts/card/media/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/card/media/.eslintrc.js delete mode 100644 samples/layouts/card/media/sandbox.config.json delete mode 100644 samples/layouts/card/overview/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/card/overview/.eslintrc.js delete mode 100644 samples/layouts/card/overview/sandbox.config.json delete mode 100644 samples/layouts/card/position/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/card/position/.eslintrc.js delete mode 100644 samples/layouts/card/position/sandbox.config.json delete mode 100644 samples/layouts/card/styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/card/styling/.eslintrc.js delete mode 100644 samples/layouts/card/styling/sandbox.config.json delete mode 100644 samples/layouts/card/tailwind-styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/card/tailwind-styling/.eslintrc.js delete mode 100644 samples/layouts/card/tailwind-styling/sandbox.config.json delete mode 100644 samples/layouts/carousel/animations/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/carousel/animations/.eslintrc.js delete mode 100644 samples/layouts/carousel/animations/sandbox.config.json delete mode 100644 samples/layouts/carousel/components/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/carousel/components/.eslintrc.js delete mode 100644 samples/layouts/carousel/components/sandbox.config.json delete mode 100644 samples/layouts/carousel/configuration/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/carousel/configuration/.eslintrc.js delete mode 100644 samples/layouts/carousel/configuration/sandbox.config.json delete mode 100644 samples/layouts/carousel/overview/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/carousel/overview/.eslintrc.js delete mode 100644 samples/layouts/carousel/overview/sandbox.config.json delete mode 100644 samples/layouts/carousel/styling/sandbox.config.json delete mode 100644 samples/layouts/carousel/tailwind-styling/sandbox.config.json delete mode 100644 samples/layouts/carousel/thumbnail/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/carousel/thumbnail/.eslintrc.js delete mode 100644 samples/layouts/carousel/thumbnail/sandbox.config.json delete mode 100644 samples/layouts/divider/dashed/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/divider/dashed/.eslintrc.js delete mode 100644 samples/layouts/divider/dashed/sandbox.config.json delete mode 100644 samples/layouts/divider/middle/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/divider/middle/.eslintrc.js delete mode 100644 samples/layouts/divider/middle/sandbox.config.json delete mode 100644 samples/layouts/divider/overview/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/divider/overview/.eslintrc.js delete mode 100644 samples/layouts/divider/overview/sandbox.config.json delete mode 100644 samples/layouts/divider/select/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/divider/select/.eslintrc.js delete mode 100644 samples/layouts/divider/select/sandbox.config.json delete mode 100644 samples/layouts/divider/vertical/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/divider/vertical/.eslintrc.js delete mode 100644 samples/layouts/divider/vertical/sandbox.config.json delete mode 100644 samples/layouts/dock-manager/customize-buttons/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/dock-manager/customize-buttons/.eslintrc.js delete mode 100644 samples/layouts/dock-manager/customize-buttons/sandbox.config.json delete mode 100644 samples/layouts/dock-manager/embedding-frames/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/dock-manager/embedding-frames/.eslintrc.js delete mode 100644 samples/layouts/dock-manager/embedding-frames/sandbox.config.json delete mode 100644 samples/layouts/dock-manager/overview/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/dock-manager/overview/.eslintrc.js delete mode 100644 samples/layouts/dock-manager/overview/sandbox.config.json delete mode 100644 samples/layouts/dock-manager/styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/dock-manager/styling/.eslintrc.js delete mode 100644 samples/layouts/dock-manager/styling/sandbox.config.json delete mode 100644 samples/layouts/dock-manager/updating-panes/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/dock-manager/updating-panes/.eslintrc.js delete mode 100644 samples/layouts/dock-manager/updating-panes/sandbox.config.json delete mode 100644 samples/layouts/expansion-panel/component-customization/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/expansion-panel/component-customization/.eslintrc.js delete mode 100644 samples/layouts/expansion-panel/component-customization/sandbox.config.json delete mode 100644 samples/layouts/expansion-panel/properties-and-events/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/expansion-panel/properties-and-events/.eslintrc.js delete mode 100644 samples/layouts/expansion-panel/properties-and-events/sandbox.config.json delete mode 100644 samples/layouts/expansion-panel/styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/expansion-panel/styling/.eslintrc.js delete mode 100644 samples/layouts/expansion-panel/styling/sandbox.config.json delete mode 100644 samples/layouts/expansion-panel/usage/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/expansion-panel/usage/.eslintrc.js delete mode 100644 samples/layouts/expansion-panel/usage/sandbox.config.json delete mode 100644 samples/layouts/icon/sizing/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/icon/sizing/.eslintrc.js delete mode 100644 samples/layouts/icon/sizing/sandbox.config.json delete mode 100644 samples/layouts/icon/styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/icon/styling/.eslintrc.js delete mode 100644 samples/layouts/icon/styling/sandbox.config.json delete mode 100644 samples/layouts/splitter/base/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/splitter/base/.eslintrc.js delete mode 100644 samples/layouts/splitter/base/sandbox.config.json delete mode 100644 samples/layouts/splitter/nested/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/splitter/nested/.eslintrc.js delete mode 100644 samples/layouts/splitter/nested/sandbox.config.json delete mode 100644 samples/layouts/splitter/styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/splitter/styling/.eslintrc.js delete mode 100644 samples/layouts/splitter/styling/sandbox.config.json delete mode 100644 samples/layouts/stepper/animations/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/stepper/animations/.eslintrc.js delete mode 100644 samples/layouts/stepper/animations/sandbox.config.json delete mode 100644 samples/layouts/stepper/linear/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/stepper/linear/.eslintrc.js delete mode 100644 samples/layouts/stepper/linear/sandbox.config.json delete mode 100644 samples/layouts/stepper/orientation/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/stepper/orientation/.eslintrc.js delete mode 100644 samples/layouts/stepper/orientation/sandbox.config.json delete mode 100644 samples/layouts/stepper/step-height/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/stepper/step-height/.eslintrc.js delete mode 100644 samples/layouts/stepper/step-height/sandbox.config.json delete mode 100644 samples/layouts/stepper/steptypes/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/stepper/steptypes/.eslintrc.js delete mode 100644 samples/layouts/stepper/steptypes/sandbox.config.json delete mode 100644 samples/layouts/stepper/styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/stepper/styling/.eslintrc.js delete mode 100644 samples/layouts/stepper/styling/sandbox.config.json delete mode 100644 samples/layouts/tabs/alignment/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tabs/alignment/.eslintrc.js delete mode 100644 samples/layouts/tabs/alignment/sandbox.config.json delete mode 100644 samples/layouts/tabs/overview/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tabs/overview/.eslintrc.js delete mode 100644 samples/layouts/tabs/overview/sandbox.config.json delete mode 100644 samples/layouts/tabs/prefix-suffix/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tabs/prefix-suffix/.eslintrc.js delete mode 100644 samples/layouts/tabs/prefix-suffix/sandbox.config.json delete mode 100644 samples/layouts/tabs/scrolling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tabs/scrolling/.eslintrc.js delete mode 100644 samples/layouts/tabs/scrolling/sandbox.config.json delete mode 100644 samples/layouts/tabs/styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tabs/styling/.eslintrc.js delete mode 100644 samples/layouts/tabs/styling/sandbox.config.json delete mode 100644 samples/layouts/tile-manager/actions/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tile-manager/actions/.eslintrc.js delete mode 100644 samples/layouts/tile-manager/actions/sandbox.config.json delete mode 100644 samples/layouts/tile-manager/columngap/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tile-manager/columngap/.eslintrc.js delete mode 100644 samples/layouts/tile-manager/columngap/sandbox.config.json delete mode 100644 samples/layouts/tile-manager/dragndrop/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tile-manager/dragndrop/.eslintrc.js delete mode 100644 samples/layouts/tile-manager/dragndrop/sandbox.config.json delete mode 100644 samples/layouts/tile-manager/layout/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tile-manager/layout/.eslintrc.js delete mode 100644 samples/layouts/tile-manager/layout/sandbox.config.json delete mode 100644 samples/layouts/tile-manager/overview/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tile-manager/overview/.eslintrc.js delete mode 100644 samples/layouts/tile-manager/overview/sandbox.config.json delete mode 100644 samples/layouts/tile-manager/resize/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tile-manager/resize/.eslintrc.js delete mode 100644 samples/layouts/tile-manager/resize/sandbox.config.json delete mode 100644 samples/layouts/tile-manager/styling/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/tile-manager/styling/.eslintrc.js delete mode 100644 samples/layouts/tile-manager/styling/sandbox.config.json delete mode 100644 samples/layouts/virtual-scroll/horizontal/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/virtual-scroll/horizontal/.eslintrc.js delete mode 100644 samples/layouts/virtual-scroll/horizontal/sandbox.config.json delete mode 100644 samples/layouts/virtual-scroll/infinite-scroll/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/virtual-scroll/infinite-scroll/.eslintrc.js delete mode 100644 samples/layouts/virtual-scroll/infinite-scroll/sandbox.config.json delete mode 100644 samples/layouts/virtual-scroll/overview/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/virtual-scroll/overview/.eslintrc.js delete mode 100644 samples/layouts/virtual-scroll/overview/sandbox.config.json delete mode 100644 samples/layouts/virtual-scroll/scroll-to-index/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/virtual-scroll/scroll-to-index/.eslintrc.js delete mode 100644 samples/layouts/virtual-scroll/scroll-to-index/sandbox.config.json delete mode 100644 samples/layouts/virtual-scroll/variable-size/.devcontainer/devcontainer.json delete mode 100644 samples/layouts/virtual-scroll/variable-size/.eslintrc.js delete mode 100644 samples/layouts/virtual-scroll/variable-size/sandbox.config.json delete mode 100644 samples/maps/geo-map/binding-data-csv/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/binding-data-csv/.eslintrc.js delete mode 100644 samples/maps/geo-map/binding-data-csv/sandbox.config.json delete mode 100644 samples/maps/geo-map/binding-data-json-points/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/binding-data-json-points/.eslintrc.js delete mode 100644 samples/maps/geo-map/binding-data-json-points/sandbox.config.json delete mode 100644 samples/maps/geo-map/binding-data-json-shapes/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/binding-data-json-shapes/.eslintrc.js delete mode 100644 samples/maps/geo-map/binding-data-json-shapes/sandbox.config.json delete mode 100644 samples/maps/geo-map/binding-data-model/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/binding-data-model/.eslintrc.js delete mode 100644 samples/maps/geo-map/binding-data-model/sandbox.config.json delete mode 100644 samples/maps/geo-map/binding-multiple-shapes/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/binding-multiple-shapes/.eslintrc.js delete mode 100644 samples/maps/geo-map/binding-multiple-shapes/sandbox.config.json delete mode 100644 samples/maps/geo-map/binding-multiple-sources/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/binding-multiple-sources/.eslintrc.js delete mode 100644 samples/maps/geo-map/binding-multiple-sources/sandbox.config.json delete mode 100644 samples/maps/geo-map/binding-shp-points/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/binding-shp-points/.eslintrc.js delete mode 100644 samples/maps/geo-map/binding-shp-points/sandbox.config.json delete mode 100644 samples/maps/geo-map/binding-shp-polygons/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/binding-shp-polygons/.eslintrc.js delete mode 100644 samples/maps/geo-map/binding-shp-polygons/sandbox.config.json delete mode 100644 samples/maps/geo-map/binding-shp-polylines/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/binding-shp-polylines/.eslintrc.js delete mode 100644 samples/maps/geo-map/binding-shp-polylines/sandbox.config.json delete mode 100644 samples/maps/geo-map/custom-tooltips/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/custom-tooltips/.eslintrc.js delete mode 100644 samples/maps/geo-map/custom-tooltips/sandbox.config.json delete mode 100644 samples/maps/geo-map/display-all-imagery/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/display-all-imagery/.eslintrc.js delete mode 100644 samples/maps/geo-map/display-all-imagery/sandbox.config.json delete mode 100644 samples/maps/geo-map/display-azure-imagery/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/display-azure-imagery/.eslintrc.js delete mode 100644 samples/maps/geo-map/display-azure-imagery/sandbox.config.json delete mode 100644 samples/maps/geo-map/display-bing-imagery/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/display-bing-imagery/.eslintrc.js delete mode 100644 samples/maps/geo-map/display-bing-imagery/sandbox.config.json delete mode 100644 samples/maps/geo-map/display-custom-imagery/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/display-custom-imagery/.eslintrc.js delete mode 100644 samples/maps/geo-map/display-custom-imagery/sandbox.config.json delete mode 100644 samples/maps/geo-map/display-esri-imagery/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/display-esri-imagery/.eslintrc.js delete mode 100644 samples/maps/geo-map/display-esri-imagery/sandbox.config.json delete mode 100644 samples/maps/geo-map/display-heat-imagery/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/display-heat-imagery/.eslintrc.js delete mode 100644 samples/maps/geo-map/display-heat-imagery/sandbox.config.json delete mode 100644 samples/maps/geo-map/display-osm-imagery/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/display-osm-imagery/.eslintrc.js delete mode 100644 samples/maps/geo-map/display-osm-imagery/sandbox.config.json delete mode 100644 samples/maps/geo-map/marker-layouts/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/marker-layouts/.eslintrc.js delete mode 100644 samples/maps/geo-map/marker-layouts/sandbox.config.json delete mode 100644 samples/maps/geo-map/marker-template/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/marker-template/.eslintrc.js delete mode 100644 samples/maps/geo-map/marker-template/sandbox.config.json delete mode 100644 samples/maps/geo-map/marker-type/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/marker-type/.eslintrc.js delete mode 100644 samples/maps/geo-map/marker-type/sandbox.config.json delete mode 100644 samples/maps/geo-map/nav-grid/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/nav-grid/.eslintrc.js delete mode 100644 samples/maps/geo-map/nav-grid/sandbox.config.json delete mode 100644 samples/maps/geo-map/navigation-only-panning/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/navigation-only-panning/.eslintrc.js create mode 100644 samples/maps/geo-map/navigation-only-panning/README.md delete mode 100644 samples/maps/geo-map/navigation-only-panning/ReadMe.md delete mode 100644 samples/maps/geo-map/navigation-only-panning/sandbox.config.json delete mode 100644 samples/maps/geo-map/navigation/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/navigation/.eslintrc.js delete mode 100644 samples/maps/geo-map/navigation/sandbox.config.json delete mode 100644 samples/maps/geo-map/overview/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/overview/.eslintrc.js delete mode 100644 samples/maps/geo-map/overview/sandbox.config.json delete mode 100644 samples/maps/geo-map/shape-selection/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/shape-selection/.eslintrc.js delete mode 100644 samples/maps/geo-map/shape-selection/sandbox.config.json delete mode 100644 samples/maps/geo-map/shape-styling/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/shape-styling/.eslintrc.js delete mode 100644 samples/maps/geo-map/shape-styling/sandbox.config.json delete mode 100644 samples/maps/geo-map/synchronization/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/synchronization/.eslintrc.js delete mode 100644 samples/maps/geo-map/synchronization/sandbox.config.json delete mode 100644 samples/maps/geo-map/triangulating-data/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/triangulating-data/.eslintrc.js delete mode 100644 samples/maps/geo-map/triangulating-data/sandbox.config.json delete mode 100644 samples/maps/geo-map/type-scatter-area-series/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/type-scatter-area-series/.eslintrc.js delete mode 100644 samples/maps/geo-map/type-scatter-area-series/sandbox.config.json delete mode 100644 samples/maps/geo-map/type-scatter-bubble-series/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/type-scatter-bubble-series/.eslintrc.js delete mode 100644 samples/maps/geo-map/type-scatter-bubble-series/sandbox.config.json delete mode 100644 samples/maps/geo-map/type-scatter-contour-series/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/type-scatter-contour-series/.eslintrc.js delete mode 100644 samples/maps/geo-map/type-scatter-contour-series/sandbox.config.json delete mode 100644 samples/maps/geo-map/type-scatter-density-series/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/type-scatter-density-series/.eslintrc.js delete mode 100644 samples/maps/geo-map/type-scatter-density-series/sandbox.config.json delete mode 100644 samples/maps/geo-map/type-scatter-symbol-series/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/type-scatter-symbol-series/.eslintrc.js delete mode 100644 samples/maps/geo-map/type-scatter-symbol-series/sandbox.config.json delete mode 100644 samples/maps/geo-map/type-shape-polygon-series/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/type-shape-polygon-series/.eslintrc.js delete mode 100644 samples/maps/geo-map/type-shape-polygon-series/sandbox.config.json delete mode 100644 samples/maps/geo-map/type-shape-polyline-series/.devcontainer/devcontainer.json delete mode 100644 samples/maps/geo-map/type-shape-polyline-series/.eslintrc.js delete mode 100644 samples/maps/geo-map/type-shape-polyline-series/sandbox.config.json delete mode 100644 samples/menus/nav-bar/overview/.devcontainer/devcontainer.json delete mode 100644 samples/menus/nav-bar/overview/.eslintrc.js delete mode 100644 samples/menus/nav-bar/overview/sandbox.config.json create mode 100644 samples/menus/nav-bar/overview/tsconfig.json delete mode 100644 samples/menus/nav-bar/styling/.devcontainer/devcontainer.json delete mode 100644 samples/menus/nav-bar/styling/.eslintrc.js delete mode 100644 samples/menus/nav-bar/styling/sandbox.config.json delete mode 100644 samples/menus/nav-drawer/add-drawer-items/.devcontainer/devcontainer.json delete mode 100644 samples/menus/nav-drawer/add-drawer-items/.eslintrc.js delete mode 100644 samples/menus/nav-drawer/add-drawer-items/sandbox.config.json delete mode 100644 samples/menus/nav-drawer/add-mini/.devcontainer/devcontainer.json delete mode 100644 samples/menus/nav-drawer/add-mini/.eslintrc.js delete mode 100644 samples/menus/nav-drawer/add-mini/sandbox.config.json delete mode 100644 samples/menus/nav-drawer/add-positions-navbar/.devcontainer/devcontainer.json delete mode 100644 samples/menus/nav-drawer/add-positions-navbar/.eslintrc.js delete mode 100644 samples/menus/nav-drawer/add-positions-navbar/sandbox.config.json delete mode 100644 samples/menus/nav-drawer/styling/.devcontainer/devcontainer.json delete mode 100644 samples/menus/nav-drawer/styling/.eslintrc.js delete mode 100644 samples/menus/nav-drawer/styling/sandbox.config.json delete mode 100644 samples/notifications/banner/banner-advanced-sample/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/banner/banner-advanced-sample/.eslintrc.js delete mode 100644 samples/notifications/banner/banner-advanced-sample/sandbox.config.json delete mode 100644 samples/notifications/banner/banner-sample-1/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/banner/banner-sample-1/.eslintrc.js delete mode 100644 samples/notifications/banner/banner-sample-1/sandbox.config.json delete mode 100644 samples/notifications/banner/banner-sample-2/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/banner/banner-sample-2/.eslintrc.js delete mode 100644 samples/notifications/banner/banner-sample-2/sandbox.config.json delete mode 100644 samples/notifications/banner/banner-styling/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/banner/banner-styling/.eslintrc.js delete mode 100644 samples/notifications/banner/banner-styling/sandbox.config.json delete mode 100644 samples/notifications/dialog/closing-variations/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/dialog/closing-variations/.eslintrc.js delete mode 100644 samples/notifications/dialog/closing-variations/sandbox.config.json delete mode 100644 samples/notifications/dialog/form/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/dialog/form/.eslintrc.js delete mode 100644 samples/notifications/dialog/form/sandbox.config.json delete mode 100644 samples/notifications/dialog/overview/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/dialog/overview/.eslintrc.js delete mode 100644 samples/notifications/dialog/overview/sandbox.config.json delete mode 100644 samples/notifications/dialog/styling/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/dialog/styling/.eslintrc.js delete mode 100644 samples/notifications/dialog/styling/sandbox.config.json delete mode 100644 samples/notifications/snackbar/action-text/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/snackbar/action-text/.eslintrc.js delete mode 100644 samples/notifications/snackbar/action-text/sandbox.config.json delete mode 100644 samples/notifications/snackbar/display-time/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/snackbar/display-time/.eslintrc.js delete mode 100644 samples/notifications/snackbar/display-time/sandbox.config.json delete mode 100644 samples/notifications/snackbar/overview/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/snackbar/overview/.eslintrc.js delete mode 100644 samples/notifications/snackbar/overview/sandbox.config.json delete mode 100644 samples/notifications/snackbar/styling/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/snackbar/styling/.eslintrc.js delete mode 100644 samples/notifications/snackbar/styling/sandbox.config.json delete mode 100644 samples/notifications/toast/overview/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/toast/overview/.eslintrc.js delete mode 100644 samples/notifications/toast/overview/sandbox.config.json delete mode 100644 samples/notifications/toast/properties/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/toast/properties/.eslintrc.js delete mode 100644 samples/notifications/toast/properties/sandbox.config.json delete mode 100644 samples/notifications/toast/styling/.devcontainer/devcontainer.json delete mode 100644 samples/notifications/toast/styling/.eslintrc.js delete mode 100644 samples/notifications/toast/styling/sandbox.config.json delete mode 100644 samples/scheduling/calendar/disabled-dates/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/calendar/disabled-dates/.eslintrc.js delete mode 100644 samples/scheduling/calendar/disabled-dates/sandbox.config.json delete mode 100644 samples/scheduling/calendar/formatting/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/calendar/formatting/.eslintrc.js delete mode 100644 samples/scheduling/calendar/formatting/sandbox.config.json delete mode 100644 samples/scheduling/calendar/header/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/calendar/header/.eslintrc.js delete mode 100644 samples/scheduling/calendar/header/sandbox.config.json delete mode 100644 samples/scheduling/calendar/multiple-months/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/calendar/multiple-months/.eslintrc.js delete mode 100644 samples/scheduling/calendar/multiple-months/sandbox.config.json delete mode 100644 samples/scheduling/calendar/multiple-selection/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/calendar/multiple-selection/.eslintrc.js delete mode 100644 samples/scheduling/calendar/multiple-selection/sandbox.config.json delete mode 100644 samples/scheduling/calendar/overview/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/calendar/overview/.eslintrc.js delete mode 100644 samples/scheduling/calendar/overview/sandbox.config.json delete mode 100644 samples/scheduling/calendar/range-selection/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/calendar/range-selection/.eslintrc.js delete mode 100644 samples/scheduling/calendar/range-selection/sandbox.config.json delete mode 100644 samples/scheduling/calendar/size/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/calendar/size/.eslintrc.js delete mode 100644 samples/scheduling/calendar/size/sandbox.config.json delete mode 100644 samples/scheduling/calendar/special-dates/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/calendar/special-dates/.eslintrc.js delete mode 100644 samples/scheduling/calendar/special-dates/sandbox.config.json delete mode 100644 samples/scheduling/calendar/styling/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/calendar/styling/.eslintrc.js delete mode 100644 samples/scheduling/calendar/styling/sandbox.config.json delete mode 100644 samples/scheduling/calendar/week-numbers/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/calendar/week-numbers/.eslintrc.js delete mode 100644 samples/scheduling/calendar/week-numbers/sandbox.config.json delete mode 100644 samples/scheduling/date-picker/dialog-mode/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/date-picker/dialog-mode/.eslintrc.js delete mode 100644 samples/scheduling/date-picker/dialog-mode/sandbox.config.json delete mode 100644 samples/scheduling/date-picker/form/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/date-picker/form/.eslintrc.js delete mode 100644 samples/scheduling/date-picker/form/sandbox.config.json delete mode 100644 samples/scheduling/date-picker/format/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/date-picker/format/.eslintrc.js delete mode 100644 samples/scheduling/date-picker/format/sandbox.config.json delete mode 100644 samples/scheduling/date-picker/overview/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/date-picker/overview/.eslintrc.js delete mode 100644 samples/scheduling/date-picker/overview/sandbox.config.json delete mode 100644 samples/scheduling/date-picker/styling/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/date-picker/styling/.eslintrc.js delete mode 100644 samples/scheduling/date-picker/styling/sandbox.config.json delete mode 100644 samples/scheduling/date-range-picker/custom-ranges/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/date-range-picker/custom-ranges/.eslintrc.js delete mode 100644 samples/scheduling/date-range-picker/custom-ranges/sandbox.config.json delete mode 100644 samples/scheduling/date-range-picker/form/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/date-range-picker/form/.eslintrc.js delete mode 100644 samples/scheduling/date-range-picker/form/sandbox.config.json delete mode 100644 samples/scheduling/date-range-picker/overview/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/date-range-picker/overview/.eslintrc.js delete mode 100644 samples/scheduling/date-range-picker/overview/sandbox.config.json delete mode 100644 samples/scheduling/date-range-picker/slots/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/date-range-picker/slots/.eslintrc.js delete mode 100644 samples/scheduling/date-range-picker/slots/sandbox.config.json delete mode 100644 samples/scheduling/date-range-picker/styling/.devcontainer/devcontainer.json delete mode 100644 samples/scheduling/date-range-picker/styling/.eslintrc.js delete mode 100644 samples/scheduling/date-range-picker/styling/sandbox.config.json create mode 100644 scripts/add-sample.js create mode 100644 scripts/copy-ig-themes.js create mode 100644 scripts/generate-code-viewer.js create mode 100644 scripts/lib/samples.js create mode 100644 scripts/lib/templates.js create mode 100644 scripts/lib/unpublished.json create mode 100644 scripts/lib/versions.js create mode 100644 scripts/update-ig.js create mode 100644 src/assets/react.png create mode 100644 src/env.d.ts create mode 100644 src/layouts/SampleLayout.astro create mode 100644 src/pages/[...slug].astro create mode 100644 src/pages/index.astro create mode 100644 src/pages/nav.json.ts create mode 100644 src/pages/samples/[...slug].astro create mode 100644 src/scripts/nav.ts create mode 100644 src/utils/sample-index.ts rename {browser/src => src/utils}/sample-size-reporter.ts (91%) create mode 100644 src/utils/sample-theme.ts create mode 100644 src/utils/samples.ts create mode 100644 tests/smoke/browser.spec.ts create mode 100644 tests/smoke/samples.spec.ts create mode 100644 tests/smoke/support.ts create mode 100644 tsconfig.json 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 index 49cab9a4fb..8195717de4 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -13,3 +13,10 @@ updates: 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 31f661f31d..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@v7 - - - 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..c9409b8e6c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,73 @@ +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 + + - name: Build + 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 + run: echo "version=$(npx playwright --version | awk '{print $2}')" >> "$GITHUB_OUTPUT" + + - name: Cache Playwright browser + id: playwright-cache + 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: steps.playwright-cache.outputs.cache-hit != 'true' + run: npx playwright install --with-deps --only-shell chromium + + - name: Install Playwright OS deps + if: steps.playwright-cache.outputs.cache-hit == 'true' + run: npx playwright install-deps chromium + + - name: Smoke tests + 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 6623c502a6..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@v7 - 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@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/.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/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..afcb9f184a 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,124 @@ 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 the browser folder in this repository, e.g. `C:\GitHub\igniteui-react-examples\browser` - -- select **View** - **Terminal** menu item - -- 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. +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. -![SB Preview](./browser/public/images/preview.PNG) +## Running an Individual Sample +Every sample under `samples/{group}/{component}/{name}/` runs on its own: -## 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 +`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). -- implement the new sample in the .tsx file +The deployed site lives under a sub-path. Set `BASE_PATH` for both commands to reproduce it: -- 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 +```bash +BASE_PATH=/react-demos npm run build +BASE_PATH=/react-demos npm run preview +``` -- open the root folder of this repository in VS Code +## Testing -- type `gulp updateSamples` command in terminal window +Smoke tests run in Playwright against the production build: -NOTE this will re-generate the Readme.md file in the new sample +```bash +npx playwright install --only-shell chromium # once +npm run build +npm run test:smoke +``` -- type `npm run start` command in terminal window +Use the same `BASE_PATH` for the build and the tests. CI builds and tests with `BASE_PATH=/react-demos`. -- open [http://localhost:4200](http://localhost:4200) in your browser +## Adding a New Sample -- verify that the new sample is listed in the navigation menu +1. Create a branch from `vnext`. -- verify that the new sample loads by clicking navigation link +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. -- verify that there are no errors in DEV console + Import theme and sample CSS from `src/index.tsx` (e.g. `import './index.css';`) so the page puts it in `` at first paint. -- take a screenshot of the new sample with navigation menu +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 -- commit your changes +4. Commit, push, and open a pull request targeting `vnext`. Include a screenshot of the running sample. -- create a pull request and target the `vnext` branch +## Updating Ignite UI Package Versions -- paste the screenshot in you pull request +Do **not** edit version strings in `package.json` files by hand; CI fails when a sample's versions drift from the list. -- submit your pull request +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 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 6bedb230a6..0000000000 --- a/browser/package-lock.json +++ /dev/null @@ -1,19892 +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.10.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-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.10.0", - "resolved": "https://registry.npmjs.org/igniteui-react-grids/-/igniteui-react-grids-19.10.0.tgz", - "integrity": "sha512-eTnPrNExg61wooLm4ZfJ6nCrox7lXxSa/aDSe6RVPf+DZgNfbhTa0YrvrXJQRMD6mHs0o53fRDheFF5FRc1Nlg==", - "license": "Infragistics(R) Ultimate license (http://www.infragistics.com/legal/ultimate/license/)", - "dependencies": { - "@lit/react": "^1.0.7", - "igniteui-webcomponents-grids": "~7.3.2", - "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.3.2", - "resolved": "https://registry.npmjs.org/igniteui-webcomponents-grids/-/igniteui-webcomponents-grids-7.3.2.tgz", - "integrity": "sha512-hzLrCqZ4JkEDKaoFIhmOKV3w1jPhe2k3/9+/Y6+uCprqK/39okSzMZ43jwI1sWWpwJrOq1iwt+Imimc0rRTpzg==", - "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 e9b054e033..0000000000 --- a/browser/package.json +++ /dev/null @@ -1,135 +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.10.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", - "@tailwindcss/vite": "^4.3.3", - "@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", - "tailwindcss": "^4.3.3", - "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 bcd5dfd67cd0361b78123e95c2dd96031f27f743..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3150 zcmaKtc{Ei0AIGn;MZ^<@lHD*OV;K7~W1q3jSjJcqNywTkMOhP*k~Oj?GO|6{m(*C2 zC7JA+hN%%Bp7T4;J@?%2_x=5zbI<2~->=X60stMr0B~{wzpi9D0MG|# zyuANt7z6;uz%?PEfAnimLl^)6h5ARwGXemG2>?hqQv-I^Gpyh$JH}Ag92}3{$a#z& zd`il2Sb#$U&e&4#^4R|GTgk!Qs+x*PCL{2+`uB5mqtnqLaaw`*H2oqJ?XF(zUACc2 zSibBrdQzcidqv*TK}rpEv1ie&;Famq2IK5%4c}1Jt2b1x_{y1C!?EU)@`_F)yN*NK z)(u03@%g%uDawwXGAMm%EnP9FgoucUedioDwL~{6RVO@A-Q$+pwVRR%WYR>{K3E&Q zzqzT!EEZ$_NHGYM6&PK#CGUV$pTWsiI5#~m>htoJ!vbc0=gm3H8sz8KzIiVN5xdCT z%;}`UH2Pc8))1VS-unh?v4*H*NIy5On{MRKw7BTmOO9oE2UApwkCl9Z?^dod9M^#w z51tEZhf+#dpTo#GDDy#kuzoIjMjZ?%v*h$ z*vwUMOjGc?R0(FjLWkMD)kca4z6~H45FIzQ!Zzu&-yWyMdCBsDr2`l}Q{8fH$H@O< z$&snNzbqLk?(GIe?!PVh?F~2qk4z^rMcp$P^hw^rUPjyCyoNTRw%;hNOwrCoN?G0E z!wT^=4Loa9@O{t;Wk(Nj=?ms1Z?UN_;21m%sUm?uib=pg&x|u)8pP#l--$;B9l47n zUUnMV0sXLe*@Gvy>XWjRoqc2tOzgYn%?g@Lb8C&WsxV1Kjssh^ZBs*Ysr+E6%tsC_ zCo-)hkYY=Bn?wMB4sqm?WS>{kh<6*DO)vXnQpQ9`-_qF6!#b;3Nf@;#B>e2j$yokl6F|9p1<($2 z=WSr%)Z?^|r6njhgbuMrIN>8JE05u0x5t@_dEfbGn9r0hK4c2vp>(*$GXsjeLL_uz zWpyfUgdv!~-2N;llVzik#s2*XB*%7u8(^sJv&T3pzaR&<9({17Zs~UY>#ugZZkHBs zD+>0_an$?}utGp$dcXtyFHnTQZJ}SF=oZ}X07dz~K>^o(vjTzw8ZQc!Fw1W=&Z?9% zv63|~l}70sJbY?H8ON8j)w5=6OpXuaZ}YT03`2%u8{;B0Vafo_iY7&BiQTbRkdJBYL}?%ATfmc zLG$uXt$@3j#OIjALdT&Ut$=9F8cgV{w_f5eS)PjoVi z&oemp-SKJ~UuGuCP1|iY?J^S&P z)-IG?O-*=z6kfZrX5H*G=aQ{ZaqnOqP@&+_;nq@mA>EcjgxrYX8EK|Iq4&E&rxR?R z8N$QOdRwY zr{P`O)=87>YLHtFfGXW z6P)ucrhj~It_9w<^v5>T6N1U}+BkS))=WX*2JY=}^b2czGhH<`?`(}}qMcpPx_%>M zM|fs(+I1m&_h(zqp-HgP>re$2O^o$q)xu#fl0ivOJE({duU)a*OD(eYgSi^cdTn}pqcPM(;S)2%1By^Wh%-CaC%>d9hi`7J zaxL7@;nhA>PE%s99&;z{8>VFgf{u!(-B-x7Of6ueme+ScryL`h(^qKE)DtieWY>-7 zgB)VJESQS4*1LU(2&@pgLvSt{(((C?K_V(rQk``i&5}ZPG;G^FiPlZ$7|-vEmMWlU z5lQ%iK2nu=h2wd_7>gK@vX=*AG+u~rQP$NwPC`ZA?4nh{3tui1x@bT6-;Rk3yDQ>d z?3qRD#+PeV7#FAa>s`Xwxsx_oRFcN$StW2=CW`=qObsT?SD^#^jM1Yk}PSPxJ zG@-_mnNU_)vM|iLRSI>UMp|hatyS}17R{10IuL0TLlupt>9dRs_SPQbv7BLYyC#qv16E-y@XZ= z-!p7I%#r-BVi$nQq3&ssRc_IC%R6$tA&^s_l46880~Wst3@>(|EO<}T4~ci~#!=e; zD)B>o%1+$ksURD1p7I-<3ehlFyVkqrySf&gg>Bp0Z9?JaG|gyTZ{Cb8SdvAWVmFX7v2ohs!OCc!Udk zUITUpmZ33rKLI#(&lDj}cKA#dpL4Fil=$5pu_wi1XJR!llw` zSItPBDEdMHk2>c7#%lBxZHHvtVUOZ$}v?=?AT~9!Jcqa@IJGuMg(s^7r>pcTrd)pS`{5Cu8WPey` z9)!!OUUY@L%9Q+bZa*S5`3f_|lFCPN6kdp_M2>{le8;cn^XUsPa+TUk47qd6)IBR% zk*&Ip?!Ge_gmmdj)BX}P_5o@VI2*wbZ^>UhFju}0gQZh!pP%4XT9{@w;G#b3XK8sN zF(7i$Jv(IM$8Akys9dhP^^~H2(7BfJp}yDW1#@!CL-!mGcSCnJ599WK9MV@yo_u$v MDeX2GIKR{Qf5okjU;qFB diff --git a/browser/public/images/preview.PNG b/browser/public/images/preview.PNG deleted file mode 100644 index 71d9805a9a762090d03954b1d74576572f058c48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104282 zcmeFZXH?T$*Ds0%5CKt9Is{Nax)edWh)6F|rG*ZLDuf=2fP$#>-Vp*w@4bm2y=W+* zg@?x*wR-uwQ?U@+E7va;q}v;5{4`ZZeoXRO(Ev<9 zaNF(T@6xOdz>9$3JXh(Ntd19O^VGym2cDiEiOc3cw%~IWpf;#l&92fLc6Rsiu@N6Q zIWH0#NdXQDBPb)sGJc@$Zf3SC6){>;ven)~;rH|2B6#p)FkuB*g|(%5)D=M@76*fu zSHnanV+ge0ynA;ku>4lSAmno*#u>A#FEk@H&XzT<-um;PW*=Gi-I0Ap))cTS z8bAr&Ui@C^y=wykfm}w>ApdK#JWjvg z?4xx_`<0EBv%TGwzqa|&=z@e?&WBZ?|9y(*f2RIs&Tmd&(o}#>ab2SNefL7#1y8=QkX#M5qmJOD1uHddYawg{sqc(?(Nit#ei85F}ze(MG3dcQ-;)B~nOW#rM9 zXJzyZzv4S268cWN;0Q6K#>bv`xk^~Mlj}<^QlN8uM&K9mXac#76w~#@@tRo=?i;;# zYwB%{wrXMx&^6n2H0Y8+*QW@|7Dxi!_}#E+pV6^4)=)i~aTZoq3t1(+WPA~RXDy=U zc(r9M1G4;`+LVFXeLBx?bvWKtQRamyCNV=>isazNFOJvp=PU-^W$QJbT@nDN(T}?{ zGp(?4zN$zE)GdzH_Xqu9_*Y9v4bWHB&Vb-(=N+`f*p=;fzqfyJCJO?foaVDighQxe|l~6Rg7g|{C^P09__4-wlI&vNVhg5!vRskPbNTg(P$T_g>H%feQj0oOdI7#dkmIhUU7_kVVe z?8GieMJWtp70aaGF`tH7`Mu7;#U+e+1ZBwmt^(S40}9$!+u^n@jg!nd7YL#N`+sdvK>(; z(%+YpOT0&7eMEo?Wn80B+NHN|_A5a8KI0!V*Em^d^+l~7)+kP)JCWNWmJ6T!%i))P zR_INhoZNHL9V`k>KiwDkK3$`WR$S!QlOEv)kzQNW~?C7K1Y3B1@MbIB{ans^!M3 zkWp-6W4;A^cXrqy^c=GH^J0Akq_Mi3(u8v`x`rkI?SCd%UKnW z?t@6@c*5Dr;tuljwY4kL4*)Jq36$J%u$pAU!8mlFuWX--4ZRc8G$9==uuA0tbqj5R zBihm?qUt3lA&9RJywcETIqHw}m9e#Mxc=0JIeRn?5Z`g;5Zj7%N}v=kCov8#pR@mt zmm2WUY>S%(SW9$H0eaMIDE(S7L0l#ugnS{IwK-SCTw6TqZ8{1$-u>!fh{5q4oF*O^ zi`+-V<^pd*o{DgIim5>;@SfG;b8;IqYLN1F%Pe=vFx@yU52CORo8N#*lxvrHA5d_X z^rC;itv01w(%@d`@feb?mgp>sH}O%EhGN^93j3RksnfUX6!ogzxMH-(?RZM(jZEH= zT@D&&%$Y5{c76){*_g+gQH#v#%?i!GE#hfW+cCE-Pt~?&o#T}48G~cJx&JlefKKn_ zI3LVfT1WV@2zh^%)5y+~4A}F=)3w`9Get$Yi+4p`mMjHV*fx7srADNa_%`3S$&jqx z_UP;)Re_278=$d_; zTYdhv`dGV3lre_sl=$P*y3DOm-@GNY!<<)vqn_;Q{c~k1r=g{a&SnO~1sz&t=WJ7u zlIirE7aOL)d&oMU?opqYKH|uw^XuX72|sgQxU_p;ZZvn1B5FaIM?$;7VAt0+5HodP zqWjGS{RYCucN=pQ^l974I*`B*5x#HfhcM~Bq4Z~%;5&{8?Q8$-F$ZicKk!#M+xAY8hmWq0g>ar0|Y4;0T@^a0Zoys3Sk21q#V&z>d1&mjn2T z*M|5r9@Rh2L`o5SUXi1p(sF6Ukz$}1SxLcq`CM^PilK?3vtSN;bWJpEX~45ST3$Y- z2_RLgKkvRiAik+7BeC>&zkh)}z?V-d*nH!HT$=n3)yt5<1DvS03I60`zq|fEc}O1f zV2#1J*K|S=af}eI3)uW zDwgZ~Hu~EQ-Kwr{@+fuT7QZ|PUV_zVLohaL0Nv6wcYv`*wWvgJJO{DRWL@%^tcYWM zw6N27Qb)K|i`|#`30069u8DJ93Nnu1t4TG&lg7VE6OK0ly;$uT0XNhr)zWXTNVS%> zSC@;>n)Fq6l>C7VvFP5rO3J+w4Q;!Z-o_tpA`x4i_7U86pAgiAL%3<+!Lx;|k3vv& zTsy=v;LZKP@#W!!<-|GqqS0oVtr+g9+j~=D(=_M7k4Ls`4zKW|05G5QvnAE@g(SWS zxz3=Gzn$yUw{Sdsm_`8snS>ha6s_qeQcg(@U;XOQ@mm?#P{%q7IcApLhdE{LgXvMo0Lj(1uR5O-gD2n))ypGYrqi7x)%#*0q!IyDc3SZ8< zH8wtJMm|P8U+F~V&H}7@1Af#87$=`!!|tEGCP54RrfHZ8Dh2y>wouk>Z||0;qJbc~ zMXK_*%lvhI<-573LwC}k>#u6yXT^=ncZ(Q494I6ERdN?YBNdObb1NGVj4BUU+#m?f zdkNeMBK=zVMiW{FZ5@CS!EMOosdTvVdBylwm(l)XQ+B=U;VShDp*OFDTJKgliGI)J z7wsyQwVD(p{Br1#cq+t70 zR8*{wy04SVhOj3=i6IPHP?a}eix`EI4C8yLMjG{&7WJqa0&pI?hn>Tc&M3yRI0FtNETcrM`%WwKbWddq&L14Szp>Z1Fg}O|q<6uY z7t{YzkQb6Z6hrLU`p`OUDFPyZh?GjE(bOw{!jaR5(Z9bODoE zeP?K)@slBpeQe>t@>}zL-zimCK&kzS>s{Yq1}QpS|v zzf_}*sgc=*+>o7$gHYqqh7XbejvK2{Y2m;Jb`=lP519v%XW+&C&XwE*cw#I1%%!Nw z7spfcpv%n!bg67iAURI z79GH7`e{CsM}vmW?B5xC=aRAgDe9-WbY4-68kUqqRxivM=wHidmc-;>WlBvk;;S2F z6WjNhn!qUVm!$p!sq|Nt@ILX+m#`_$uh1nE6`a~=@-m+T2TQH5Wu=jg6ltEguduf( z;(L%~)8>P?6$&DF_|PZpeY^#sDyC$Dem`>;Jc?{pNKN1I-hESFa85@D$LaUYw+ZLH zLrKo4hDu@^>vg@sT-OqX`g0)%+k(y4OX2i;bzcLRYBLXT?$g=LFxo#J<@?f_Lk>Gkbo^t} z1HBKnpRbQuQj*K(p1VcvrMaTqxgZE)b0bgb&f*myY4nN{KcW1d#YqcVtnB=U4pbEy zgx8v+UvG&(=*O>Kh&2y2&t{r%KWeVTJ5d8c?QRhllg0S zq~(=Q0jL4j#2cAQbVMZb72)cgPye#Ofk$<2ff?jmZ|UufH$4Gf5=Pd$y9WXlH^K1` z-e*X%`xDW z2^;&S_g=Pt0mr}cKo%~kZOkQR&8B^)T;*gV3*C%^_LTyUO?;U0-4!~U?SDu4c)W5! z`(o|2VBu$-Gmn0U;(tD`@}DUAf2RKADgGZg0fAS8My}ox*!&&#@az2M?X$lVSr_`f zPI~vhlUO`eB={5~{#gkAlXmB0${_*667+(5KCbRD{uVShJoYRj3tBl%F2uF6KNnN)rbh1Us{3kiO zQ-Dzl;br}a;jYh3%8N|KLfjkb)f!KiT76V!g`JifvupT0BK&Zs51oSFA6+Ql)!)m$ z*^2J|P_4f_L0&e-KdfjgS2FVH<*&lDb-TEY56N99@CYev zNQ7>DFwQn*#?N%N?OVAtU{zGHX{rWJ&ZN--nt0xDlJ$$B1oKPaXTDlg$m7-v0eaUp zID&(E+Xf3aH)*h5nf>;{Mf>=`IeH3ims?wE;Il{l!|OHp32W2XcA=${6Gj`tNHN-g z2hO-x6O7TV+mj?;AIJ9Fx&}$NUC_+J-ew7vs#a@kxn5|Mo!DrNq37=UaSEe?f?BSZ z7Nu)BzC8bxZM&Ro-Df%!n;fz)07&6z`!UUnlh=|rX$`KnD+qrkAJQ0(kkDsvwGamR zw+J~#iBv68qs2I>hm?#HH*zX}cmcz@O0`2!i#TA?f>b)^u75I0pi$Z|dO_+b12I0L z8FX2(i`<-k$wmrjHEQ*So4D!^IQJoh`mKgyxD3vxs3zek4ja+jwUzZ*5p8R4+{>8i zOOx0=ow^d41SO zo;^VYX;2r1@u9b&4@q40_Az1VHgfCzE zm?j0NNM_IEBb%Z@A0bsMqa7tOGQFm|?#nq{*z`o=QTP4AGl?2VKK1ns=LGLIC30A8 z`e>Q*%0{na<-;El0a8O>c0aIRO?$CE%~(7G?#@(^j~vuX_e!U7jCE?`E(x31PvIPH zM)2y#295oiY}tAGFl%=RGf=9q@-EM*p?I!H*!;nwmmS^*L{MK*u(yt&erUa8w3}-E z)jNvojJd>eA2EAmeL!J5t{mxqyG2{paLe2iC5@5l3wI%f5sl%R#z`es;Sr`^J*pJ! zY|qR$r7Dj0aS1BBVyy9dsxi#Gp;%)GcH>5naAc|iyx$GesOo3vXY19kea+Xot91>} zEVFODkSGyUflcp$##xcAMDBL3Ls6t4F-RyKovxp|D>_@5Pq*^vhHL9)Lf4%1JyLGB znn~_TZ1auqY}d_wufzSm7oL+VIpI4Wv_UJ!-*(>3iWJCB4J0nI=pWqGY4>P$S&3=# z^g)OZZ)$bhUV~AMJH$>s+P3tynIx?ogwS0NarOUFPzK(m=dZ`->)5-~m^VKOcU>+? z-g%0seY@+=?vWnUzAOonE~ApiS(Tl)4jQmbs~4VN>iu~Zl}D$$M&AUSJ^J1i)HKRVJXf0Fedg0ia*=ywpgtazgPG#7d>fxOhCjA) zr(xT!IC*4cnv=qK;X16<;P?%M7xs8fT^~v~jQXj%W@B>_R6YO5;ITjaK8wya+VWf~ z#kS4;y*{qC_0?93)n1GI&M#R6OlV zip%v1tZ%^bP_SF^J;_AaHSeJ$#}{IHvDN8wgpa7q#u@|1zqce1aBwO@dLV;|4SE`E zwM$pMln@dKr*z;C>ua!2(#u3i?Wh@MwHnG9^`=}S-a0k6`E|l~wjM|QS{={2^AE&v zt(V=YN=_-4_xw{Cl{9stC^{=igAh#bd0lfGf>>2 z{oA}6ZT+&0{5wuX?KODv%E;3F8?df$iCfUz$>FctLJw2+jg^a9t)Zpp85q*(PN+9YVdk}Npcj08uO`q@G9CLs^HI`D1#?6l z-oo3=HcYYft00J>O=n+JYtx2SNH}rKsMQ9hFa}h#^l7_L%&P2(UFIGGCOVLZq9390 zjCBphpdw2M63s0$Vzl=>SaL^ff``kxg@fB)22}@2ulFCY7UeKLE{T{v_Gf?bL^fsB z#)>($v(lQ2Z z8bb$mGD8(BEQS#fE#b5czK^(Gq<M-+qw7YIN38~g7oz-+? z54We9;{!HOGkkQkF{z^@5;u8~ZarIbT&XdXCLQ~Wt%XgNjw<7VzpXz5zg;l}1ESo@ z3 zc9cn*h-2xfhacUXDP6h?N=L%KPG!yfP%G2Tp(LgO8(_qXYm6H!AU0EhtFP5()*H1l zy@F$>DfAmm?rS%C5MiQ))zdjXp10#LZK@+ee-XG`C)4% z(>fT`8I)+OW@^X5pje`+3`~L6Ad_B#Zz6ZTo+u~prkAlbua>qwh+UDmcYCr;zHn8F zdG0LutN4njtzKV3P8bd_(FR;C9R7+3h^a3@)_bK5a<{OIfAz zR%@=wLcHts!K=5S*1JbiE%K`;(M>0*8p1R(p`v3V{u2e5x$4ZZ7epWu%yjlj<<^;V zqvPROYJng&*KgIpQ^7sJ*N6*y(EH|?VN6;|0X@D3Xi6MgTSjmt@4~}S$!U5(_Ve#Y zm@=iw=U~yXR!{1#A;*Yg6J4{CRxM1O<9nW_yb$FET}1f;c3G5LrpftldNJ(Ig)K{*~oU;Os=GP9#F-yY*>%{M47VA^^}9A z=}VpFFTTU_|xU}NtcZYBv!CMifLl_ zNvICOndI@F3*+NtaFhoe-o~qa&Ql+LA-&CdeV;x@eLo*)iq4NoTMT1 zZENYt-2C=r{PPF#(s1jYN4A*(4=Ao)2~)vY9r@MTXLxCRFPo&%!74rc@&RDvlP}F! zf1@4gBm|NXe}?p0zhwD1#Y|l`MgDxZXf7Y%h21nwn#*skTk8=`gZs&?HmB2Uus>X7 z9z^feD9wGete0sOLrsUlr$}Ix4e|rj#!=JDok;6_Zy2+mLyZ6tE>Rr8@YmA3A-dC{1K~>wx zDKRx0Czqn~QvX+w@ZQm{{S>i{NYmF%?io`Ff;0gRxJT$=KgjBLQ%us7)3~f*@R^cE z>&=`5FfY@+)}=`su@m&#I1vO3t`cf30zS|1E0^2P;_TD#c zn4UY}U+dXPybQN4^LeaBU+Zhcu3=$o~9X*pQKRNbXEv((Iaf;%_+wp^n zpG6N<@yF8SRxN913giP@P#Vtgg2%k;yYq%^Gt*|OBoCfQpXMsUf~)C;>)~rgm9IUg zy8UWE2cMOnzHf$6sEqp6!vcmeG0rn}4?Qp<&BCIT_G1k2VY^vY;4Rd_ym4$nBsbZ0DBbR^pMv8T&G?9Co2DS;x?)F*L*ZF*_ z3^A;M>f+sy(!w=h=(|quySeCM+tY0AbG-vXpH1zz?rnQx?IUCjSBJ|Q>rAivdfwN+ zS~#q^>x+35AgoaPYwmo#M zMd^Z1y4h;+4g8`-2duYWIF9orGo7Dkq#_wiJKBRQR~EivKc3&+5crr@-PXm9AvPqeS{mmT=hSqy#GE4r_BqUHzyD=*cIcqIZjE|GTZO}g+z#=; zNjp-QO`lK+x|JVeddnzdW=zONnw?$~=erw6nVVbdJa!X$w3KbKsj@j^n%Z*Y>FDf zn)`JO2oDbqRw}akyouPIr3;--{E=c%||oBagQg=z`X4=4q!*dQI2KqpPFo<@>C% z1=IR|bR+-klN;?@9R7Zv-~$SgvWJXiQXSimGYQLz)WZ3F*Lx8`thu(K-if!hRdkg+AGreT)Q~C}&vNI;``>Fgo zra#;aUq92_KxY@#DRws;k{ERGm_%I9yU=T0AFV<-XStH%mEL3F;O{)g> zxt10e+TOh|#v>F0#ru)6Df+kaj&?q|iQL!c4Ab-PJ^7Kn$9d&d#SxCjr>#ojlDr zLWziZ^|h4hN4DNByT4Zo+H`+YFk5joF6v&2yXj`p9wzXWBTKG{7Hz+ zLqZeHtmU5Mr)FW9ovy>&%$AAobfL4`L(keu?5@R0{(tJ>!JKN|~y1`VK5KJ8_s*~n?P%A`iwo5l7&~bcl z7-+;kh*CA0ebDWu-#e~X6yRVpn;#W-ySNH`v+>!7tv53$nVF+i zHbq>cs_7k!UE;jGk(FuIw@wBq;gE(@QleCeX?|0SccDju%tD#x9BKYE0*l4M&t*RKm@hKIYH1jPny9Cc>7OSfAmH zbV~YXbAX~jrZ_UiZsl{oM>=KFX4|>onr_RuJJ!T zojt~QU70~z`@egbFFJAa>aN6p)c=AcZ8-6U_4`&U6>h>+k7bVWM}-6kegJO@GA zf;~nG+S+f}vdCaV#eI#E?l#K=#X4N&X0(jAyY9#9KTqfk>dGJ$#NQ^995oMDV>0J> ztu=I%$Lz@~F^5mS*}4nEZ{Vfib}!EA%Dau6k7Q$-?C$Rp^~Lr-HoGY?a#(iLruBR+ zVmA_Qd^qA=vOu?PzXl{N+t_M8mg6g*oy=QJqCfOIeEMytlZ57Wi+uO4TJr`g z=&QS0mc4CvlkU#fHg|w4UN@vFKG5#ZCov3xf^@|zl#>Q17PtM5E(ICZg3WozlowT% zY=q1N?vlyL>|pVE#zb(;yp+{-*yT(5%nus8eLoKLJ~U8J$0th~4{;=V1?zkhoLD*k z;Ofy~=Pjvg1AMg2?CUlz|&u`C0wqKkNJ-Rr`z?Y4G<{3pQ;l6VxjZ`CGf*vMY8- zzA9l-(FTP+R{D!KRa?fqt1^mA?evAp^F!Fp78c`Nu-<~*8s z3M_Y;PS*X@{9aN}waymYw4a^kK?cn0ZmBjh52BQ*iWU3qPKvj$!z}tMlcFr}%n^9< zGhWnRKB5#V$N;`<5X#m5hHuuLpNYp-q~?R;9oZDld077mEpPnXA)2AUxCnzZoUDXo z3Ky%AL)r1-ymK^06O?K8CQa8`YaHXvnnMEH2?%&KTH{?ZfE!X>0?eet)P#Tn)R|9M zk;&>(cw{Oz!w}Vj=GCgPDvd*|dCrmla#sNi{^jYf!5%_d!iZGOCkGN|qEI_$wp!yX z>O>dLxtY={swU!RoLm%Dz*m)#yP8smU0tU~RSmObj>$}&SCH=3u%D?Uxa3w5kZQWw zYu#(IDdJ~u`TUc+yheW6pLL@v{CP(v%u-yg!)}*?^R^4SZbR8jo!w;+lC40dEt_53 z!R`I5%rZ@R&*a@mp@$v@Uu`;Ey`TEG3>iISn3oEsMG)OShVJ+;P|p zS$f8w9xddfDvFZFD6x1~5_c*=@i&CYonS9bV@<5{*hZW_0qX^&xG&>^3cD_ z)<7+oP0>Cn(R+39t?Vk?1CO_rC?8s}7HO{FL-a20H+wvv&%_9a9~I53M`M_IM+7=C zIRZqWW2tQp`a@9)nr{e6B2dV1nM%2qW1$W@0-EW@%4pECR)CM8`p-`nZXIs=@BZAc zEE8glUh;Dt8E+NGOwd?wK=Kw|fv0-uVYicdmP*@H&lz*%%3rRy>Wx{n<7Ua#6~HJw zN0@H~2@ed0W<*crsjqunuI_g|D!wri(c6CPI}H2qxZ)z|e$-t;-~!l-3jng~VxDU; zxjHeG#1l6=g(L@6zvZ($Ke$w|lW0#woc6ktLSPZ0#7nU#inE$iv97Qjy_9rAIw)RC zy$)}I@ zkp=j2U=0pBd=O)nWI^}JH%`{@8?J!q1NU5w>f;i1malAu9b-Mwuo*pj*w?#YQi{F2GT8O3_fe3h|T;ohfje2GErAF7+sMXrh7 zGtGCRL-LofRy@WGYEgL+ygQXLlRYLos3Y?2_Cx0zio>&p1}`^SYNc58)nmS}tTGB_re{NDd1q_35}kU_G?@!_E*8m+SHP1+hT7gu=%wlIh9 z)zES&_>Dp+N%{6$0YH9S(45MK#1~sn-AyT%Z|XA5x@2hw5&TEk?+rEvXC@e_?V_dU zE`JW{qQsl0N{sJI=+=}%tnF1*=PqV7{<$RK@;$s;p%_TxyGW1-?!UQ9K@}wXQO%@g zQR)q0;d1pHkKdC%n_0$dN{jxevVN;AASj{#=|Wp67!ngvVO$wILFY9;`&Jg>qCFdx$o;-AIZtwN)w4yu?g+YQnwBn zY`hU|XXSwRtN#BRBb~kwZ%-XfzI&b=Ec|^?8szWebG)@;@2RpfWM-``La{iP(BQtY zAWr4`g}5plY@rL{Jln3j9Yk;2Tq{8f1sxwKjSY}}wl0TE&A;(EtWL8mhh#qW%oLQq zgS^znA0eWsZH$WM-Q~qZ0;(sta`;fOD`$;a6(k(Si32Rvl_s3t|{KN&XhBGsQD_WH`6pS zj^HK4bCuT6k6l<%dl_H0v_9QpoCl%gnK&_YO;pn+NE}qnSK33F@`HJ*ob52cYI)Xn zU%o>FjU_-rmo3Vz=kIjJpGshGGwovp%byR6W;&zCsBb(gXZcNM{fNhM^TZU)+Hy={?s*b=t9j(Ww~$ZbiATe zkNc)hcTq%xx%2AlyfWgd9*da$N0FT__H$HyBTDM3DWi;}ESNT1$p!x(+4NNR=q2t;qWTJ`P*|X>C;H7mh zqn0`!nPXeI_inpxRSw>2j2|ZN1yF>$OxyxWi+oH@Q$IQ0{rC&lUq%!*!5Il@M@@@q@q3tTEeq)fQO8$2)4AAtSR z*kdx0YDi{VkyNE~5l+nD(3J{PVl9($xb_UClDTHTA-#####Z2xi%aYyJaNK;$HQe^ zM`T41k469!`&&QS^47K9Li>sJ5QF5|y41D3mQpxex$0P2>3#q6xBZt7#W( zqAjtH#pg>YizZZV(2RKwqIoON)+=95l%9X?IHR}<(uBVVa30$L`>>uJjbi*1wAj)* zvKomHw@-7S&UQn*2%|sZsmk{kv}O6{*8Vf|OVm#K3amZY{bx=$3HL4+ zst4~~H|M}zxfM?}(Pu~`2dhXX* zJ=fF)qg^Cx7cI=rU6VIvkjjV}ZO_lxCJ!c5)M|LVAR<*@(#!F3>?2>tRiCh^9Q-!! z@cvN`%B)`vllP2H46OF8$oF)({f|?u7XrW?S;e-mc&UiQp&P9Z>?((il3CpyyTH{P z+k^e!`eIvgeB0C;C6Yh=23H^WTn;V^$njO#up-xV>$L4Tk@KEk*?K4IV-dW+i%uwm z1iq{^O%+i{=w=rpan)wEKXuCVeziRw{ zp(p~KB53`AnKi@&U*|}PUlad)``4FVjNfeihrbtN0%qTvf7(5Mj|r{;{$bi*6aVjD z0^B??RrgfSf5*=oJsRx24VOCSv2}jdJkCO0%O~@I8!*K;eA+g>vsl(ox9qSS0~f!; zRW$vquWn^H(!0NVU>>dOirg1$*x!)z7HHhQMT?d|*W9pN>5FmS`Tpt1d-tG1qd5UD zaMvmSRI-QxZ$j_hxC&Z$%UrU>tjO(f4d1KB?C^)zgWEyOC9jzkNja{9-Vw_hn#)~W zcbflGIuk*SpT8n&_?ShJTk;z0I(?8Z0l_u;KPLljet>2!(Xhibsh|xjhj9(%B%V>V z8eEu06)r49hUx(>;R|lP)zIB`g(9f>TMkW7^>)2J={qHAXnIlndh9%o9KTuW|7><9 zn%OZRcP5vK>o!ATIk%W1xFh8$`8eJ??J{k~%!RJg@19PeT8L=@zc|Dd`w!}GCvVCc z9xrA7`q5A>^O2GcYJJ_H8PjhpLvPuruh1|Ywy1s;4= zytaTYUDtvP8O_g2>8y!mB^|ytbC?NZ=3QtXGD&`tLn?FRrwU%3=+nE7B~`TH(eV=E*W>fbzF2z z0{n`dc2kqgShmlomiD-zqAJ=w6z1h&?k$bO&saFeOf_Z?*Hgn>M6tc-*m)PXS4+UE=dk*9PWH)OA+Q+6!$@ zHNb^h0Ui5l(o`7R5y)NN^z}pG-u``@)0C-*WB5A~3Rs$bLRZ|dwgo|q@7eL%DCAx} zkI7AZA5Zd@VaL7*LZTNd&-7rAdC(6a)FyiDLsX{Q2T5_7>+NsJ6!II_Y6~XE4P2q5 zhFYIxXh^mRVGBan(s z^!JW(n5H9rXAqrm=-;V$>;R29X;AbGxX-Uql@8YEl7Xx)X@H9@v$BG#g{L_JY(Bxc zj!sqTFg)1g!y`pXakiGwBeRP=!8x8RVnT(nE;r!AC&13Rs=Z8e0)huN{}HYi@9%=v zneGJjS52~~hPqoy7)aIEJE|Qp4;DCVsevO%rmyY|BmAQF67xfN4zQgZ+bl3|wc^41 zr*ND7*D2^zA$|=>>S3NKI#NPfXfir7DGXCFVgnOdqJ&y|VwQvPqD2;1w~D8KeJW)@ z){v^LZUAi_kwsdJ)v`9zQp1Bz`x)<4~)Fu-y=#nRa1%CHVK2 zc#mYowoiMv8PbVu#zOYn`4N6**I7^1TxOa#Y@C9RVK-rI+mFl9*;kOQ_V6$w!HMeY0swdR`nVrOO4z;}}U=NDa zUWzY#PDb*SP*5{7kC%E5&Wxe{tHv>S()c*vD*4M8Kc#|-$>jS-vIl6;&LNlKdDC?+nFZ5qtpLz$s1hU8 z8~zA^DTzbItV$0p99ti!$D9e_(ZF|Arr>HVgGux|ZGE3*P3;_E^p<0ST(=K&ZE@kr zH9dYQpXos0x>)Ww;U?p2!&?m#JSvxQuctB5#}k$Kep3F%+054PGr3AZnjWdb1A5(l zeE*RKq)NE8;`w;<0;BB+i&*r{0~U*y7s)fc>XX4NC}=q;*w9y=oh*FCiETZMIer*B zD3S~q2YXMDNzd2g`c8htlD>O5`J~U=dz!E;`ML92tDfly6f0DKinHG&^l0~!n7+@W z(#jz@Y9AZPd&F=XpneKg_KVVx#WUagzT?fq+xW5> z3%JA)HX&dz7CpHKm)hO$KTOu9nIL|U4$bqU3QL78YcVuG$ zS(X%Lt$D;1s?%2fFE!48#IAns1s`|$sT*-pWLak6ZG8CoL+Up5Ubq2$+js@)3eof< z;1U#)<=WO1IZE7fC{kK*$u=)^B+jGRowGZBj|qv2nHJ3Gr{NsM-(ii|J_5BIfup_7 z>yd&1B8+JVvC?n@goNc1-b=QFKNOUOZcA%4=8r)dH3Dv2!IW&bcuXlDJE_!X%r-9j z(M7gTE5IPDJRfWFXC+1;kDs%PD1v+Uq^P@Jx2?TC74%z$1%zB8$V%!pidrSo(O>>? zefL-gUsdlKO+P>gU&B{MCMp(<^spGL^Qt&rxh1eHYxpASJQPbp4$CsbJIay=0`KH3 zt)2!~OPZ5eUnk&r(+A!Hb6mK^Hxf#-LDk12g*BfkE8EM59PpQN<c>cqN-F=tI1S|*T(M7+x4-=0++$V?IKTh) z5X6^8wy?TfVf3gbIF9DVpV zbd64}b1UZuDP6653^s4J!1$$5;gx4=SdLbzTXH$Sh3H>6FA0C!-*Huzj)358_z4k+ zGcch}^7+H7;Na>w0|^a$m{fXpg_|;{;p8f)72k|XnwndqJ-oF(`bF$MhVoX&MQ7lj zB5KRDCXa-^d*_u;sCW#S=_BrkngOFk?!^Dvf201M3g2@H)e8-0SA;-03+!#h0mfW| zw(eP7hoJZ77Y#T6lm_SHTMFog3&%?V3Hx39c{h2~;6s^BRqoFti!};Z?(x-3&u(kvq|M9F_wptG+RDX=09?P@b_o6V?Rr~yg zDO{r0_4ZZgpesSbom&@0aewN*d+@?I90Dr5KVk!ba-Pbng}Jd!a(eza8G=AFBLp1%ZwVVKsm}z-QhG@)63nj>niGn5rKZU zE`h6f$U|QBVVsfCUsAETH>Kvd?3q+&nEw0Z?zPDp4jek9PkjI+(A75V&Ysr?e7d`% zs5Kw*e&M2W^3UN2sN>_o#pQob{r@mF`=2=V|5CusQoh$~tySYw5l1`Dl3ny~1$LG- z?2QozO#*p8_UF;TBN3BYRidoXIYiS&P=Ch;)km$RTWN+sHgZQ37y^-=C7pO6rKYtT zcjQhY4dgJ{c%(K=Kh9>*s)Q+0()&MFkGu=o&28-`eK%zUb&`JdAZM9W{>5SUO#NmUZ_0iyhAdM%F{`lv*( zm^<3Q-spbz!K9wH&CATmFcMfF^x(~u22@GUZ@Aju7ytV)1I7R548D;do+mcsJ#{wQ z8rbA6@QDSdd}_2e4pIP%*DW1`Ea zYT8N%2xQTv3r|h;f7x4n4f@I~7f66ete_TC8mp_3pd40^en*HH#8zaa(`2HBt*_gJ z?B=@ubg26<0QRtM5qfT5Wt-a+uHT~DqELf)!5?4YnBNp{I$0f^>(oQ@xb;(`tYIDX z^19O9jdAZPXS$&3O1e6GN1Rc-Anr^n*=Lx{y}8PItn|I1dQ`}(i>|eQIB?GFs2s*K zT@Xw!deYlhDgyd(DY{0P7aX;!=j*OAa=oK5iA}4N2c`QlJVC?f;(y2CzfM2rOQT1EcvT2dle&8R&Ruud z=r~(+j?w}UU)h)7=*0s35a>AbguBMxHf)3toG@Uhm8oN$fG@N@ov9Re57EKin)h;a|#D;v9lQGhzy*XRs^xjXlG67qiVm_#MG(;MhO8!YSP zq5dzLPp@h>+OOixZ(yc=HHKib`Y)spA{297gu3%1-$fV6>2y z3*!z2V^zlJk^~skv5ErbYJV>WI5DOt)Zgf@BRgeTGj#Qu8|oQD`oCG$Oau~2D~(6E zXn2T?+1|xMJwyjgjH2{dtHv8}PDPx%3EtC~Qss5=6u+nhBl_h1Z>^<11`a8&&3N#b zNLjRVMmzrY@hvEe&G^61x|?~BG|cVI_$;eCHy2bGImub|leFf>sLI$z;hQn7x@n~P z6p-U?g`W?CAFtx$w4siLssXQRd4NV7yvL94@oL>oA{il1ZG`$q&+&pARR=4=9e7NB z-oNEn%&4ZNZE))sks(VwyA4`^4e+v?sekk`;Um zmHPuYGgo z2sP$Qo##964ClUbi@$qBWwXg{VStQ_lMb%GESyQojy+1w0NfDxhb`c*qdK`i7U+NA zz`xJF|CcK1ep+Mw6A=IRSp2^*7A>xEUdtzkd$1g!w-yU>z3)ll0 z1=xHU0r~Xv@rBDp@+VovAd~j5+0Fgc#I5E9epYy{;Dk8`gZdr7{8-uL62WL zi(8OIN%OWkP=k)`VhFog=jDuXt|?af+*)uvQgT&HyBwe%JHR-YBN4_%jL)^Gd~0cX z)wkVTrbfgMu06Ra z9sbsRdhe)SK1b$T_o?R*iAPpif9E01fH&E71|ZKCnLn|gh%=kjc@!t3sE}X!sdM3J zs?6F9A*kjp&S;(0I5pSb4!}an*TXe!_G6UX*?V%8{b2`gYnu_q)yLbrWEGd}KcwS* zCzK^$7qR14VUiKwzsYxoZ|iBrH6;b^`;seRMVfYAil%_?$oNL1j`#g0U8RhGd!Q8QyJ@=McZoK2sO|GMe$spKf1pI>@IXhig$a=_|&?^QUH-US>}{!PbI1&RfbN{v1BRa%#gTbmxNQw ze9-^$joey<>YjIFUKE}|^&+fh^7Y;6@2CL?bKQP(vu^oc51jC&gKsmP^Z>s(AvLsj zxiI}nu=GXl?Bfy09uNd4`+x=C^^Fblr2`fw=V@yYzVGfcm@U{wHxO?;6|uML0-&aA zCE8E7xWX-~ZY^F!p3il3Eq6=S#yMS8+h;-Y2>8TkTDl~&*oRcS&+w@m_zt)X+5FL1 zAgu@Hd!}C}?d5Z-qCKKJRo@`6-sS<#{}4xCfCZ#~j7Kvgn`mg8GfMG#zX)*0gA{`S zzpD*iO2CHXva7&r21>U}M|Gut-@d@%M7tJrbBm{vmaiaAHOkQP?s#3S+Oy!SSe)I7 zyPxk29Se#6JG(!=tNxpX{^x}G-x`Zo!~VQB!}B~Q<^VoteEpB3ffmSN^AnSan6hf; z0=K~WW2wB=)FZS=;Vat!%G`2gJO2EnH_&Q8%T+xgfa!W0(a5_I2v>pl-2-u5Sfg z7z@?RmyCln=p5d(>u-zmsIEEfIpr6{?|}LB(4TQ$pF%4P`(T?xmH8tjRBi#sL*J=N zr`f2hxCEYb=y;_D&(h7?F4^fhdX=h392aIxxQI1#g0io6yc}*pYkyAWY~QU@f3#Iv z#k5t(A;RaHX#yBRsaN-2D>uy|C7RQvx({EWp`o>)o%~NGFOWBU%7JsMqoiuWls#t) zw?!lT*t|cFevmQ4PuF2{HZ$5nBH7S5=>qIaw?`N!TQs=5u-mQRWfPV|tugZW7C*}I z+r)EXER)Auz4A1QWZFq?=3bqt7_#dPT&p3A%n(^bzf(-!#yDH}-^4-1TX~8z6H?n@ zZ)6<;L5T+4Iuvnsd`@v*{RcAEN#>m8Hp82nFE`@rJj*1EZLgk3+m(0-C>w;`&2unZtc;jE4m5KtAGsL8VPCHNMdv&Q=7wi=l=V42ySiu7 zU-$hdR8Dnh^T8ql2@ zSeRAcH%W*YxG&<4M&3(}4U5XcA{D!BoL{mO-Vq0zdGmRikO791)(PbMkJQR3%B$h@ zxiLvJqn>H}Nv<_-toqkhtlXOPlgfUS{_u=-y&50Z=96CfK`VQ*Rlosf!O^~6H*Qd7 zC_Pl+AqctjhXIu1-ilhiOSmBlcZ3<7`} zNbEYLV8bt`=$aTTQ}nRHr`)R+5>VWL`=fqn(HFg71EP~|(o3?c{$xmxqP~@xe6?eN zM*c{;;bfIrpzCAboe=&^m$)RexMX)?-MJcLiPWx3;?5LCecQXPre-d4OF)@!hR^W} z?b^A%TvQ^B4LyuMNHeps*Uu!QLWXl{CA4BnfyZ~d4x z^4_M1p-g!Vg5-5*#);*a&qJrdxh^UFeSja4OGV@**u>}K$l5Czu(Sv8GaB2^r5qd= z5?Xp;_XOM7I!#y{Qj)>ieJ`!j&G=`+Wh~ANZhnjUu%J1@rbB)==xR^lr&1Al?m43> zPJ<_gV(+aZ)b`nz?Uy&s&JyXU5lw*YiID(YOjO-WRheD=vhD@ggKK~ME;NzSM)*}w zjqm|T8CzwfIW2=^(CohDaIVvxy3c&UsAIJ%^G%g!BMMPPYY%=QuBf=1``kzE(fQ_t zq2Ve+qxt6z3Y8g`u>?2V9;EEOnn!4>!Vf#)1-2q{$IRPPSXdA^M_6v8Fx(DsnoT$b z6vl`gA6lR!R3lkkNslI>nB`W3-~H4FGKG8_C>1-VSf@5;@s44$Od(nm0Yy`HV_U;a z@BY?^ie)dQsxWPgUaGl6N--i+!+TFm{?uBNg_CI#*fzV^QXMo&{*<$%0aYZL%TAKmU z$Ft(&;d|^))M(y|v|^Js-|YUioYa$PO#E(5C-sTmqUxQ`zX;)$%YJ-)Xi|wXE#UR^ zOd5Jt4#1R|1ts}H`)`KJd?1+>bCdmwBON|HlR)viUc-(2-FNbXX28Z@MTIwE@HCUn zhN!B$l^5eTiK2Rys5XxzzN}2+B(Y%lC`j4VaiDa}k|$@YGhsN%voDvlsEXm{8uG|e zq#VlfKFL-`d~nJ{ro6o4ED4&k&!`vyzPqASTfW61@i6A0ED1N_YH9bvyWv+u`{2C_@^1DRslVu44NMIDsfy zjwiMi!0v*APY*4mDk8>B;zZpyAR1VIvy@rs*|mpqf2@=dz6 zl~BmbP50hg5r>a5{VeyG^otc^<~2m}iaswa*4oz?B!9uG7m_G5Q6Jw7iDGKJSBjDh zyI>?oc<}?U92AA}Qm-33efgql(Xk~J$_9x-f%&u_m_!;35aRf6MJi-gfM`v|SjeN^ z0OI(Vw4zGPq4xoHkRcyxM=9E1*D(qfNP@#*?wfSY!b-}j$C9`Ita^{}DJE zEzJb~6|V+89= z*%1)D;^-QWqM^|W}kRZa9RI#xq{=(@iBG4u7t6bC9zAL?lk$V&NJ&X`{E;sB)#T^q4MF(f z28*jBhdyt+H@mvzt=j`!7kM^kf`L7)MTp#L2!7%6An-mrbP=chNN?z@|i;cB;cd}dWz zF|6`S{4|nYi?7OK!@|P;3gI7{i(7ahSpWD_@l^{S#h{)3?6z>$pt&N??YVccHiLyG zt9ijYd8?KO?ZNT#+llh=*?UvmUG9O9u<-Dlx;n63$E$0HEAj`b+vyG4jI$ZgSGhG_ z#54mCs2yABG(A$|(IrGe(vr1D?x3$>GpwWk?By4LM>Iwnw-p*XriNB5^3-d<9FdOP z`Hc21*05Au3yd|!mKBy06L0h_!&;ev=W>Vz*pB`#BsMJaq(>~biJ{&olBj!4~_?M;Bl%u1g zd-8tX;d*w)#^FNnzF^)R&G3g12xN6D_;71=`2gSG!BYoiWE69b!=t_11%p=34_7*+ z^kY^xhAdOI*Jh=6F-ew(+wzC@H9!|_7Y2)T#P3B@Rm{)NPmTI7d-61|i=n_^+rgos zS!ZkO<{0KOo7M!Nsr2A$z?PGmHP*?Lny%O{&)(MpT9d&evL65&s;sDxkU!i+Hh9MH zveFz40PJtdHnbpLul}u08WwfkUF7CSJ0MCgqZItCdAp<&sC(uVp4HqKq;&u_r^sY6 zDl$Cu`h6nZa+_l#mNv6^6nv5UF;1FSpn>+7)w#*b`{J~NXv^F}TjGJm0Cpi;kqOHyq&`*1C|O)z*{lRKop9a!ufFRluD z@k~I!B5m7gO-ihulna8lbI=BITO%H;du!dZqH6uSLmyKSQoHN@x|wSS+ugwef(?6R z!nwHKcdD6dy-CjDRLt(ltdj1^e*XTMo~_pJPmqLUzD;wsS}|Lyw!&(#G%H9qpzqr|Me*b87qL4j{PlO-haJq<1p~^eI2m z0psBJ`}lt)0gc=A4&L(C@m2-nb9h@T{4#D8vBC(YAEDzL^YG%PPhwzgG4Cbw{DOk# zhB<@~b#k?XooD9(pDIYvb}}#>{cea6{CKoC8e3QzIQr52 zV{O-W=%D$>gu}h;!^y(ka`|21Jlu4FAw0to5pc>OJ76_ZpL262-L;8}yTv;$7l*-% z9q4@Z-*aUvrnzW>`taUkfjSX0x-xN8_D)b5(Xp zIP2T)D3#l;V5J;-o9P|m3sP4?x+xKV68&&D(groNIs=f=XLLvx++bFZ1D@rM1a|dW z&=R($Ew%6skO=9RiAv)#=aGn_HEY9=LAD~BBoV?S7EJV{_C%NDI)@v>{TK(H*o-e&2vaswmk=-)32D$+BD4oBczIW zT5YxQ7JrUW3I_wTS9e$nToB6rLyEeuUfYj#TzN}4O9!3Hh4-wl%$M8)y(X|}d%IyK zbNIn15wT=O5|Xcg1ozMIa_D>?it>M=I%ubVDSyEr&^1Yf(;3HZh^jNkwzTC71%qEy zaBH6%$9>O0g9ibCPS3$W28vXZRY_xM)(Y2?lIbrVdXm5* zznGI^k$^x5aQjF-9#;UYxkgpG)AGsphZ5=LCVQF@_L~)**!)oGKo-AGCuJQzy^EEb z&j_d5T~|KiS10F!2kYy`y*}jXg*bVh&ZKJE``)d(tm$owDSn~yu4|(otm9ddn?g9m zOjvw32Q&||zJDtwo?-q}Or#q}CuuScOK->_I|B@YC6gYZipHnNH0ol_u`!jxVQY6X zqPWOyQvtP6NTgD@K59qfkc!GkJ5xS*^y~-dy%|stzSg&&UdA%^$!3vjVEg^<9|Z5| zfhYa3LF*j$H7t(~k1oT0;)-{}Zf1WN)yMVEq*CjB3*ydS$AKv~c5-s^;2B=`v6i~g zub35Uk%v5rd;oj@*~%dck0$5-UBA^^(g2ak$1~wwBWcq|1Ej0AsnI)Guog9@Sb56g~=HJ1P(n zPG@>)dkK((daISXj%MSZE~cQ3ZcYfJb(+Tv_bTMkbMw&fs*9)ng6AfBuc)KgI%eSJ#y_H zKz@x#9{*aDAO{C~AV^stfYUvFG!CfBVf(u(=ZH|JvwW+>ZYFnW8-FpL7g_rZ_)p$+ ze;1k^shcO;E8n-|3dBR2m0djQ$cr!draM;A6}f$v=*`Mc!nD1~oI85P8{L3Cr0z#m?d9Pj0=`iz4+HcH`YxV%x| zS3^#Q{9OYB{OQAw)fLY8A-OA(&_Ofcuihj1vr}@YIU|^7#@4_6BI3MDTrR07@X0$* z{`jQ(Tt>?RGds6{?|I;p=Scn-h8I~judDQ@65Ic+F@1fLWDfRZwLl6%a+>6yx>1sl zm1%tJT`{lc=0Dp0t(^=pFPs-IZSST1OaFr?C|}fiYT5KZh!=GAJAYKK_-B)vI~C)_ zVrzwvz}CA#^2f}vrWC($p1UyYsb}-(^S}Ll z0Sg-64W;-Q{a=0lbF|!+G>;}=*dP0|V}GtHdB6G#zC}tlfF~=^ZiOcb|EUrNDhu}{ zd|QjuoR&9!&d!-X)!CUC|if-s~11 z4QAgT!rKDvd3I6}D`8soUZWrj9;ercdRTT$-mCMsgq@BxOhtKAic8O1c?zCBdgo|a zU;F=;`!03W6y%$seu5Cd^LOm!$padi{>mscrshYM!BFixZO3ePB=6WjPO^Aw!OI~I z9hTpLBOR;Dh?i0YQqKL55!hgHE!KCBt%mJkTl%F^n zL_MH!*J4XjY}qGn^N4X==mSsH99Hc_((Daorn>ZpGU@(GrmNuQeKsxn%#J>Vew<9kFRP zS9O}-7+>l}-0Fee&D(|D_)9nI#+=sVJiG`0VuN6z-nj5w`&zP}>|%PQ_1TQtAukAz zcro>>3ot-TOff5CZ_InidRaA$_^`lBGtc)B@JOG0{hwYw<7F=nys>(~{ku8KiImlE zG-MPsS8UMwIYvw2>?Y|q)zaB%JpINXdTaLrh6nN-bG|IQGf0OCIGD;xUwEJ6iZg(S zTAPGcWNSGJzh?a|p=b&NWA&TpoKjGCb4oXJwM;m*9er(F_2)}j-Y0(9YTA;W-sY;T z)tqOc<~v_8L2lVqA4>GGyBsC?^YOb+B?9VO44&%#W~=_J@yV4R&nbFmpg%)Kh*(FS zODA>Y|N0O5vhK;e=6fyow>y2v%0x#g$?+kR*pusHOYdq@bsT*=+TAibu zOcXI>Hd%B`4D)=E(_xyEEUBi6c+2D2X7T|Yo* zLjr%HOnW}LLxa+kfQ|fnJ>Aoa@}Yts<}ovPZ3GX-Jlcnl%I|(oh97DNWi}m-X)zs+ z6shfgul?0#zkd;e*Nd|dANJ_-m77Yq<# z&P?Stlat744z+f%?>xS3MYjN%w$_ji@XW@4em&yH2@v1s)#UBDLl!35NUF#YrYkjW zX28t?cH8PT_+o=y zKY71wzp))U=)J2F6?9T+`oR`$6X#dffMfE;mFERcd6rLR!sV-Oak+tkH+kOrd3*I- zwLewG8yW8PJ0WVY?RBeUq`}+ z%KO#mYVA z%6;-W7q+2bJmmzGB!#Jfu*PK%l(9v^-g7ZNZY&hb-z1x5O#$#miVaibHw3)sE&x2M zzYwN1Mpn2AQNNN;X6qad2Hrp5flj?r4cTk}=sSd;o&j$kL$jrK{BKU$p zHcM3TtB_~2x}#pP#JuPwHzP6h#|)~)bz=uJ`AfdVW>Yn*x^e8&N4wzH`nZGSP6og2||B z@lxHni5DHl@KdK8DE;CBm2C0VWDe@q6@W0%_MN3KNVpvUse$C_xyS?)aOj8pnqdXG zo;R`mr~5U7*MrAuiC*CYG`6$#R|reqN@cRL?6?@C(pi)Up#S@6&> z+(qiKzftC)D^<0j2WpWPo_XH5* zXieQ#TjTkJN+R;>A>ZE75I%LQhH%<}d_Kp~)9{01KCUQ~scsC`)6802RHtavna

utZ+t^qgRzQ#uaQf+YG!G`bWfI#X;9LcUUL87z56Qclb3x zd2`o|ZBgytngqOSOM?TOi8GJRh24^$Z>xKTRyIOL?k&AnTgY3QBJ*<=lQ-{Aa{8zc z?F^V?JOz9{c}?`V`EhVtw_$_HozjKV4tO#SplZo8wL|Qbw{VaVH$;by_8zDWb3Mjh zEC+VSk@`Ah2*a-Jua6GzG9Da1b?2h2RlU%UG_`)7)Cq{VoMIZb!7mWhr?5{%r@>@% zqA%sYhvrAnY;I;+YtJA^NVNv`O(E!sJ_C9>K2p|yY8}A^DW`i62{eXrQoTn%aOG{ADDx+ zb)nzg8W^MI>F;lRCW}InkzCNZ19%9wS71Ou`H8S{2H!7$eL2Ryev$1 zP|8b!fP~jnWR&uy6(xz)s#2WTIZeB+lmcx^myp3hE`BL3oGC|=F1Fbcc#snFQ-d1P zs$0mLntcK~$IaO*b7%=@KLc(bwpG%3<=<%d0con=k= zQz5q#Bp;^2{>foKOnpAv9j3|@P8L3m{lH%X-Q<<@uC*fu?AKyXMroG;czFW#m}|xB;NB!IlSZ4Ig(o@$5Q!wUr+INletp2 zC$)=Dt(9B05*oABamzX_%UQsy%Cof`M{Yh3mrTbvRRt;9S7m3ule)ql2j%&-TeSLy%Y>>e2*p6`(LgGfl_Wg%Gw9thD zrM|!&)By8sa+Zk6B80&%1l_W%i^j_fj$Nn`RnB1`QMh)jhWB*|9Se(F?E!|LTShu? z-9z%nX7lP`fzs;3ZFJK(-|(1`Nc)7WeI~tB_E#4wsSDg1vL=dY2EXl2vV>m~(QdBj@-mgg; z@2THiH9QOjIPyR?OsqIPX_y}*T`+V=+x}a~n+G+U)BJ>88-05$nVN75}wEvS5q$&`(@K$m#M zq+Ay^eK|f>u%$)gj%QWSjx2U zm{^#_RN1Ef?eFv!eo6Lwc)cdcp2i{>VjX4x!?YOa^Q^v>Ox^eofu)0@<%3 zB1V{?yaQ(dkVEB|xFw|YO|yJI1$A^w^G*U5nj&u(evXDY}r=l zer{yE9b84usFB z-MjU*1TsehpmAT1t;0B3DP=S><^)!B`$x}d2jks0g@Mi~w?FXEv5s&p*Sj0XnA64E zkBXCDjQBDho1}@69er#*^?8wzvkZ$4FN5 zC?M;;KY?b~aWYDEoH+Hc)TFYTxFqSmkxk@-{SpM~h{- zST|!@x<^IBsUyC8>qp;>3FZZjEO)&Za^B|qqtGbx9p&qO_}$mMCrIv4 z`~yISD8CH~8T7qB8d&p~`(g`*SG*6PZVC;*mbzn@bF@T2qkDmJ&Iu3K)5#bp6!_!?Z*W`D%anoZOM zZ!pZm%38-q$*mluwWY(S7fb_J!Lho)lX0DJn;+{Z=xbJMT6!P_{UmHJ|CytZ z5@8Vuz9BM~wmen&6j@iM#FSa07}@YKp6c!#fy#qo{EtYEb?Vu-D+w{NC zzdj8yAL5KZue7>gRb!`d zB)M?zpT(f?wFfWZim&FMm9OX9t;&i^+g@f=%6kZHUj_Ee?sI2JM=JIU+;AOH?AiFE zf4d5U-qA<7nB7of6>a%$&x*c$N#X&+69$qig8y7+Y+4j}mSjPBG#BgsL1Aqv3_~YI zQ|>p@+qET^RF`*mX6Y9BrHI5{OR*PBXbE;D6a&O;6Z7b1{U&Lo*nviv+$aZ!mKxw% zNcGR;pCN5j;&5M^he!gKneQwTT;|m!-SqkpcFvMJ?JKQ~{vN+0Dn2Cx!eNdNin4X?N2CmhCnH7vkA4=GYU zO;ur7Tk^}rZLRZ;P7LRnB8E<@^-gY^?;qeo0SJ8+1a(V9)#=8$uCDF zeqn9k?;8ibBev^{rhS|EsIy>)c{hG3>jZN1Qi{@zHPlb^3{YGyXQIt@IYAhTFRBk8|cxQ2?9x_X1^*jnj* zlZAdOPL{J}(@?R$RJ~XAc9`zQGYkziBn4j_d_8kk)uz>d=J83lviHjq)`5*e&>e+Q zc(0b!WZuT&<(k`ULe5l>4>42$OAUuXzSBvdBiYh=a#Qbv-tulaUe>_%cnV5NU(NnR zz#GPCNFe|H`?$&G*yc~%%ms#qhU$TVbw?_yuCkRo;nvFyhxL1_DGe{1S^TvC0Y}n> zrvT5|o|c|IeZ)ZTEi@d!0}i%lM@_x!sJiP9_m|rb55^A74i1(NEyN($>mY==+u%Z+ zwq-dW6mgTkdPCq?S8v}2cCjTGCD6RJ(KeHZv-whpjDDc^6~B^Bwf$r7b)mcs754@1 zP++k&uUxEIO+u*n`;HX!CPW`BsnhRRB_5rU*ZmrIH=j7SUV#ywi-0S0(9SzF4t~R< zb^e(O9UyXDlw&(}pV#szKWo7EC;Fv1Lks(JR@&j(4F?;=)2sl`Z;MBH_I>?2S8Eim zi()S-F77_NxbB6zq;ojZ+k4ST71VW_RCXWL)z$UYujpXd$ab)&hfUb7MM zR53`}!DTSt&50;iQAS?mj6$wjAU33o#3fkc|t%{~`S1kkXC-a#k0E6X% zI9%5~oHFPp+$+kKa1 zX9nhc(N3{&;f2~y4Tx2lhqTo7{kr*Ub9MczJKx3_Lpik8pRq2z4BX(J?lFmfw){#7 z2*oy=+lcWOYu+}i;0~XU6lA_~tgtyc!h6C!g;s~v>1(t-O~s}z0n4czi#7HA7Rf#J zeWFpv_G^(DGUKrm5nEZxMie|;70iUl?XT-|fA7PyvHHzj%X_X3@+W-ft#Qg5^>&Zj zyc)c6RS3}6%+h&E@3`866{}pw7^Qs;1qIF2WCh$L$LT2H>Ps&Q6e_4mdH|^ zC{S5T*dBMf_@aC2HD4mYJk!Xgeu(D1zYSY^E3!AEl%IxwL=oNNJc$yJ40@neu$dYP zj2>{EGS|I^_fl!B6C;aNG{09aYp!SJ2nFnf0Fh8#Y5#j2O;rE^qDq8LCsD=it$ff@ zG+m{0@H_cLmBsh-+1fpxGUulitb60+I^yaL%*-8xs*T$Oja#z0X$WXPjicP69qhn0*V?(giob7Igi; zyeTR^1CQexTApGqAOccCEXJn7qxKBg^|6?ET?y}Ff{z4w`LGL7(x zZRB?`-3VLfzsZBITBu%y`M$9S)$w&*@d9*$YQI#VT$H26kHirwIlG~9`IesdvH;?s zDejE0+5V(=&O1UyMIet}uN4*Fh4a1H;*m@@UjqBWa`(xIi=R=LyzHDoUNl9`6N=BR zfXMAy(o(^Dw67yz3s3mC?U}xPrtc}nEiLj~UqY{SGhtZPQ#6fgc)he?W6-Q?d!B@- zD!&sioO(x0IQx!I>oVO>+mlOY`c8UPimGkA6-ssV0~^f~Gh5Ve|Fok*aZF z-hUqlw|xB71T3q0SQqz{Eqoo3x0ybT1Z+(=x-Whz;R7{LX+1gp@J&9vcT{f1@E!hR zX|E7HUP?DiDww;`ATK9QGcK3=e9y;37Vge5quBi%c+vXQ$zd`FzW~vF2HB?625khe z%)8f(ZBVP4v8uVv_xf>!wVuf&LZQ{$ry~2Nfm*yqg^%s%G0nyHD*PcLF>) zv$OU^`fn>%A3ZJOQj*93`yw;EWRRa^Pg8QLQ%+6uY)b9p+`4>qY~s`UmZgHfp6sMR zbQy#@%AIzFQZIh(!mFZ1h>j^Ot>aY}9Zbw{?L0?ZxyE@e8wh787I~Im-01 zyjh@CdI1fazu0uAJ;k-iB}KPuBu+cL^9?Xw+roJakQTVgF338<@RrLD?np6NZl!FN zg!ptzq4Km7dm?RCjUaGq9aDm(bwd1@t)42+0KRf8xG>iKULBSiK;G|nl z_Q3lvphx@P!{wnU#rdHHd*OX7@V)@PvZAgIPhdv@!qMSU>+o7Y*QcYf1q4yjklgb{ z>yqN);y*R2_I5pE2b)Np_jyW!(LtF(buPM~1j1RWQJ+ald!Z8zmju;ZU5oXT^1AWz zMzUUMRD*lB2eN!;QolOCBO$c>wo_U;8TYqz`=^~!GYibqyFv|*1!|`9laERdE2W!z z*8^%%jz4P;ZzI#%Fk=D$JJ-59mn`5(W%$AljgvFFxk20+8K@_vu?L`32uEL)XOh8Z zY$j)UyPXdXM&?k%tm>kOT{Ok(qzuTqSY*Fug%R@;=i8pctm$!;3xgj=epfLL1dbb= z6Ug`894ZqSjVaopylwe=iaL76OU!pylaKHLS3U>PFhvPJPusEHK?~o*%kkXauR_m% zzT<9I$WWx>f;s46vZ8s_TXe`CnrUY9quho5ja28^66hHiY0h%Mtn}IX{Y{*XxDK-j z;euwkg5T>vu*1d&Qfdj@T!@-?&H!$1DH^pqyVfng48^UZZwGA-+v{w6C1(w|aQ^M6 z?<_O->psZbIdL$t%C3`PcKLz4vl*af*8f7|tcomZ=IC#J1C;e_H5>-!G0W<|M@031 z%nk}f^=OcX9IWilv)uy$p1$v!#nC|6a;d5p57IXDC#Pb1d{RL+Jufz^Q=j$laKGVj z=aReL47#PTZQhPY-?G2zaoSLz*`+ncL)BSm?*sypRyX zVYc|c#vhdquo^bkAx$+Bk;di%0Yfd}d9724So$0ki1Jt@%78WB;^nWH% z|4Vgt!(i|1>CFaDy}@pX7@4Ak7^ow_EX`7y2Ygj!3WV`LSx-^yn@_-1 z=%ti866E@fA`mM8q=9yu9Zxh<1SFrNvYsO#GLNLgDE0a8kJx*kq%RHT^G=KGyn+sO z0lNB+k~$%+O;hLlw2DEdjX4z)TFDb56-*}!rvmY2{1EkGZP9i%{`AR+=*DD#XM2=lj6*)ZmtFv+aH)L*l3@- z28ys->XaP?JR7>LR-ifxODRqvH6Y%Zb4fy>v_Lt8?^>WlfpewD~3-&?`AC7 z6~x{JJ=xuzz~?r96pp0`Q|xcE#pH51EJUbX zcaW(p{KO_G@q*Zn^KN%E+foK#ZS3Ut&8s7$qV=8CryZ>8yiA{p)GGa2+NT>M{18!8 zttr`-Dc1hoZ42_db+>t8*_~1F});_~tP&a=Hj_Q*iVkMtUkroHo-L^Qg5R z0q-|z`#wxXABnQIq2b`L+-Pkna+;TKGV;ws8_px11L{}gI~IdOolcc}wBG@c&_GeT zJI#}^*<`oq&thyyb00U+kIN0()eOwv?qY}NH6Z#JyS2JYQW>B*)S)AgW?ESEgv3$d zDL3P<+Shb|w%M-s()gzX&z@%88{cbAvF&DTp2}%Xk9tErV+mdvLQVe_@VJYTSL+(t zx6CRF(7QliLo(`GDF--^$hcTuZ^SpG#4nJtHv*pYS%@r-p&i@DW9>o#6CA~iyd+nS z-ZRxmmb8vZJz4RKF-?}@G8)uTh}$$Ss(=%*7JS-R7Yaq}Bb3+7v;?0(K}v*6gI%(3 zV2^WXMF6v~BE#slpW2=f=|~nE6aR&#*BSHGH#T^w+6tCk#mVF(g2WID39-9j)8f0G zM~xJ*h#nN^MP8*>%5Qaqwwvd{XIrk?-wk_fjTq%QrQ%`{|B-qjgI+Uymt6>W+4^3| z6j1BB@-Y2!8gP?M8)O?!*$#d=d#10Js0VKb9;A%6D|=GQ6t3-^@N6kYDj#@T%uxi# z#&6l|>|1=HS^sDBKCUAqBJmA6EmOOz?@P2ai@HV~)6ig6Who~q$>z#>dAsyli$ZPU zAnOLa*CNrZGM0`sU!B-AEcCTXM+G`3GHk!WRLiN?aO^>pw`Kv;jrX|EOx~lXHu&|?CEculDMk*K&svQ!^WoteVWu0tF z0^dcM*G=)C4!Oex2%oMzL#4Ilhn=J7DdwxO59>g=QYbzs#Ph)mn-(MzGW@drwM@H< zqNMu+<>Y!-Dlvc|vUjdnYwUXU0EK>c+xgrRgm8j;I&UU z!CY|S!_+Z>Wt6y-vNU7ObzGLb4aMV<$0MaxN;(^(2_SiqBZ6o;nS*2X%LhYxnd)l+ zm`Ca=-g{bMsIBL7ZvA0o7^LF_G@WU?){HD2)MhnHo9E9>qIC?b`QYQeJNP=F&+|UO zAdJzCSUuR@=?)U)mXb@%b&2P$N++fIyyDd>?U$=l(EC&cY1GmakIYejoaHj8|wCbJz7IiPkahL!q9Yp585Llm13jJui)o9h}DtQ;|cqTJ2=rbUpA0N4D_D417YkVH|b>2EhB5({N zEsmO-&A(W)^F>>-b~kFE18^Q{wF5F*!V+Ub3RRjC&}swFJ4sr%2SO{{b~yxRsCq^*TZ`Y<4w%ti!jNZouln z?o40cYU|30VK?(BZrAii;0IPa8x7vsT0@(=GcUB$r*zPZL!S1~G}nRM{fGL6pwMvr zR5Fsp|Gd?4mLyIv44`AnbsJtD5hJUqu8c|yd;!60@4Tl%n{=nfP2x|ZJ06gK^Z8MX zVjzyhQDhV1<~FnGNv}sS9%V2w&MEPN-R&(_18^Ni%k_GfWs^zh0#nW4GO+bp&mHRl zxu0E^NAs?&KZd;NF&THta(#fY&N^lLyphNF6A6|*l@D&2eJ<{U^wtJRR% zCHzK|aC!m7-8xZ{TdBv$1?!0!%zGvWNe+NgxlJY{Aqke>l9eo*EnJl4KT2igF0ADP z2Z47%uVcOnBk*oCC5w-CnBYcBi&ao#Mf@9_P(T5O{wn0hXMgryr%?uySHPPg*VuV} z-Il$#goN0SIEFXO_|5efis(~D7qBkIjkyB6vu}Kx zoyVD{5=P>l1u`-nB~??M@fQEkzF69+;T*mYJcK#>q&} zvWr({FoZ2)$931HcMx%K%cbYDa{L?l7FgYm7ShQS|qBjZIcn z&iYP`0ajIe$H&{Nuj`(?_q_WSmHgVlKWgggGUD0(vZp=$9TN8cmVHFiVGw%EMXyun zy9(eD`wL$_Pgp#ZCXijsS84@q;f1yA6>?vEyYM=1UVa9I{+>C`9bK`oHD1b%;^f~u z9EtPJ84UFI1u!pzOgZWIr1_(qaXmt!T>WKk}4Uhp{|71%nQ=js+%)TDd=>&~D@@eCyz$Wzy&S zl_=!Jq^fD*+xe=Zl~Cz3s9D}wwebTeK_#H3)!oGiKVw`khYKJ%=8zISm$sXYjVsCO z+ZuI!<}t@hS?`26w*_8`-iocKYjRaj#9O%<`F+fA)t@%m86IRGerRN+67HYJGO4lK zq=*{?Uj1ugL2LWn8=N1~*uVc>I`VAavo zNs%uB{eU-w8e?dx-WU0$U#ZV2MdW#PvMHu@=z-$8iBfb(0qD(_!TC=oV+rHR&+K7+ z-%Y<0+;?1-`u(>s=y^xzx#H^#dzr6l8o}wXT(emm#dctAhrb-g9>68_X^|Nk_ZW{@+`Y zHxACObNLs3&Yct=9$`!$mhcH4Azpi~=JpW(?l;CZ5i;DNh>HMzzp8dto2`R9It+LE z*iY(?M1|D9Z!aD-0cZmmJ;>a4B&Ts{F4}H=jr5OaydcMO$hu|@o@x{yc2o2D*fXc~ zgh*U`uU1yz6BYk?Xac1&f6~O!*^H+ck3-jQus5WyBh1gajXLE~+SKlR=;0B{s;ZyJ zcahulP2ju5t>z~`b|uPtdcK@cq2CE7{g0TPU;GZZ`bh*QyLq!Mt~|kzcI(2&4_8a< z6K)DOaaM}B^CJ+b<_e^qd29oza(yR|qs)7rtCU9SHEv#x0w2VA_ixveL|vWhWev6G zb>xNl4ZV2}u_CVw`7uA8)%&f|PQv7Y5pH*rzIXDaYErSx}+SnQC6J@AIg+2ifnd9iwwTZUED z3mccd_-Dh-vP;K!JGIz%NQnQltMCtmar4=Pe=dG%eZ73=X8QDPN(Ar0Y;sQk&esCj z+)v-AKR!Aev8)9)atNK(xnXL1u#71HpD#sU$NY=N@zeM$>eaW-s^EZlcz-4BPWFVdC*~>B-6}@kNb9kQ(Zi#wtSDp1S4uJK)m?YIsv%%H+8u${Ko5%=pJu%+AP^4x5`%;vzQv|H%riv(hldGYVp2)1J8?M67g9DEdQzh0lc_ zf4&NRG{y4Mv7%91e4`Km^Q0Z(YccmeYCIsBu7*zP?}JTR;r zgRh`B=K8#!;-C~D&|_ab_m^ZwR0zK_0?8yW+N_Py(9ybeu;SMm z4Vt`~b>;o;!A&a3$?(D-C-P%3-LTT+eN_YD`Ae3h$FinJr`(k)-rGp_tMzoRv-YHl zDv~^P@M1ipbgS_E_$B32B~Sa}*OcS@j!VB!Ep)>ayLnVN@`sa{=>77`FCz_kwYzT&F(}iqe?6lpB$@Pl2e*iC+4J&F*3WCfI ztAqE6b1LRDu%w$RL8=7@#v0M=N|Ds!+fm;^!zbd6QMecMoakW{y(lYi|3$eld}%zZ zmce`#V-^PK$Kz(*(6Nb!PQtTF4I=DJstgydSS}*=Jx9yrRa&o>e{h#)StR95vfx?# za}{e(&5yT!QMS^{gTz?ys_Mg@sE(n&Axu19WzR3hXiGT8Q#}MUg`H+y+*;UkG9gQH z%I8h&GIUOAG8}8O4-(z|Ra@I2GI9tJI!u$7Plsf1%d>p0@SD?F2X-JjlTvRlSEu_f zNOIXzzTBuI_qVGEa4Y{QrCE=6lq^C{9_s4!nOt+ri;Mvz0bz#);- zqnlI84B}vye3V<-={?K*$S{LX(0K26`JV~?W=*nsY{)~Qa9YbeMXAY+&Rtb#6pKCT!lNfreFa7jW-n?w+W_|YmH@I)!X^0`i*xTFNeuNt9R#Z}Y_-gp; zgpJ4XCZ(0Nb+zu}#XS!dEv=A~S%12`yu8U$`;fk6NmEm>L5mM|?eEf=$6~0So>0)H zkdV;u??Zx^lFy$z4X^geMf|Vy8eN}Vjk{f6UG9}nX9&Ch`t|E0&AfN!%F4ua8=HfeAgp`{sj?d>)H|M_{lNaMEvBaIy#) z-+tTQHAVEwj|>W$n`todX*I+T(o+;+#1*LZp@I$W1?!WWmW_?o@oMWa4~0sd(mJmr zwyUGotFhB={|nh80b?^WM!T6N?2wLt?QOdw)TQ|K>UHPFNJ)j~fjRHp2c6cTW7q2i zS>{JA$-)aC2-9&ONk?<-H9qjEk1p9FXWEZxXG^7I$ai%!MQVQi(ujnz+mPfSA|1>w z+3?sQKbvX@w~IMEY{8St9Fje1kKfSSva9u?e9=lFbT2AYUy;%a+qJaV0=8ZH!(_6E z@J|?G{ORk-mB|w=CBF-*$j~1u?%1VI_#bh*wIA3l`6RxiO%*@S;yQdmlt$n1^ud6S>eHY!K zaYhUmVJEEZQx;ji!Ph6(S9DwkO@+}{MCDJQxnU>4!L)^;bF zRy4dL1ivJP+%V)|b#QTWqH-~3Sdw(ldjW{$+Wesjfy#Ntfyj4!K(>+Qr6-`vfX@Yi zD0(c&lu$$+FYr?i>nZ=RuV*4V1VQh$ z?kcawBXp6PeDGP!Y*$9C^}VWH0`f<%NowX&f2ax%Z*Eu$Jrw49vDaSXsBJ|!k3 z%$@JFYRTG%A+!M{zM#7}2Zr#B0Ae!~nFZ!k4380CND-i$?#G9pJB26(gxjii_2<1?Tx;Z?$&BSm^eYVfC}vm?~Vdd9+KL0+EmV5X>5A;~vY zpW~z?vMs{wh_S^khgMRVT5E^3MHl!mU`fr**W78S;5cn`pY+EuT#zaa*&N=m3?V^K zl+svgCHYLI)$$XF+g^O%33?>K*Cnh|bM(G;@#YgR#!1Y|XGiLrl{cE zOSuLFRxadKT385+QUS(fZCskgr(=$~0$ZDE0?7%<9XL`vneKPQsg~y71t&4nc_WbQ&>SXb2q#TA&@Ss?V(SL8ahvI6~FrUTUZb!@UeKUma1X$Ntg_ z*L!K9N()y2;i}bac#r3L(u(1&A}*ZaDs+~rA}K|@0r-bWZkop?&=Oe~ZF$g|ge9+A zYxhzrHPnlN#rJeRWU&z*zDm0DT>4qXk2V|0v^Kh-&V#TqLhw|lcT`l=%PeOudPN^i zZaj6LEol;Vc6N1pa_~T>1z9;e2_UA`>p!bmBfnT?0#D1aLRzn{8qZo}sz~+}6iTC_ zqcvq0!pZ|Esvpn9V8vbW4ojkO6DfX<7*(4HL2=6{6(UsZWr_b$`K~h1<+%79#**(J9tUSg3M&dN(JXCm{lk9^r4fDH zp6U@DMz0vzLIiH>lsq?Se)erR_A%5TY?V}>r8tnXzWkT}tRk~6q&)${HXJYF@8elA$Z`pG6>14e=EpAo1v4A0c6h#78O_8h| zVv;X>Nvn;&X#b9sR0lD26x5;!%n8aob}CDT_7J_Jk5ZE({U?53(D#d1t4E3vXUj*b z5Q7J#V~J{)S655oUPNM~V_&cF5Ds@%sqA?_hH5C{!36~cPl0h{!zxTEAmrKE*)T$z zLGA|uVjXZFBDEC8`Q%8TguFaIDcO0cuuc+M#|$0mX96O|lZ7mb{^R`671_^;ZkyxW zuArinVjth7rrr0`@j!%xnj`jteE!@Xn7e z6{07Xz7!F^_v%Q;lQ{98y8HnwLe%E44WW%^alC`{kX)C}@O0cg9_c_ig=Sf{(AfmV zGNAz(ZvxvtURwbVewWaq6VmQ~8se`qwn(HZ%hCJfZi09)cBiS#IN`iJ$NQbEV%GN1 zSD1<%Wlx}AZ_J?=P-t~JYb#*vc-KML;zgrdxC-Ma`OVn4Zuc{iLDu#piae%KYHxKI z@s1#n=+GQ3iBn|Mu16_S_4vEu2?k*A+Dnot^ zgpx^jap4JS#Vir8z25VKao~5k<>Z2>3FA6-^cglot6MLI9(D;?G1OcFBNR8Pq$&j8 zjAKbmaY5gQAvA#&k<6sD(lJq#yAZNZt_~H}&h9E=#OVaDv>l2_BQtafb=vWcI zS`;rvh5pG>kBlYG>5{g*kxQ%J;aZ$fuj1xMRs-G5M?&1WVXK7CH`47}o|~9_YQTPT zs$haw3CO47N5D8tVp9M_N}AWA)w*EKFq4Jlwt%9a38~X>%0F!~8O|7wb7os`?J5){ zoREebhVWLHXPh&SqQ)+Y;h|R2{cbBDN&h%=p%6d^(a9>;G7OO5jq7vHE6iav29t-pZPJu`Rw2+2VM5I2VFUUpoUlxlA> zd_qL0%h0Hn@5cFi8DQzadUAtLMT3Fy%1g$Zu8v2sk7cje>fWq z3ySRu`0wu8DZ5i}Udn83^i+9U^dd%{-b;4gyK>e0>A-!YV=SOWA4QzNMZQDJC8LXC z+15l$A6g0s=E9F5K|7k}tLxoyfPnA{qYty@*EO$VRrqNi1#w{9y3p-Ha9ijTY(mCT@W*iK38T`LrifyUqThSu+z=LzCaAH0b*2OE^7U?2j^vr z{|km74uStxlY1qEm5d?9!aJjA&{W zUs%yR^y}0Yf?K9Ie!{iY=bI|L(~=|&YN#R=E?XJ(G(wey9L$Kp?`1;>gzzxu*6r_! z*lmR{(3@rd=QRkPQMyi7wew9)onr~&e6dSQ>0baap8c=*VY+m%Kw!^^KE(aPC#dJo ziFc*)MMi(+S?kfO6huQCab%HW$UBm7iKYwIsYJ@%NizQ-I>~lC0ET6KnE;f7*z`k` zhWuO7lxi`du0uk`mG>;BAu-(%-?(s`29o4WfyGBU;wV{^%AUWBA;(Oh7{+u&oy zsax{+Gh2S(hRqv!$jFYC?;egi zE}}`2VcimRWk;)>&i5bBa%p_?mAXHiG{6no;O^PWFX_0pIASrdhS zxw6ubUojGjvgZdMt?|HJK0<~?c8%HgxmqQqTFJX<`@j$NeXe^>+Q;D`sMl;`(42^! z>L+tW&G-V)>a5J5SfjST+4x^H*6d1P%dV?&|0;AU9t9=E&~`?oKux6`!Pqg$3sXSU8(mv}3cW|87RZcrYeZIlbvf^#KPd(h z1Fq-#d0O+;58>i6*z^Ix|G7_?(Qaw_=o{s$vzFso%Tvf7hNPK;^$A zt11Q$IaRq1O>yBj_0C@EE8**~ojYuYh`=oYQTL0fN7ooImnHlNe5gsYRjh99Ng-A1I(O8TEHz-_Jl%$rtaf(x3H=LiAmBg237sltQq(cZF% zZ&IJrj~QyQW7Mr2P%+)eItjQyDp1+!oKFjAvEd85%wOnmPh&;8@qT+P@aQI^qb#?3 zQ;NYhPOB77Z-(=JqnQ2Ib_Jw&qil-3ZHs2g?4|ZG9J-39fg&ot6Va zxFU;yKR2(d;{)k)8T`glUIe!Z=3gc-1vPQrGMTqQW3>^hB_Xx~`|x}Sn+nLy&x71E z*)Y3k_9kKngka33oJ(|_T0+XApvf@yo=9Cb#~H9jE{RJBdj_!fS<$Ijp)7gMh{(!wklgVj7TKBDUymOFdHf zc$q*h;YkHp*m4QaHA_>6{z5_NP6!vh*~~o-fYN&*>8Eq|6Ie@b2S13=+9Xy(B^oFS ze}JN%CcQSA74M-Vw^_vP^=6T8fBeID(N0OSe%}Bu#9+2&z2TGtqf=2NTCIWQrZfwR zZCj*^N^;sQf-tIp2ELan%OXmx{>F3|t+(YaHSnK(8A9vNj=n$k(2<*aDVqo6>ic~6 z9Hb{Ta}%tMOa8-UGh3)I164h@C!LlIl_h)>NIsb?5c*5+xez`3N?h^sxbD6~3%#wB z33p^7K+f$60OGhQhyZa!2!U*WzT4=g37w5)!oyAoZk#AE{FpNqV7sFFeZD<_U!7Fx@JkPDAE?S5-QdcAJxfJGE44EUJtxCV4b9}y z@8%tr3F%Y<3Fk}EwyV20`*|4&^+uS7l)TSDSX!=eh+yx)YEQ{IwhEroo0Z-3sYEl} zO`}DAFXenGTV$JNdN|>br{U=%_@1wCCo7k%R1Oa#VN}WQ61imgnO58lod_o?e)|M2 z?Px;6@K~fkJV~ZB>|3J9o`HcZw>B(d{C$wxa>_pAmZy0obh7hAlnDkpSRh;%SK_^E zePW?-?z0?x&jxELK}W7b`XAy{U>IRZW1dU1YzdK@HM3iguR3XToUa$T_|=xS-&+y| zjYx!I%O$5rr>D=u*$<-R7D<#PS7h1%n$dkRPMm&oO*<_)sE)Jb@%<9YOKzDcg`?#^ zbwriV{fAS?ayR<+<6J~QRGqNOCRKGv9OyI>^O~D z)i6!HZl;pKC81(hsIxbLMTAPKr8?=ti9TKII6tJfMV=efqH()l%x@p{RE1`=l*__( zs6WjZhLQSv;ZvEY4SQJpj7*&#OHdOkyUG5suyL<4giu+o^QXyzNCyd4Ut6b5^(x-z zM~!5sT>7;BmPP>7S`DO1>p(^zC1-(P_2?H}2>Eh6ltS=~{4O0p;usm`+ax4MFL(6_ z&_uzeRjr0(jVSxVjq7N|eG61xRH;RU20j$;T4##fL9_v}Fv_L+rhX8lscm^zaCska-)5N{Ik7A5 zOf%+do3?3Fennc$+GlB z|J2n!fT#O_r*N1Js6+}%U^-vzHu3+$1~ z=BNtk9&j~F_PxO@$m~TY@bx~q*^{GwmxUl(RIKM$pM1B0r7S+UIyZA?4rSo*;UlsN zb9SQl2dX;oAje)WQ|AZp1@5bEa%PjQ;l&xYTsWG8NbVo#D5d;?aSxwD%_|XR!1A5{ zVOpC+O>|a`lJ9F{zec{2U`9fD$*OM=5`=|WDRlPoXfT*&S}XlWxN&G3x)?#r=;Nyl!ePmCBCZva*cwtws6lVU-6xP< z-O1GB2KBE{MY+WTroOh}u8wshj8uK(8E9N{GgIoJ4 zawh>?D@+P4&&7OE3`p+!tssZqgx4_Iz_p8J{h}ynqrVD>js=gD=ErQukT!N*#w5Ol zWRDG&B}^A+Vo?(*Dd*IZ&5~*6dF`V4CaQ_it@=aPu#)ZM`st_3tE0{u1;K4w$utvb zplx1BXFXA|JO;-SHk9ur$4B)sVL|9Ix#nV^(B6qO%t@V8XID_7LQAnATI>3G1j z>sl;=g{Ut95@YAKOSV8jE-+MG1@^#)W`|l4Olr-&p@|czG=hETT?%9kLtfJi`7gPH zI1;LNFA2XcuB^xG!GvgHPWM<-+F3f8$V(7%pXK>z6RRF2`s+|vf=XsQ@vU29q~t1m zIIH)63b^J3hPrFAcXvJFuGH`y*k3AL1h1_SA*I*C`^d^)Ms_M!|Go=CY8s8~`5am6 zr;&ve?v;nEVA|JjQ|B2M{&g9t;wBhBdfF(Qhz;e?(EtT7m{t#6>GdPwL)WcbR$a3t zakP^c+Ephb@Wnq}7TY~XH!>9aqV=cz^tyHVkK4m2)oo%ltJ;M@j9C};y_Ae_VJDx# z3cXRM#!F;`F#zMxe_nJW`B3lZ&|HVE?9Hq9(sdX2A-Y}6u{t1!$9Kt)49AT0;+$xR zIQG1g*3#=%DGUmWG(H`N`?}0!_4)UU;N7E145rt>;1oFNr}$3Gny_vP)wJZh9mKQc zedXuS#D30P*0V7~c7-;pJ=7h5v18W+3wic>pP;fDg?C@ox7OXa8Yd=${Gm-AyJN;a=!nYO@f=LJ zBOC5RZ#O0i1naqUre~i9YWdP?)R}?gh+xRko$7<9>|EKvyT)qTvVG7v@`2IS7WJlJ z%p7;>2;pK-EI;vXKL%NQ;?B9OVQEr~7Ztu5`(CDh!ss~B>M4F5fzN5*lZ}NWd4~s@i1{Ina_mpE<{QepszVBPH z3B4byjzhwGZu06S{;y~E4rA`-JZxJ|75O2rr`t%{wPo@vT=vhkdUoY zgzMI(zjn+%?dOLd`*10|1DH!ClxQ4EsRfRE$VXcS@3mwSG~X?y$j}3VTu`_J5v7B*%(!h*9|n$vZT9{n*a#;^X{z@#93Av z0yI&OdUA&9CqKqRPe4w1I}M2@tn%f2r4mrv)NNG=szedDPrNyD70`Vc*)6(!{aat+ z_tV{~etxGd6H14|o?49bSFMUm2LLZ4KS@JaAAhQ% zDO|gIR{CaW>)a3LT>#Sp__Q3=RW)>mHfPM^&`1RH*r0N)6$R!i@$5!H7bh)U{%q)8 zZ?a5{oXp!5g`i}3ZHiis1{LToIq)phd3~=+_CL8~#GneGaZKitXE4x5Q z!&)DsCdc%T%dTH^szU&*8?oUstm96e#%x^-GVTlT9kEuj#j7s4Ca>|}>}^$7t0fa9 zgdXg|Sh0Row)}qK8io@ppk%oPVZ~6~?|SeyofN1h*gw=y6~%LbM~(*FtWjB_YGdNg zNlJ#-HeAvA{lOLvj3QT0>6bXM`fu<7=fAvf&`-QQcc+6k3VzCuF45o16ub7GI6J&{ zr*|4i$N^wgAykMFo%6fPLc+bh%XGR>-qDS-0B_f}38J~=^UCzA`rmg%>oYT5T0jjIx@miL;4Pe?D@~bE5h6 zxqS4XwSRche?0AR=$%J=l&}c@$5EI-IfOZuH$QA1cqYo=R=s6S74Z8<(aQiyo0ebC zauv@x?)&{XvQ>Hn&A}_mK`i8=1tMh*_L(QoESTr)JaWhHSo~m*)E^A+JiizfPcO|^ zHl6cP#VH@^0^oq3cWxmz6JY32mFCgn(%4BZApj`6{Os@Mr2cTbGjYyS35+4s@6aex z%=jgg_7TQ7uGNrOyusaap&P)4lZL-#ztsPD?e0|n;CyjW;N`sYtHIMT@!#}Oh5@5# zDG!xf!-jgWQ_*f&ekD)`QPF(OUem0;sXe2^d4EOQ{`|gm8Ke5%Af{#1xbB0UM<;_J zV__)AqpHR`A=3|)ZD~KGdKECF)&C zerozdf@kQr00Hxmh943KPs=vFSnwVs1gFc254HpFi|Plx!0pGxAKWmix;m}t-W41$ z=_zv+TdPi#`>@^g<(5Xp~{E6jt8BuiC4L z7C;eSj(s!OrOqi(Cj%^D!YX_Uz5BqbZF#gs7K`5R|NL5okr%)UVb4qA)D@aVOM021f0d2oPT6T_)-)i?m($q7yS)m0*>4bWEPw-hG9HgjqLFePM zQE_W83@umA%|C-rz1Tco018dc=}kPpPCIv~B>DIjbSs?|7r?#rfioEcKxq3<@w8#0 zYT*EYlOj@jOSrG&XWV3 z+<8Em_SP&?>wM?14Mc4^3V)PkTrzSHaQCC$Srn3%A*~&9FR;$@U~q?Q`rLi*O&B>U zDuJPn;^6ep^^73PThfXH=exR%;5+ItIQLkIUnySg$n zh}T3*IhiIi)2c3fus!au8uI3#;8DJByf#BD>cQnZ1sAY6^NDg;+@Y?nyv&~fX zYHCrOnxOqA2uuD=KpDEX4nMBED1b<+G<=BCPY>=a#lIm|b2|98BAJ(XXXd%;GMS5T ze*J#p1L6GnYdL#yKpF7;Cv$dX0SBI>HmvwYf3~OaSV&3Uf6+nW8c6{z3F2ee>0X4b21*j+QTbfjiNsTPkZN#E^Sb9W}RK7V?+S zg4p>Az4!AE0<;#OA<9CahpGekJ1N-PR_Gs!geiuS>aLCk^+@NGj7_(dizeoGM3R=Tz{QJT2u!76N`xde`uBO($3L&>&_Su9 zCex5~%54BfOo*r0VvG=Q*>jnC4;*0$h{%-`p0H0}G8=K+y`Rjj6heq*ZryY0Tk95$|b4LX|x%CVA zA1{0xO8l^xTYBSy0WdD2o8KI~Y9r{CrZD+Ku}AljN#Lh~N}>U8|2Drr>Ykg~Xk(7P zi>RYPP}R}kzML^BkeaQWSsb`-dOZ{o4g4_kq8)V0w90{@e}Xn#O>CC&e^+PbpO(5B zVY^|=E7N1!=GTkg@|@h+)S?)AThwqh;R^(Vm1H0VepY{_{juu8jV!Z3`up~O? z%Ss9O*@aeJG3Z9fythPP0EPl87d>|ogP$Al7MZsV!w^>@3GuYi0o=r*-ru;}QG&_G0tyTXyM=j&>k zHXIH+diOCJ6Cxx5BGdhVSYX>OxtsnBN;CGj%>S5#E9ceq=X*JTGK(#pS$uPWY(JRF z@ZI&gS(y3OW_>~tmZOBiv`hdpcRx>lLJBqHxT=EPP+xIJ+fvW1E=tg0>PiU|UZ~ey zYR?Qvz!+FAVs1Cz*I}d2MHirhx zCCLcNF=r5Hb$xb!{SpW91Z8a773ON4J6uxI6o7F0jxY^!r-8_v|2B;eYa1niizNg)S+`VaIeMs3QaF=hYHDY4V>Jd#EVGh3T57$d?dQu)U3 zY9Uw!%6#eZ<&5)Bg#?`aP5^tqrrI>@LF_U>X&GDA67r zh3EZ&g-5j)V@)_7IOtQq|BClCQa93R*)_5k)zqTM&HB*#b&MegKBbRgjE;;chKX4> zmU#19wQI+tW!NN#V6YlU<8SpH8UqCC+^%FfQ{YY!i&T}WDQ2C8KfZ@TlW=FQpaKVr z#;s@d5UzKD(dmGS*mVqP0D=N=S>P5_6;b}dsF&a-yIMCgVj{77E>^1>@m(zrOSLuB zf5sO7;XVEUtjqqz@)-Y%ZC%M?`cmo_%<4v;`5C}ar%02fJhkOIpWG?d6Pm$T==$4# zP+6bD>gY%F>E1{q;0Dz{7 z6Mbp4VNsAUkoy-~Lj#ytP_I`mP(J3Z0ADO|JaJ%c00md^q{K1>|Gw`o&q__{J$&@d z48dwfZFs#&GF5%wVPv%JPvKqDWFFv#pCP@3?r(3SZ3F%*`i(u`mlsjbhomO!s`EBj zsud5S)Qfq7s`_7SBq(=eCyu*_pm&)R!-4lpMJKXGTUWRV#Y4=7x^}R(;1|YLHQoK~ zd$Bclb>kC(FT8mb@RjmhpR#RP^K<9gN|(rYd zyZ~B47<`TOFWvQqyOJj6y>%V}IFi}sq=w$KdTy{`Ogg!bSs23#NEmvPye*EBdA`wE z0aC)>I0b+M+5Q1|W~G^hGmAczgR*p}1fM}uSr^RrB zAMBu%H-F0TLqO-H>Z`md@(LcA=5h$g>(@ZaRH^zmguZDVJ!2$6tRM-XSPB(3Aty_qocz6 zcT1Z!KZL@z1mueJ{w6DTfy^iFhD^L^a1&`}(wf#Y`nmZg8O+?H2Hji|oVq`j)jqRvXE&Y2lo_+S2nB=LXzNso4n+7Lc`Irx+nJj39Vz5XK+ z{+#tJ+M^t!vwyu#8|Y|+r*kW0&J-!4Ae}`4c3!abZ=6?g?&bFCvnQu(jbmq-l_Xkq z#4LFYe^C{JkFC>@Ji1PK^ML#p5QCKt*OE-Z4YKo2UR9OJv3XGq29wRcUkuM)f%20g zZgLQy7=sFAwF0uI&%gY}1Aqh+L$Ftb@9Aw#jP{F4Ro$4qdbh&kO~!0u)DO$0_(sA| z?-f0NR;_1DRw;GR&kpxZ1Xp3Xy8PY*o-}5dA0`+l$MA znstIiQ5^hDv>u$z4x;sUx~rr1jjB5}#>D%s^npBzTkpHoxO0}%WhKGb*Ao$u3}5Ov zXnQ!pw2e`_ZLv^*0x!1XhL>rjsFEWs7^(SrJSg|s@*m*sLkm3P`%mA+Ze<+!4%?3G z=35!+6_)SOYRZY-&^q=7|1{{CQhuEW-faFA*ltfj>eCP9Z#;kH>&?NLx#;_F zmF+n{1Or|yJmGsu-p7V3Z98hc!LBolWgz`P;sE(aioiwJjsw5z{-8FI<~_c@Z)CB= zkA_Hbu9-I@JLM)8S2p#ebRy4Ma@F~m1%EG^uUEz9cRk~NV4IUN3YY%gGA3-LgafZw z*n{S7`doU9)CX0i;LZ*YjI-9N%Q648bD{x{W}taaH}>#17~Xc%Mg8S5>6mHwFLUZ& z13HpPtX#rVyq-Xj^C;?71dt+WUvbwNyzZE`3_6%#AGZV28i(P%L(-;)1#U)t)9m#j;BXvfWfTdp#j9?6Pv6K5 zYRR+)uHOkXVyt;Xf8!>$`8voJ$rc;hodMMX0)TK zXS;7`7@F6bnN6-fL0M07^BzH)22Zq%M=+@fd?!DO%~*zZu>I?AVjaFO9)GO=qy>7) zqHlxm`yu*s5c$)i$l@GkZ0%!~)rx|0G@!TRCV{4{d;58D0|Q7HyH@8_$HYtK&n#S~ z5P@2A>$FBd8YU$2)|aEw(VQHJ$lnG+ zY>V$44}tca1Srso^jlu|!LQR#vckI9*l5xp9E9iL9$4KOS-IKluZmGw(_;V<;Da{S zXEn|fZY0=qG`MCh+ah?!o$7iDu<|y3s#p5}S+TLFYQEFoWd7SGM)%H0oaKVA0wrPX z{$=&6QpNNm<*mqlx<)%!0@-_NAg{l!FNl4?Yhc(~=D3I)84A4O0JYNN;KxUP(XH3S z$L8)N8ALpHC09Nl!9%W*!n)FI$^khcN5va=fQ-Z`29p2l>2bO6+~?1jQ&aS*L74O8 zNXcPJ{u^FT?#BJcI>-c71w7>8+5u2D$^@TjiX?Y{b66`vUUE0~^B+6m>#4L=&Bo@o8{XH7)p zC}!@NW=H0E5Go5HDCot3ohcUY_LYce@@ek7P$2(q$@mMo&WHD{Kev663^4=N4*!zw zzD^2N|_M9o*QgC9H~# zZA*ca?CiFs?fmkQYvv^MC+Pva;R&f*pdriIv=JVQ)(Nlp+=VpXkB&nPK{eec?YcKJX8>lb)D* z45lZg`ug4maVeqSnJX>{>`*E*6u9-EV$BCKF&G>Ew1k4qhyA8=6*O7R>>O!HIljJ3 z|HL=AVSyFdpkjcaunhnT+oR=$2Kz_FVPh3wAy`C1WY=>)u%Eqj6_Gnd?mGh+42-w7 z>VyVL%)U!=ZwtL8eX^F0_kX(bKE7=E2LCqA&2LweSPu)VMk7dE`@%vZhv}HsEFvvf zB^vQY54K9RZFR2p97W`kt1ri&fk;#be2<_lGKZ&{zk2=_n&&?O4mAl8`{eG9zY2td zPS+G(BJT)VX2A-%ySyb@VTvug`-PaXpZQrnERSG($DQGmbA#7=lL;zN}Gq2?<(oC>Zp$tPrHW<;&HRK zfU8cq`rZ7lz`4&?-+!U?14EJfyu9@xoOHU@L`Asmlo(-oxgH6_v%rZopsBq~JNv-(~V6k^ZMu*)NXata2C%R>%O%bWA;Okr9Ke;4&QD%)8LFknLx}VI*8dIq+_K$UkX7!;v z`^l=%Vz5l+Gxm_JLa)sYYHE&uvO5vBVj-s`uaaCMCmAq^qnR>ZItfb1y(O1Q$61i_ zU>+kO)~{MtUuuT{cKHnGY6aqLUw*a zDC*buuuXreD_+S;lIRZbud+Dyx}lqmKjfqXZ%)9sbFp1H{2s5#&rCbOj@>&~!cxA- zK_VmICVKpaQZJ5pD@;!lQ>SG>zfuMXB@;b!|7}C96FEid{Tp`+&+vEu>$rQ}B}&&H z86^*A9WYRVZBY5jOXkNI*TtX@nXp2u!Ah9*dm|T3rzU;%^(DJ;+^rut#M`+pi^ECP z6aoi!e0xml@1kyt83WRr$tw&{K!}1*;%5o*@f>Hkxd{zLD$0!k5QB4rfTZw%B8rkt z_w(m^=yB5&Z)gO7@|$r;a{axb2~)E<@NE)74~&@)2Agfv)Cd1Soxx7XZ*G`DB&SXt z5dT{}nW`_K{Ve$oE6R&?IZTm(f=u%c>@4#GSfl|G&pXLrH#7eC8Mzx?VXL&2Gy#@q6!T|0|OlR#Xrx&=mZvW)uqY?W)V^}?7$ zS;`lg$S3Wh=kA?`cJjcXx?PGa`MUuiaiNJY`dgZ8oqs zGohk*!{w5s$kStCFykr);ibcerN4)C$|6DwK+ojdB0Q{#MA)MlhxSH6h3Pvmn0@0{o$7S#cB=* zWr(~&%K055eB<~+7WPX76l69n!G@z0O@ zn=EHX%-brc#=J+UjXX#)<98!Bgs4Eki9Bs4W=e{F1c8pDCIO5rP#bZLdzJ~GxEp|7 z2=tq)DM}zt(x(!Oah8IsSBPCI{7&OoAS5Oh`oGz_^+pb=keE~BjW}T^-kMc6-nDg% zzyw?E#8k4ww=!cK^IW+B4}Kc;M3%pLN1mzn^4d-OvAEkZ%pROrwgepzHDh_i?=&hj zU;bEZ=059l;fhvdONx_O!TJB^)Le-_uCZVJzIY|7GhSE$Lr2V*%bSNv7gLgim<7oPT6xY-QmfxBu*O#ag!roC zOu3}i-89@MDN2s!(ox=wvQf0&LRS_N2>9}>$pgRK(&#=7#10q#KzEdg|6)js4h~L_ z4|yiVaf{rh1h^r@;RIV@LSMXvnGr%eCE7JRn)wsm($Xu~I}w!&(=NZ2P`TV<|2(0v z?ip6mE#sh^sG@-bh_gb9wH&){rMp~~^GFo9W97A(mTlujFjH!{-cRccpM@tbxQv8w zovnYYIcv-}I1*z=ZJ^7v)9MGXct2)%Ib&b{E}!qdyg)YB9UJH-u~9^tB6sf(Faa}t z0wX(ILoW05uHogtujO*fmSS1}F?o6tau027S^FgWcz8LumU8C!cf_9rYYPc4Lk_Nb zywtGzPkc#5LXAAE@AfR{s&XOEHy#p8)q9c2itApVbA#fZj{pmhQ35Ws>&7Qbfky4@ zBtPGXs%DE4Lx6)q9C0n?tX6)@!9EFa#DBomImY5vwa>jrV+p7h9XKdW1ZAxrEtIxf zL{pme4AUp%MJUrHvjZsMbmJYIGl}=OLn0NEPFXpk^jCks%XAiK;siZYie9EuY}4B0 zdNt?f>CTD^Q)mY+TLt`TRI$IR^?1&@oZ7Vu5|Y`1n)xJ)IJ;G=e5E*1IPO zPkXq`fYsB~!n1B==SfQn^!3H;Vaq5u3g@XSm3imQ@uIDZU3}``Y(_z(WUqQ}y|J_4 zg_K1%?BS9-p%kmc8%WQ@S&e|NCM z>2g|q#)c*s3$jDPoz0K4RPkxUlmZg--!<(`U20}I&xY8^znj$t`;b?m;xMsX#F1A1 z7zv2oMB!g~+e;4#iN6^Bd$FkK$vojs$9%0b1?^6apa}J^yIv(R{Ylg?&&VgC@S~qG zOP*TgsL78GR>=>BuDyr!Md(Z&!cT`08|z6hw?#If2;cX&KxW9iZJCH-l;hJ?*@oBr z3k)-%myP6pU#NnlyZfX{G#3>-6l9A+Q1V{|aEvb}h)eH((3re>0V3(!EfAH1e{GVv2do!_sU#e zQ~bV^TH-%%;#P+Hh;%%)+_AJhnv$)g6Gn#nuGONRibF7*5haxtKLFV=gk{LWzs~mL zi2j!k*CqqCZ#{-y0A5%N0pZDI1c#F{grRpboHZjdg8CapZ|s$p+I54z@nmD*f7W zaJ=v-c!-<$3)79E^wo+Y?i9ia45SE+5c%d`-pS0mw}^u{nQR%6%1;m~MjhEt|0rpn zty_im;P+ceTxPnokw+4fuJSv}N zZW%e>%j6MUw}=(?Y2=4SA|dbPsSVI)!zrlm{IU%*+~n)sUW`zAD)drlVfK*p_)o+i z@~_z*jr^=*--KR1G{j{u&rOS(?HPTu>+uuD$g0Kf^l`f=ahH=0gZp|_Zv#5(=y$K{ z*$ArLSq~KF#{-85NgSff0G!&^>F!V?=@pz}u!Xc}CuV4YVIHI=cXAtKs9VtLgjz%dqha?`t6un7HjCDW)RaM;t4{#;& z+Z#FTrhJ!i_){RVF;~J%4HA|j9}Rw%c$MiZVS#6L9zn~H=9vTZV~{aJxFZM$%s`ro z8k;3!5Ge2M-xbjHT=OUJ^~Hs237Xa5ZkweSX*3xCxirFxEV8p1?SjQ4$*Y582Z=Ec z67T*p*W{q0vt|-!*-VZH*Y_Dk2b0@8*#Yi`HFGdt5^ZQ?JJH~Z%^>@8)M~~%C;0|Y zL8Vb~7vKS<$#ou@XRf?%XU!l1@k9=V3kJ0QfdZr2H3?7;1ac)7+1WneZ*JoH=HH{5 z#oT*f<}j}ye5pftUoYb zW`O^OoBVP!MEvr@ajZVwa4z=%If!yK|BX5^A@(wSU-Al zlc?KnhEJ*4u7o8PL)WjfqjM@>!53^?!VadlE#=m62$Llht`|^e0_xDxT{jm~44B%5 z(QJf0-CH>F;1Jjz?GpnhZO+mCwL*1hYLjKu^)HtY?;K#jt)9<~%!gm&C=SU9hbrO~ zfR}O94eH>r$DWf*0heQN5(7MRkqW1U|J}`u$vqtC0{0ulOU4Gu#V*N1IS6M$)Hh^M z7!k2FI~@FGbV2s7fX5s+l@9zaD{&J4vPmI+va_+PWieXo+DI3ka(!`5`3&E>RnrzL zo=^o)Sq98WvHLgn2=Ti9?RboM(!?W)x|&X9;ZNFr$D&_ZK7>kp5#g|!3r2k`vCl0| zR`L_fBkUun*m1zR#Z=|=5w}#}X6DG?TWiP=DEYzNBBDB)M<9VyQ5J#CW+Om0hMsKn zrsvv-hw1fyXx&l6FdJQzSz}60@BI9_?kl>KK@FeQ=k$@TcQ@C@uUQej&ohMrA7@uqa@^$I-T4g-4TmRzdfBJc)YRR6>W{CD zjcI^-BO%J{4VbYnIsmU$*RQ7{%qAiZ|6|~yLv|g`uGiENp4tW={!N#8{dU!5%Df({ zRzages7YnQglUD#tSP6XRmFysZGFy%Y!eaJ!XIH8?xzRzM;qflpsU*Aa*B5cbJO`p zM(xTupoA#l=Ej$=k>@rwUFSSv1XSP%7&C&3W0I0W!GBm(@;=1_9Vao%#`CAw(=#&e zUY!VEnH;hQ_Ak7w_uhTg(b0iTO#BIhm@B8B>N4T;XEw6mps(vl{|ONJ^DpPVX&yi3 z!h#dd$mHNJ$U)1f2S`Z!PIgB~c6sb-S(!&fJO>A2O}{dCh}ynN6+ zcP-u=e~E-lFxj^x0hzP9W_Zxtrm8ZYFzE0QroR|K?j_>sDLAE-f%ieaEsN7)^xOCE z_krBn-``P6JKWy;+;C;6Vyj86hmRhmg2td2X5HQ0(h3UdK8bwO*nDQL!DDEP$^lI_?L3e(4w()KZi})Xsp`<8VKNo@#vn9Ql{zFyQqZf8~)66$tT=&TKf5jGb<)G_WOq|AYa$IyV$u4bOQ5OidW!%^jIhZq`eaqw#)EMJ*~v(I!(jl` zUrVW_AN9ebg0@wJpn4i+OpO+34^B^q{{8F1N#f+_I6s`Lx@eIT)X#gkE{=E@9nI<7 zqkMgl7Pb{CRcMp5MrGhv;0T`A9_ytCENb*!lfMNzfP?cK@x=ex?3~-$7*g!`kq!(K z{|EfWFXebSOI@6tr8VCn^NxM>eQ|`hkCx)}*ZetHN8Y`D{d&|QBj_sl{gak2U&y|G z`4V__(R5YC_d-E}F*Q&JNV|DwTN6Icvb%(L_2sLuXG;HJeBX>RnpD6=ne^n(tn%ED zlCU~AHa4q5eG`>bSPq4f{Ob8eS^uzEE|7Y9OedKc^n)%dHMmnrS3I=-hUP@eJs@cX zfUt<1B#pKE`-#s?irdt0gm`p|X{I^`^s5l}eHadPn7*(fA;L$kcj}BDG}6V}{pDNBR8XeIN5CM9g~>S8{3-+UtA{;}pLRVYa` z@}v=Q+3sIOQh@T^|1mv+)iWb;ol;HW78LYB$AxAs5V5uL8^b)Ua7u*Ecf>g%3c6A9 zcgq~tM{|kM0v-GI_V-8ViW{lBiBt6$F4q z%Cw-v!OLCpE1dom;g{KI!MWL#T*35trJerlH~clGoGZ6i+;oV+?K(n9bZA2(cvH{E zH$9Box|F04>0FD32u$ZD8D4@4`*%SUVq@U)0< z&4ok9%uFt9%|)T$n}a3vSA=wYX|`K6-~;-zSA|GLrv%EoKuFIW{+ zxxUNS)3Wj@Y;ZiyvH{q4N-C-mU77Z?dasLG$es2M)HiH52CN8b){Af<3t*ZoZLW6j z`sgCYJb&1dtQR;R+9XE>j`%33l=TPhnH=MibyMGgcherJfVNr3Q+_-lSR<%&J%u6T z*~$8HvOa%7@={YXM={0&NV1h|g2v~67d|m}q+9{x{$p#pZltpxi1ii6#KdG4>K`3@ zUmgG521lIg=~G$Vt6$btd7XiWy=_cslwLtF+@fcfXB*?}hr6n*gb&7=yqh3XZNiDc zM%Gi+sn#NoAEvzYXyo3cgoNEV9z1Xvi`?ECXcx$&C`_H+s!#%e)dz~tDBg@#3$F30 zWL5AZc458Cb1gxyrVU4Q9kh~%Ya(_$0$3LeB}&Pl$kz*Atc+?QP~6De#zwDm&0T#~ z47CuQeJLIsSlh=-O3jlLVQ%i1q56~qLG9-k6mnR*Q?9PAYl>-?%Q(T4=S5E>M}vBi zX=a#bX5}LlJupksSK9iYO8yLbOnWDN%u_Ao&0=}q>dkReNFwQmF-1s%w{x?ExpbE< z6Q7Lxic+b|5{Dn6g{c>d46l=P4!x|cGsZ1Vyy^6b`Ib+fks~%rBR?t@vT+kZ&`uu7pUHog&V$dI{@kBS`z}z z)jpo*skuwVhQz-R2V0N8xnSmuK-LZ`3DKmnz+mDtOtu0ori3Jp#0M*NXj z9LlHidGK*4&}V9a*Dza-JTl1WpYLu$fWskSA};I}P&;Vq`2kmz4-$Rl)~-w}*7b{S zmU8QeOw$V_LE)38nkD~Om#)N5|3BZh<(p!`uaZLoL?Koug{N>n*2uJ9mn@yQjFupP zVGd05y)T^CQ2Y96*LDZF)D6!zR}dnVAS~t9Z>KpWKJiKhHFDvwCGzS)YXX)u61)oL z+D~6ycUlqkIbz^uNPzITsgjK}}sp0`!&)^Lljx zN)3?qPMPPek8u*MF33tk*NdCxTkV)Dw?!^i?16ZU1j_ao($O;K*ILAkh`FVsFt-l% zc>jI;FF*sHVe5y&QwkEzsHYe}Snf9*N($;n)p##Iwq%$Sk~@BDC?sz{5;P@Y>|9K( zV>w9b>@D=<89X1!u;m*0`-fRsz=40lxAO~RV%}x)1YfS9n=*gWLz4GP4Er=_IO^Gg?kX}qognYK5n2a z{Kd{qu8<>nV28^|7ozCpi3I@Q{_{HbfG$sJZW_Tfsi!G%Zs(^+o!^K0lIHy?i56#e z6VbgjE{&VCguOrSK>%rk4I|w3A@IFe4(2ftvfU2RBk-Wg_}}%{YSv+^=EEukW7}e?8Zs}(TT9DM`|S$ba*80 zJ$V z&gQTG!B1plkNc*l*e&-d?+~reP4TLIOaq!(UQ-{AYK0sQoxhFlsZGCCl^?Gk z#qmj3AkMI}NNt$dMW3+Z1R;9hk82Y(dUcJ!ILbE!&a2oBNhvfb{n+ic(!!mtgyL` z+U|ZOdW`EHCM_66?@G9!HqTE>mZ3c2ag}hwEug{LE>;;5;_5Fvw`K=b=YjD-pFfdL zqvP2|=o9FtQS81iX`9t+$p%-)jpBuiN)Z5A_~J;Gj;*$_3KE333&-lT=Satml|)5g z)7nyOT1RaYwa>nt;;g3Tm;7swgM8lE9P(MSn>Eg&Eop_W_v4; zPe)*6d4P!JT=z7eSx%~4fA!%i&)J11b*E5!>$;@cql)y3T7sko(ws7Z*47WyzYmhz zL;Gg2XV3jOG#THvXCX05zMJ3Ut6&Gftky-pyvj#^1c6dYoIjOHz}(hcSQ7OCnyoZ@ zdYkg?!8~&&xiFO}RcbaZl&5;Zs5Dq+jUuDI(ataD?8O82u27WARhO&jtI%Is)fLqT zi)rHvz4U4*5UDRj;v}F6e*rXKQ?Ez7@UB+nIA0E8wF2F-eS^%jMW-x<8NBjJ8ya-f zq37^`D;=uyO>z9!3hxK>&B?gmaI;lxC%AP)BHEN5swyC(xlqB+;3yM628f{|IY;T54j;U+NtW=xgkuC;}qn+EUwp4VRjd(SZ*)O3M?!giEStLOA za9}5mILWHPl&G+SUA2<$?Y`nMh2z~g25CkUrAiMU=)8P&{X&WzAk+XxykkM}`8zE* z%IrZWQ&#Jc&EAFIhX`yMR0^wmVGYWcY+#@O(!SAks)MfmIpWCAhI(A2nQODshYlxz zEBp0G+v3C7hn+MtO~>62ill(T_H{Anr$_)1U~EQ7lGd^y9@eJb_5$JL$5-Z$o}y0- z?0qLl(k0Dd7nYizQ*iug{9;*;#OCq^blff18pNIKgin#;zfg^X|)HOEMOAF_triuqSAa}-?S>pl^)9;w7#M5{W*PkR&jjS z9woSNvw8WadxRih!zBL)fZE!ikAsSfAg0rv^dutjDCa zltG3srR-2=-Mlqir2-fKE`5efmb3W~U&7WY{#jf=Inn4#ckX*@WpQMQ4rlTdn?Ajr zwoMA8-u{@aSu)23n!C5TNE<$+5h$#%oP^;#5a8vpTBFP4@VG8vyi9cB22|Rp4)Rkc zGMzYopk^-)-42iVk5A<`?h_WKI2>LtvO8x5?tJUDgA>E?)Gu$hmw3l^4w+;IWWt|N zOYFMLeYf#hiepEJz4Pu3slf3xcmR=0V@hH5+%jk{4>rU)3qI>U4!i*6c4rkPWxcML@4y9cylGg2U`V znms#Uf&yqGx$}aovO^wn$AVM&=s{XT(IfRgl#X$|zmo6jSkL;2D?~yAB|P=k$9yy_ z9s!aZP+bq@0{vAS(9C&V?j_Gqz=vLrrYF5`gZnLvX(-Eabc&Gt@Cmxv?3Twu<@uc!jl8yfKA{%f1mFDU8jD{8~BPbb`yLSMU9BABXLV{Ktj9?iHf8)lh z0RV5R?S4HAM|w#;@upRhDG5_&dh6fhEX=6W%JyHJF>z@1fFoIAfve@x zKo&BAVo>VvLrWWda@ymIGwly}8Nyt-c7Ts8_BMd7bpVv~UCxXX*z@(3M1cZT9>xr_ z^>4g-$*vcFW%R^C|MCy|9uD1k1ofy3Qgq!0V|;-aV`9k{%dWZuSx9J(QpwEtDr1c_ z=m`ekOOCoV_(oV0?pg*UuD)l$@ysKwv&&djHG7z5|I&jI<6@b0V=Z8E9onZU7As7N zNzB;ZwI&qQ*-$kwseNzq)6)>$ZXjY?LU{T*0pWYsevi&`#gamb+Id_J1obmjS>7Uj zFr!eI{;J9=udQlTn->9PAbauAXTl07hjo@I8+M6l>=A8D*I-Plg;Oj&58#6;}b; zaIReO3omt0TWjtM^jk|@>@$^D1kxwOxCl599J}?;JHc*Kms`e4l0#e;Auy_%XZX66 z$c}s@U=lzuxYipB#pZG2$tRiR)78=Kh;h3I6;w*E&Ata*B=5~$5EukcQNb%9a&|K{ z?#LBou@M8n&9NdnX*RwJET{7*#M`3#uS-%r1mpS$Y*G|*mNGm%!ELMw0QvI8c}FVH zYyh~rD5TSyEMWqYdRK4X9459@gz4L6td_|TG&sx)Oq7dWG!QysS(q?T^x&1)NnWh5 z>zGb53BrtsVY$akj`|{#BD@_T6@+z3DEmi?ECu8A@DO>Tz zax^se`l9oL#|U`9l%Wc###2(OJjdc>FT$f20D&JgI~aU16nfN5qZT5d>^v^N&g;K# zrET}kAoRd6j;Y>6yGd$E`Zf@J?ZFSu5IAw$M!EA zZUeR0#aG5u=5qXl6JvffL(c?AWm_9&_N7;a0#zAjWtq)a7oLrNt{tzzBCX`x{PpC` z$z#d1&>BV;j_8kzz4|i!c3)|=xF|9&Zar1NVwuuFIcsGL>6m@Ly05>4;|r})(G^`tGhN<1^20#`T2mD0W5G~{2e!KG?66y<$kn?Bibp2M6M$fq?`1zIDbv~jX zy^I{Ohrsx~pL^^huij(Obqijt01;nEHS*k2G*xK`_Oivk=95B)jo9Q#n>|a5ho$^V zX$Bb&(=i;2O&+xZnUgOdq6npk?t9tOh;HkAXs<UES!q=DIu-q4vdk&2HGb7D&Ayq=81eHrv&*uI3I4l0hplGev z4G6rE2%;BHC?yIQD$vd#$Z|L#nyki$@fi&mdS)gy_%i5D=@H~_;Vkv1AH3f@axY)C zr>?m2Uq<>$xRT?4u_~w8KhwMu=bmZc3w?DKXJspt=MP(j_PrKsLHeh-K=I?t_y=f6 zW`p9y2hLoepXz7P^pIlv#gm`!;(RV7t?xg zjVXa>n$|YgGn?;F#;I9GydRHIKh=efNF(l5%^whRgumQ?t|ma~M~|bDIzQ~_ zOoms(93i1u%f+K3&9Pdy_WRLT3IKoT31A4n)lakW7Xg0XCX4W zSS&7C5wTAg6G)PD?EYcST(*52YM~R}vstG+oZy?>__8>LnAPbCI+Zr2;R^F)=AbV$ zH|z<~-2AC2^@D#>kk|{8-{kV6Xhw;n+6!L0&9&C??8zV(o}Xib#*DiHbvTawe1oIV z4}7XbWSCPTPW?nv8xx-v8TDnDsm=bn=FsCh*I}jijDAaM_hk^G+z8`2Q{iyI1GibG zfBH4i?D;+GitXnobAk^lU_UOa?~M9R63*--a3m`8ZRuCpdvf4b{*!4y-L>Lj0Wo2F z1C80n{c?C-1KjATsbkc8uu!;G=wc63xntErOfGhfXCr+=9KRDq;jYo@bE-_kpE{D; zXa{5Q~Z6|p-^3uh?R8riPV1iFu4EhJP4!8A#%MVXGFR&9{&3BkU@UkI~KH%+zaz4Bj1X(b}Ud6Yr(m(DMdKmkz4ts zZGfDeG5E`7O3F-n>gd)h5O+~GkZ~&U4@?aBoi@kOk;#iX^}m|h;(PBKYm-4>58#ig z1qmvKKi^Lqjr5s|eeC>JhR5q^G91eMW_j_2TK=q4swe-R8&jJ23Hzjm`n9#+MfDe& zq6lT=aHt@uzN^&#_<#4O`+?IdTSuk&3|l9}9X6vWq_3K7QVS||R{-rKB;>S-L&TMK zzFpmCtHrY|*pGYbC@Ld9#BQaML+E;|3YM8P0(74~S)gK}SkJla$3gdPbFaOGaM5lN z2y$(nf%nnF@ zSdVe{NmaeT_#Wqr39Pvh>D!W8>#qUPNNx%)llUB>XNp>5Oq=+YbLSl}AsshN$kz~{ zXKSG@3`)Gsnp0s}@roP|>R&KHw!w&^>J06`W4n5fC{wN-3B$s!#)trt|90Z5g7j-b zyTf#s6(?zl@}Oj^v)e>Toyx*G9|vps#)i-hW<2j_IoAEg@n>?E^5VPm(t;age~WKq zf4klQ!p*OAV>PUpZ?EV0*y@z#-Ij|2ZDt-f{7rMng-ljsa`SnMPin^0UXl|G(b)8S zE0ephR|#48oMhjlTjDj5d6Y!A(%@fsDLeKwkJX72ooco{w~qg(;RD^qFx_A8oyXFW zrhWgV#zI47=rhjh+tQp6XmPITR`PuH-7fI&AVX_XDb0&Z2T$0%Pd5s>Hk-a}VLs!B ziFKzdq)_Eva7SajHOeVNKKd-Hsr1CirPT%sn&+fsg*!E?nBV0oi1OwAr^+anwYW2; zY~}^PWa471Y@3E>nDrdX_S{Nr%x)VBU0Z^opze^dteNvPt7vAG2X#>zhoSedcuB}_ zDf|`N0~k9tSyrHcARr71AR_lR(>do;iL+q?=l?7+vc;BGM80( z;J#1Xq;qP{6^)x)-s_?q4cHju(pcF4vQ!shu>w^Kp>v3Zz5Cyv0Rld}0!BG(1i2RS z-AvzsHWe^yFOsrgW_gRqci%u3`i1j)@-I(lxwPg}K14kl(zby=iMCAslNR$XIv)m& zWLP}$sY1CNR?TLTZaJHzICbFtOWFxYcySy~Xxo-}W*-;^Lzgx{T3)Dd?PN=&~TcP_STI5r@wiR5sCS!gxl@sW^^v#VuIED#CN!z*v745;s-Ej&F_v+QCY?UxS6cZM zOy^nQiA9E$@vUhR^$eXVe|gLBZ%+f_)mj;7AKY7ioN$GqWyy@lYbv1ffg0^u8E0jM3N8q_;=r|FoAkZhrwlfvo?KWxV7{7hqzV{hiIX@ z8xS!B6tx_5GedL43G}poBDqLPR+Ob&tDjw`Gv64usnM3Wn}CpT^*J8s&jPY6kyD=7 zF;w@~)RgQlqXya*9rG*}E5<|2MFfFK!{o@1OeS#Hf}eM-WrJZ%;bv1$#tow9EZe*o zLsE4acA$qu7DiKx`Uq7~v;YFdBGQUjToUV3HMeF7GdlXLoFt1goZ~a* zv{nstZkPf(uf${0cTS66>4|~SdC8p|k%WG**)Y&ZdhCun$f|rhp#M)T@2 zkZ$c@Y|tRjCzTl|TdVQ8g0~PWUaWle|@BSC#&w!a}Jvb?Xf<6h^ zjGGh!#(77iqNq4Gj>Di-$PA&=QTpq-_yfuysIt05>`=k%Jh;0Y;p#2(CAqU$Z(J$7 z`gQcO`R*5ZP-9iq9_6K~9l0y|ECr!cj+8f zF*U5+8Xw)ZE8eAA-DcM%?60_dU*4CV!!77nQHWVNeCG>*U7P8aa{vK*Q(hOMWU{cr zCvR@H#+eEEGBa*v(J~Sy2t}uo6`$qg87xI3YUotq*1D50nda#nkr_Bv{2kUNIAf=)q?BTj7r|zAVoG zY_anjYw60aS0pvvUTn)E<0dL$R!s=|%L?32@#Y^u-i3JHU+&`au^f6-9szUjiS&Aq z6nJb&eruV^y(k$Jf6=+U)`8^%GC*-^h6jHYz6gQT;A1}F0PannxIOxQSI??jNi%~%iWXk|3yu`{lGw0@O2>*B%)q2^99Y|9tFcX=XmzGH?WcZp zCKVS;>GXfE1zi6)hhIKkXoe9(+`&35xf-qiz04UCg|9sIYYIj~CEUFsTx`;s7jE9) zLNxJwp1EeSjE<%^dVP$Mj3!v7qIW7dutQ%KdPBF}PRAf88gf9G5^1vU*-4L2YaKx* zPOnRNEi%1)g{uT(az;n9Ro~6%)iZTR5A} zGWtdY{kQ9gN}k%?0=oR*2-0KxOI}RmbQcUN*&$pUZ|cj6AbOTJ%dN#LqOz{x3l`t} zg{auz;#^dAOF>uFZqfR))Igl8RvD22iWr|ibYoqEbbyLK6#cPmt2zM71;+m_)D$3+ zeID1KH$5M97jJe&IKf1Xls!LbpQWnx5EuYY8oyJj?PD}SLG|L7YOQWU zk6QINTLJsK+XyFVFcRS0tT*w6+eWsD#Jb+x0l>7wZbNSx^_kKWxPi;)v5gTLUV^s~N?9G!VJhbb_hn-i_o7sl3(4RLUWQK*8dApLlj~xW zUvRRuo1*k?sX+Qb0Q(7Kd*&sVZPp;>jH9xg2Z5-Jmr^rivoE3ObtVrAjMTfxtG`PU zY|)Xpb#Pn#=neCvBk%Letw27KS|Sv5Bh6CsibSS*3Ij-XvNH8EOiEw*C&d;BaU4EF z%i5)OBIz-rpqSFm-k*fC_QVU=6b<_QF)lXKTA=BPmUpyH+tYlFa6~hd8gGqL@d+A< zS=O|fFBC~LM6S7NC$+z+yiA}W6pV24qWjm8Ga~Qp?S^*P7wFD)yM|x)ifUIytgr5^ z`e9`bFN25JE)(dSAL~mLWIn`)Mbw@ZjLCfdMT*nk2D8yT+0S+=zl()jm{W&JuHM*J zS|p4?s#Im&Jl)4L{6N@0vjp>KLyG0f4L>W~E7qUtbOMgC1Tq6I)fD$B*l~a?JeMwW z3jQF?EA8)LFD5x)$`#`TiNScwrN|SqmJQM2d-UtMF*H&}hi!|LqlWtNsM=BC?D#Yk zr~PWnF;9o$3A|bXr*N$DxhJOVqqvf8Al^Iqu|BdvRCdIHB+^1p?hEaDEhe2 zBUII?fJ`{-#i{Z2g_*)mzy!&7yL{L5gS3DbrxUFTDGOp}PH&ErMKfz|`GhGtzR8w5 z5!%Zkei-ppxii_d0q9T}I?RH!e#RlmbHhol!}X_UZbJj==Zz-LDPldZi7YuC3FX*c z{|;znDVRSsV>bgp062}CKNy>mYL3FHy>7QFh0xJ~p;u09DptLW*ubgln^1?X^t;&y zr&;lk$P~g*jBSY=s`@m=<<=YlB|F34f9)C{XObQ_Kh1aZX5?zi_@;KZy2ZD9a5EGL zhfUPl4Iv6x7y*xu+J0?E?(V5!atU&r>;H?led6Ux2z zEp=d%oJ z&_5p5S^EbY` zF_yza5MEILo>VYAwjXT)O3ty>J&1QX({^~T^PWpBO0*42VZU@BSr2oDRqXWTX-$Xt zP#qebhL^6#yOH0Ek7)1FZSt6PO?*uY(<3Io$8CU7(XFTxXZcP#L8w7BVRTi0-Kvse zQ>hHgtTrX+#nb;>QBu44Nh=#QDdaAucXXLHT$Of7kh@G3Qj4J0EwIw`@u?gRa^fbu zOzW&oM>)!GpJ$PLviSAyl;Lu3LX!JPuRP)Es-?gX#BaE;HHX;i&^=!Ia>a2=0>eY^TdrK}O>z@|X&jBI=g!Dcnm>GAR$tZp-p3^1XFf^PDKk z_6qA}wUCu2CMN>Bp_c6ki7Zi?bXCKLUY4WT!7%8U*jsqs?)$&;1MPG^yf~$~-VKi( z!(poyxat2yEW0`-I82zUcvU}g7{HgbyE{M%F6V0}jPLViHCvaf?z4u1JSCG^kEV}k z>e&bu29@uZx+yIhFAF7FT;K#G2t|77(s@Q1l8T9MyE{)8NDoHtzUW!PbHJZ zi|Oni83D;LkrSWRV+Ftkk9;4%aaF6!&NthOT>1B7l%?<2e)?T$+KdzVwo$ZBxDcC( zM10yQ=U|re_aVNRtET=YukrGTO0<`k@%Z{Ools;M zR)i9b;M^`n2h%!#ls>YM(DbAID5-kVQ*%1A)PqOqA{meWC0_$@#_Y@}K7JjOZzkyb z=3mC7EvWaEJk4c=i_IO+Hhte2%uV#dW5NEXkT7Ve%Id-w?cdyI&XcU(9B-?w z`%E4`LG0CJua1knj!$I7_PQl3K?#Nu1#Au94qN zjQJdx*#VbS^WiJ7ht^uDicd(+O5PosJqBWBN8@rumS5mkNAh~J&anx8(wJ~RxCnxN zg25df@o2NsRc~aDo#8z8-kTojzb#tFGRK?NDg& z;uQ&QY^Za;a53|GAK=3sG3b5=#_y%>a|T|T>Q}cgYTVC9{?7|0Z16YH;4!+R?F(jHtmKi1;)4#9mA!@46dKx`L6%vzHW&A_6w7xR(rd z-sYxzR+KEBWgl|Q6EOb57!qDT<|5u%)h6iG)D&>l%Cb*tigoe`g)Q?&r5BlTBrj<3wot^nFI zvZ&BUb}*JO$fx0_)uZYt{{Dq3O)!cLRnZmOyVJg>MV>mL9xy(`VOyFkbKqN0d2UA| zYqKiwHSm*#W|6C*H8L1jCEFn*YneLb{GDbXeW&)Ku3PS4`|c{BQ- zFj!^i@YC0W@o;iUx%uBx^pY<{FDI1xECU_B(E2>)#s%~ULyYRs!N8{EA~KU-pE|WR z*VoX^PNcC@q}*p!e!@gOXW;@AyN>_WeT+Dvl59NSpNO3BlyIW}o~sL}9DYx4!qwuU zDzQqaJ$w5OcH2?hr%q5RV$}ZOs^G5q-=6?$^lK)nYfVAf8K-xRKh$!BeT~m*!O6}; z_E?nK@v_jGyA=3REj1v(z;k+Pv_159=Wy|Gv{LxRVYdHmg zrWfa*vy{JDM#z&wG+%*G9(r;c-3-V5b3{t)`;{)(ho^*v=d8C+3^7=760)=`Bd$h@<3n#x#QD0|WwWBfYB;UFP-4}fuocrpSj#`~<3JkEwAvIt!T^pjrj z?KTAFmJnU`8}2kX>q{qiBz||9wYbB2KLWagXwdBYi=6do@1K&Kb@HG?vo{26(Jy3I z4c$QP63oiqB#Yq-pZUCtRuCeAviFHYn(-y0w~lXinf@7?0_s-`IM243WENlo>`J_Y z@WL-dOyUO6642_oVZGRQHvhUOpN|7cKS7~*YY+2f-~OtV?F8uC?{K6Ssw;mRM=_au z6kn2@(`|A3%xI>2cv_93vdf}`0iO`HKd4<_TpO@E98J?;n+hfp_j!53OTzeAh678mQ&ShovTEB1 zh;G1Z!r^K?A_z_ZG5#as|FQSw@lbbd+|#N>+_cCNS&J-X-*rdGT9hP= zvJ zHXycYf-W?FW*R}fa}jmb$2@9PEuh(f>n@rcThiL*4dbj4SM@}Z`eWdTJH9V?f8iecl7ap^ z;_VN#GFB5=9C$u_6i2Dv9 zlT2#*8AoPsP6hvTI?G8L8@QizvkAP!yM0IYZF7In@(ER#$d5A@Kt;nH`Sn5ZrXp)Q z&+A-3Q1%PpbmRTlI+IxVijDi52-=^b;GLWgq$PLfeha6F1{~7`t|Ne!*tYWtcy@D3 zYbGx3PQZELCO$dH7)Yinu$kDJ*q0d6-ocjrU$DF%>*jtPg^zf zPtF%SoVa!T?HTtEB%&1d>v6y-UijFjvNr$}SBb0IajjPO>rzlXz;Xmoi*HGn9-HWi zT48uS#ve~&_Ppl7L?A16t&XBf<_#Y^(|Q0MSy!i$=kW@7!^)2d0FuioI|aSp`hA_B z?5$4E8sBFmf$gRivH`;$_|ngc*Pp%%-~VM{+SYF40(0S*Xtd44s|KQEQpU;N0|y~H zpq{@TnV;*PoPY9av5xfp5g5;reZZ=IGubd=5X}AQ=e|G(J_cPl)s(T-_!+vpHWb&! z8u3k9zG?10;|4io$HCyf7*Bft!qfCg~6WZzrgFKYGfeEOja zxKYSPee18Z(64>Zu=uIr6ReKDGGD!(@s&J|gY4AnfXKM%W#!MnN0zy1=t?Ov)Zi)! z97(s$Dm_X0ApK>Q%cd5_C#b>u;d8`_xrSS}5r}2KRhU=6K~ooZHuXO8l&X%E$T8;e zIBO@yZhPedn2nYTYn=P`4E2sUKAy0b*alsn;Ro{5!3}`kP4C^7WVfF+YB=MYmvm3> z+_xcsIe=?b5&8aNF=9n$x|7)rnd2$0vpPK?i~0IK()FD|neQhZpO zu6cs1y{(8y2dW(_C~@+&0#^>t1LN886oB2glA7)S=_IlGlI`)dYevVv$Gu~^{HW?P z-gHkZK&DX%cc`S)r8s%6;DZZ;?g5};a@@-uqPF|?^W!7Q;60L6I{H##j3v9jV!on1 zI=i{&c;3eOD!In3m&d>(1Pru~QIjkNR7d9j07&O1ddGjonji0a$L53xaWKMq>#K~# z`ZkjW$WPmfF8%qw&In|Gujy3D+PLj$4}b%-rB6N_w(e!Crip*Bi|^Pc z;w)yA15YE|^EsGH4<7`BljW%&=X}I+TSE1|tHy2QQ0_V6J_>zQ>!{wyMntb$zphxhKV zY0a9JXCn_YB2ePKeT<1pTHnJ*In3z;yAn|S0m6TH_kVo-SQgb$n)ZJgJ@Mm=5WgM&4iztb9~tIb6)1j|uloz&!@#!}@BQr0n+QUa^@7I>tKQ66p%z)t0?mTcTh7cUQ z+dhS&*V^NBDtKRnqXDg2=fEwVoob^tdOydlD-tj+ksPPDKPQ820j^<0bgOmv_8z!p z_a9$>YQT)B<_6e@Mgmw-PfBas1v)t_UI8KWx22j2c+lhj8jjYd@;f)Bm|;=a!)!ot ze5%vHNwneMA;o$>GJ%KR&U2@x$+B^r{C+97*&>QNtKlCHoAUyD%b^Ap^Iqh!_>rBX zvC=X)S{pEEp8fsa2rKsRQAYDhFUEpf6p%+Vu~*tmcKFCPEGXgBIM2m6?$pUpPqofu z2vUC-AT3Vso?0op&1$f-T}s)%!(*hVOBU}LTh+EBWye{+-2Qx^tPr0&xO~j7D!JB& zy>!Pj9)FaQ*yur0gGtV%DHATOyu>HJ!W~sCi4&Z!H}czS_6e2~ zN6u27**-RGqu!-nIOjfimg4(zhP55`QRC_7SE}gg>HdxBo15 z#y=5B)C~T3P%+6?B3t{vhW>d} zE5)Uz)}`aZQ~!)lf1ZuX@~XvuVV|;I`Vv*uLsmmxtUF|I%E{&GLZW$mUAO<+)u8*# zFZ0eG7A3@dGbmjhy?op$DE=?Ei5`7XtJz-x)70aeR#JtXgAZ!QbPybp3~}8JF7Q1J zOjE!8K}GiHIHdm9OSqoPf2ei!X8vVZy5YDyChl`KRwkAAdMIrFakD87xzs#91$dl1 zfiij68BGzWrB|f7B<)FdY-qR@s)6(g{8f%2h2!p1RG+J6S;g*DTrQI1{B~!Y;9%zv zlgCF8+b~&jfbI+$FX1Y8`bg#~5Z z^Y64|VIpFLaX6${y`AEmZj$YBlE&50;h4Ok%g-)k`whp!l z!!=nBSr6Al^w>)l*-H(+AL7Cp7WT?p>DyX49j%phGn9LLS4;49?#U;;>|*;rU*kEH zJ9C!#rQn6Qiw7be-|tx8+^n-+qy#4@)lDZ~dBKCH+%Ddrm^y-&KPp!B}(nQd9l+gY0G?AUL}ME60L<(QX*MCQFRJ9!d94R zV4EfZIXAS{|H6`U%WUgD`PPJ#td^G6vw>$EVd9PpyvgwgVbOw+bAR56D932ZJTh0m zQ9X2i?vO^p@_YZ4hv)d(1@nuu7USemJ(FYi8mn_1{fPd1VOO&?#)Wf5QN^+23kiL# zl#W5ZlkO=OwK|pi%pDFlb|C4+G~2``uh6fEI={fOB@S*dvnNFhoBNf#CXQ6A`B~AV zj-tGGpSukDjd56+=))nErq*>nV%|A=)rpZ^2Lt?ZU5ajAXiZ$EdZGei>b)yLN5ur+ z>iR>lbShaBbLwI+3h#d%7V~s|h`qP8TQ+5Qcgb?J0ZT`_%AMifCCv#bMKICB!zwr7 z@t9X0T68{t52mO&Xx`_b2f;%k;C^jv?*?>5*Q8<}F2_pa;2g8|K0 z=TnayCkuc%Hb7Jdswy)#|v%`gTqp8@jy5Ea$Hy&aQs%n_j3t?eg)YclCDA z<|M)6Eb~LN@_YmO799ts>l=8hOYsfnep$Ue4t01Q4bwZ}<#&gJjq0O9p+-N1EH0$A zNZ*E-rS`VpS@%0FQf#$Vy~M!>q;$#Wb?vnp9py|F-96@MhZGQnfm-Q3bHjRw#ZAxQ zjm+Rv(kQ}e#}W(8(yM%Vp=&tUQr@vXc8HXp-mYTf?%ANNjimJR50h(?DC)(~{A{Hv z72ER}osQUQO`KD!=fpLyn);DZmFMo`{+2Owt>ZzV(`sQ=`sy9)w<4XC9JjX}Oj{&k z@(tRybPj7A-LUxw8{3%vMv+@`XA{2dOMj#{lQZO;>8=Rb0bF+}<$Ce+>G!L{Ghda4 z-#{rdI^QiXcLhxjNh+zmw)Syf>^e<`8h7%0yw;PsAZGP$taR9CuQ?jt-hK*uF9E*3 zezY22wm4Tm-E&E+Q+|7I%*vkk)KPDMU97C4H?HY}-g`q1S*;gZ@=!afHO~lgm6RU$ z)6H<7#=NNM;1h}!J9nK`@AC5561Z9dAs%{|oMwWry2LAs4v$O;{D>#I!i@bo>ZOUiP~>7b^9fMbmTuaCySJ&+A5+mIolQ(NTGVSKqJB5vIIkU z$?*FzT6;>A&m-8_^0zI=n+)DQNmh8Gf04TFW;6KEsnYtrIlm)SKw2?WM+D_%$#J0Z zDTukW5Yo~1m5{fg6Q;Rdcg{y>(s=JV3>(JOG;y3>05J!FOJwAA##ABnlj$?5Uw)h* z%rtFy-2?wBdPdh%xSY340@)!2-@EKstgnF1Tm8emlY65X6*XL zFj6;@Bx_b;Rq-HK*h4T_`sy+g-d??R6eHIQdF#&XtfeK!SmXy9L}(mtKRU^V;4mR& zqNO$2z@^Nayf(&aZ+G|e2J|rG4W}j-TYLw@YJG*~CTedu0wivFt(+nUI2NX_c3%c-dBs za?Yi+=Yx8Kjjg|@^y0aqt;O}fvNEC@9)lJ;=5x7=JAb^JlU9=ZMmx&)0D9qHrER+$ z>x?Ib2>`3}WGVH6fPlpstjmwydJ;uloWFzXP0j4zsi4_kJ?r~ zxYaWiT?FL{yCNu%Gc~-SRy)};W1sedi_o$g0P( zL?|w1bs?U5nC`YY1sXq5Nl@WU?s4afdl;oMu93CN#_#u77RHiRI!7F<@TLu2Y7U#i zvEci>tkh63)WTzXryTr-qcmg^T>bxh!7jd8wtG+G=RO5rDFpn3F!jQ2K~L&A3TwkR}#A!J~DZ~M{*suL5XfS z#?E#vwBE-#H?wX9O^U^PExcfcP@eASCjA9hVn*)G$;8_mlTTs}O-My(Y1u7SbY^7D z8GD)Tf;{>3?-JO&GHgdMKgXw-`fDUvrDmVsO3>BPnjS}6oO9a)y$?R#*BY01`?hGs z2sfhU-t@cg(G}Q|dW#MdsE&!*!097B*Y)0gQ_4xsWY{~%vpae;*MPeh*~4zt~vGydD;#!i~5ST&jKW)Kv|S@>?#^(Au9D5WOzjvE_qid38ClA#KUF)_TL` zORcfb8?@Nj)+=r*!;_@k`4UuY)kd#F8vhcT$x1t&#Q&8YFap7jg9v_sOBE34u87P zvu645u4pg(W>sjVsmC6Z&6gWEUy8j3Tpl4z=aGL~8_`g#)hWpEZIF}%v^#G7VIn3! z8~FB~wN7ESUYEru&yFwmMh_vqXSg}DcviO#9)uiz^HqWSKGSOwn?&K@3-2V0CwCC< z6guO~IQ+&nEK@_oDRX7or6CdJ8}e8BdY{9MX{z1E$p#HAoarWT%G1UC7lC~Gn4vQk zh?bw3?}$CwURD*8pUDQ#ge>|rBKq1-e&sLKb(nU0q3kOP=;*$ImJ+(loDg-P-%5R0DyW0UWR&nBMBDmLeq-dTyi) z(s=jmT3n@r+aoO#CUEsikUt;)V&Zkt+k2W8QL;Q&bZ-lYlU);Ij|b_Vi*K==rLnUe zG)va^yvSF5Lo`~4{PI}x*QSNJr-P|_#1sbtO+ckSxAD4gVAl97Y`QvAnFw2z_ki^2 zZ0$?*9|*BY?0?;pzR6s(obEvB?|mdUy!fiPy)xILgY3%pCgtTynJ@zBFkN;gqCCZ> z{<_9={o>JR_Ff$UuZ}Z?U$-MPb3j=}M&)0qRteQa&#H)Q2VVAxkxp{tjn#;$vAL0{ z%|=ne%&2HuQog9REaVyLrzS4_K|gPoqJ?wi_iN6>w614J98&$j7XLo@wx<*ZpLd&Z8; zrgklIhph_xgOJ(6LS@s)cK{dKo2PxyLo7$GupWE2eN3s}Ox%syj|;A?IcCOHD9`XOt_ndi_+Lsu8erO@Nd zBn>Z+SNL3gJXGUMwlppB_vX%4yb}?n@cy=RomuMSeBdzeR^6UVW(14~b~cIDN~^Pp zw4uuO^$&^C;H~sg^CxUa8ojQ4<}dtI9b-OXQ0PgRDeI_PFju-=#_Y`co`Ysw&u#BT z$~S;zxu}D6E^xT=!d>2GmN&dy&bY>Z^Z8=2eD-oWJuW3!w<}n8#i&n?mL?61dnY3V ze=uc4$0{kwy$U_}BNc>jc8kgQlVNv+1uTq+uByCqu-hOD@{TDo95>qsNqM%L#W@3^ zG(OGZ^e*!8tQazY`jP&mjXT^(R=;UAob;E(_z|YN*d*!6_d4;yLZxL`mFQ9vmprIS zE5F40im(9tTQRtjM4zkGY<|J`m}FK4UqH{CsTc}gWhPFJ7@JFLW@SPdxBCR;Xs5@_ z5SBTyb*73VIoL_dh$7uVx3j6Ur}(1+G<2FY#~qi)1xroC;OwI4uq>)I8Ot+(KL_La zE#GrdTlS>o&q`4ww5XI7HEJpKra%sIq3~Qof(KP2dBj!?qfvG8GelfxA2)XQ?Mv)R zpU)21Uv42Rs(I+T%Akx-xxH>%8-J+htQ^0D3()%5>cE#<8X-%TNm0;KR65~stSBQe zi}#&a)?8w@Dj(~OJXH<-hbH-B9LWK$RElnj;)p;+`_MEG_PYHM_N4_U0u z)M!v=@1{{nxzkUPLhIFet?$!@Qi`Cj|4ecU{ACFA5U~rN{p)L0N5$ZyIH_X4t>UFr z3()1v@CtI->}GT(QAG^+36&u~yNi2DM%VA^=H4njHK0A2_{$K3tVbRMceIJB$<4+q zO84s@s(||oIh1AOnMrdGUF8UL{GG*^OjFb6PLLFha9Qx6_^&LiB!LJuOVmMG@h!xe z`l~06rM`)7m}h4@UK$?b#mLdI@;{Nx2BXt4nGiE@eDeE;%J2PGd9r!pfQeWJQTp=t zW-Bu~vTMFd!-utJ=K+o|5=caOO}21*InTI)7(4C?SqfsF|2r*vtKHtG zRvX^a4iC~SoihO;;$4B95Zw6I9%rt$kE(6;r$9nArF#wq*N~Q7vv;?sHR39 zN@YU-3d3)~CZyW6w5oBiYCSZFgneTDKy+Cm)9=l7=E1;&-{G(eDvUTVbiPI%%l~eK zNjLz2i>dYkIsIHx>XP5GUs`fe^}^4L_9<4UK^_c%=cWHi_V{L?p<@|rB>mRUoPiCF zsq-^yua;5)d)9wMG6c#%MwN!bKB`4~KkZZ8_15TjlCr5yHwg)@yUk96>#htGE?aI0 zwm|cu+QRDn)(Ok&KPZz_-P-4d(TakqIs^Tpp%qY#gMn|%vZStkc%lxoiJG1u(Y3MKS(fl8}-<@NG zxfVqYGnR3qBz)8S}RUioppIwWb#6_b4Z4kN^iWTy)f!`q`V>=;RMk>W<7z5WC-U ze^C8`v!CRA7eHjCi!P^hUb9Jf`Vth{xUGz@%=eV0Kzyb7FRaoZpeE zztEsKrHX>MJ7v6AQb}VC88SK|^vi^W3Wyo_a>%#MrH1jt$EmrNyjv}&KHGiVSQLVs z=KHs-u^}Gx^rA)sGh1 zCLd52aR>@t8PXW?I}308c)ut|UXH(MmSbxnULPyJhJ5U?*PeicbG7ak(Cbm6&g0CK z0ttJFJVtE{^haLlBQXPV_4MzNl$4O9Xw;Uy0Eoo=@mbwRJ4bo9D``}@`9LoW% zP>Dd&Ed<4|`h0*MV`F~Rf_o!S>M#qs!Xe1jlRFv;AR+RK2?*nj{vm&5Uy9~>(}3e- z^{USE+}-g|95`VZM#ZYvZanm+bc5s%BZ>`rJbgeGV!pGDwNcxCk*q#-GC3Q4YVDGG z%~FkbRgZFvi6A^Flyqx!eevUGt%eo+kro+Bv}JZ2YP?_*=ya6K4L7o1! zs#UEuNbj@!sD)6WMc>6Z2HwhaFellB_Jp1?Bt^Gmpf;-?-jiaiJs0ZoW4kA793dsL zzb(Cu5;iv-JwbRmdh$mC!{Ib%X<|bPt*zg$*-l*jvwRdgv;|OS4MKnS;KQCtYTG^{ z{QVRUEJc;~D5S(^M?>pgsPHR}0VgxxpBu|Pg}vZoVKf?abG(}R-1}*!bK_}?0#cX= z9zYhY?q~@DlMz6%E))5NQ0}wbOy{#f$PU;of8))Nb4~q8=)D_{WeSb})MHNY2WB5m zqk2F*xOh{WOSvPuX@Bpfp@5~ZOxJ8!&|EC`LVyKW^eb?MY|lwfh&XhI#FuC8d`uh2 zYe9x>R(kixq8Iv?G8WrzTQ%Ihp1aR&?#W`uxh!Kneac}kU_CJ8O;UiL<6E5;5uHrB zkJk^dd|Nx_Xzv|EN%PXFcz6(ou!!(BtT6R&+77l0R|v}+tBc%BY&jt#<69;3XiEt` zQk@u-OuJIV3{TCly=muE+QaEfj+Q3*((>|7_CRcqzx@K^2>S5_`CQ{IJSHV=@&}}`~>yPuHCpL>_Kz1G>ky7w&^ZG>U-_@u1w`6m zND1}WJ>A3i4qlnOn0r0-I48V;(jgom&L6d>BAnn*@a1S~Wo1b}clPbT<5!wvPDHhg z^!Fs0yrFt4awoQZdwEYf^b}jS+%|mi)p$WwnwXicpspkav#rNO0#9&zy=L(}PxVsx zeEqVkhk5W>*T`4N1FNfiibIMjUuZcD+Z&?thj+}?`BQTVwG#?j<_)?N;t%mdC>EZr1xW&h##~F|rXzBa-PDCFmwFVOWh&Q}^fADQ}txQy*JJkDH%uxhX)^fwxq_5bGB3*C;F*RQw*uW?{*Y?%{qteF1x2 zeNkSw_?7}`QE8Z!^>GK?a~4oBB)1;&lk&no#M++}-?;@DwZ-FSQ`pH|v>GgVJqv5$ z6ZUQ|bF8BoSAVXZ<)zpRc+aq^df(fzDh#aQh;SLN{mJ(Yh!T8;Q~Wme0BOT_t>v8I zgekv7NBy}tbDR+5nhJn$E&Lhw`U+zf%P?!}21|e_YTV@sb8;Vmu4Q}MM&=dK6a9-l z{Eg~q%a{#}XnHESq8s>)A4_wL%#<09!RIE;efRvt2{~>0!9)J5b*^}@Zbp&ZG!N43 z4)^QlQwj)sE5RR2ai0b#(NCJ#J5R2&>u@2&r(DSo%%}#>K3ViZIan3+0%so}tP|S; zqJIHfQ@-OA77zXE!Qu9}>q79V>wIR#hUL1^-;`|EL-XA3kl#DMe3M!d1Pd{4?y`NT zcaXPYlV-4fYd7nFp1%0RdVo1s=V4D-f!>eXhn|r8QlyKCJkBKg8{@;LUc5iYfV?JR z(9`Mam&E)wUOx7y6Wb^nP_q48q@RpwGiyDiiFyOVC5&^Kho4*go+0i@aE7z~eU)En zh@R%dB0P!Ht@S>oqGq{jIGPmS{wG1VY!a>kfp}m0$?w*U+aHC95ly+PbIGLPLW5xW zg0HT3kqiUb$`X9jfplmHroH=FnfB_;)q(jKccxjS3Ewqeys~Jqv!C%hRdbmYCB830 zayO>NuUWX~7we<(B+BZ3N!WGkpJ{rcM(S{xMaOP$AMXx|O!pn#k#b}DtrkRei%P=z ztK!L0I>N8e=&3YmQP}5=V2;;*#jzZ&@zgVe`9mk#Yg%0pw^&_+n8jx*mLpGyY@37! zPvVppW^!{#Gr3YO#X2v+DGb;;GnQe7tXg;$P&J^IuN_sj+8NJXJ5@iYGWp|81voT< z>P|Gb+TRXN^8~DZBK$I5!n-G#E3kMYkkJ1{%7f1@MtqJ-oxn4UVrmCvXA z&CIK9l3fFRo8Nku$E*IFUxad(eWg<6ip$?wMy&peoJ0)B=f?z z$}-$WWkT|*S)8lYH9ICSp93my74%u7WHKf7$_=)0IEXn59bZTFh;U6xU zeUhdT<*FK{WPD?LB%_p1rS@<*Fp+&*}LbUx&L z!$OwrP@utsVqXviaibz-G47oayoIA-)jA=>J|nVk%V>*Th*v*n0|44H=jw^Ai5!ax z-WvK|$81mTfxJD2t{%R)8aI99BEU(F0IdEs)ar5~8f|eYXM+nlebE04)_<4pxD*@^ zRsfi3Djls8SZ%+R85qV;XgT&TC%uZ^O>e68h3(hLVILX_)_)Bg-JVCIn(4P+7x_>t zv^szJ_XkrK`PlqQHZFq*zaw}r1R{?3$O2AC2sO5Oy9}XD4evT?ooICyGyL7P4(Y^x zOnC?L3RH`3ZaZkWXPFnf+(uK%VJEeytgN)dy;)Z^+O4PT@ zTWKn`n1(03V0xTK6u5PJHh99hcOCQ6y}g16X6jwra+%04CTb8yHB9Y-r}0Po;-+Js zEnT(mupK_G5{3sqIc@RhHbMpwX97kEM58POE=LH&=G*c6x+6l}OY;5~pIsKZep9qL ze`v6VQ1@;|t4#KuN817?nbtoyt$`?v|9*;%u+qxXuaBGpWm4yG3|J9g_%EzD1J_`S z509vepS1?iX|qY#m-@k5oA>WieGE}&ToA;_P|0;~%r}|93G>@;Z@KV# zT0a(p(Iwt}5Xj+t2H1Ff-&3R=HL}20sc0@Qmg)sf^z%tssi;Ofpu0y4O;H{KHlbrY z>V2f17jtDN^qYF+9bdlfQp^$mdG(PN>9wEYitGrfCvBB8G9~cW9@BSoDm9KFq51j7 z0<6FZb-m6mNaH1dGV-K(sDDktlV>B%O#c4#2gW=$;?zw*YXD4Hj3DfS-1Y=@LK`Q#YC_HWr%%fv#BpjZgx!4q(DuXIS4tWMd# zmpaY%t?5pc;JDlf`IKw9+MaK}yVjCq@u`21`Nd%h*{0Rbz#B z7ZB%fR1o|UaFF62sYwC+f%Bi<{vox1p8^I7V}lhjhs|woFs|Q;u1$Vc-O9r{e^>%WmpNJ)|;3rv`)mU{|tWyS@;Zolvw zF@dC*j5MZVv9z3Wkgsh^1zeN*C;hh(6{hB5;`~4^ur1D$J6D1T+#D8LuUW(br~Gf9 z==a{bj4&Pm0!#n%zt=@jEmM8BH>PYT&#(%iecRFibv^%K05zI$rg0_Z)_b%wu=<~$ zUQ*8f_l$F5FKztPzA8}f(J|SN_}~Bc@+KA3;mh=Ms#XIT>e{>`>o*r0(ovqgPcZ^G z+|2fz!Q+4b&N<(bSNTjt4K$(8Ut@K9=->|8zrwtZV=`9ppWn=*n{JEbKa>+$LHBml zt^LPwoY*;|b%4Q?`!t-+(!>Y+_ki?0?%ut0_uUIwdHIgvGRJzIn+*&kpHkzmsBj7b zmh;)~5jdbCicC>P?SiqY0%5eFFtssC10ALWqn1+&*83L2CfnEoXY)~$pQ4URD=Ulf zg|5Bo9~_iiEAdINO?*Jx$p3;DWf$rrZyZWB+Z!S4;1UaqOB$y~$_4$9NK&p^upR~+&S3cRen zNi)~-^Yi2DgDD+bw2di+hV|$=%6PD}y86QNdmiZZy!kKhG;3;W>lbIa(s+^pg-9B3 zlKy+eC-ayj)p*=+z!o-`m=T`8BuH7N% zzC}z1)4nok009n#(QXEk2X5LsIh`f2IR_zXL)J@4tE(N^YQdQeEc+i}hGr>W-h1Y* zgqT2~@Rgd$l^Re9P9Ic@lW|F7W?@m*xVaoit0$k#i#6%f`Ih!+!qZXQ)!jX1Yb!Kx zuCOYzr-(^GErs~uTC6wKQ6+F0u~Hp-N<}0wF>zc4=r!^;feHdbN+-&~7)CU!(o~V$ zYa4WIqun@EV6lOY_AbXAma6;8^A6csJ{g%8OTwZQXT!pNe*Kg1T1rikxJ%qumz$F_ z9@O|6;rxk#Ye)?hLsQ}OO~Nvxpdn@`Y<(&f6G{Gb)L1b$nfEOzSXNH%ioHE@WtQ>l)hZK3KxK|z^4TcD7e@*Zmu+GeHONM=tiNEvx~{l=kTtKg5QahRr5Y+WxF zwmHEkeC&{tPTnqX2KSp-2l47d-J9*zg~}MfKfZW|&VHd@aSeLLfYprZBnNYof%T{G zR*~K#j6F7+r9$~RBrWfw!G+zR2iQkRyqyl**xA|H$@VjFpO}k%i^Uolymg`EH&CUC zl&#Q)Epl;IZWC$9wXm>oxl5*JQVv0MeRbpd^|r7rLYT4+f+*N29ecX(k&O_0Je)S~ zxE!Ie`9bNaVZ$P*P&oJeF;!O%c0GOTZE^i-x_8ZMb)+fZu;16lUF)E{p~8A=*rpEQ zUBByVFr((*)IP8>4_)R43zu{G0Q0`4Ln~IlHI^?G><8r^*NtGZLvzIql09maOdlT~ zMU)*H)FQ+5+NSe1k(}}(Bx!VvJi-l+9;;rzxSZ}x^)Y~f_vuSW`{-of&d~KvsGcmB zZ}!l%Goe9#Vu8w%r>x>l-44v!KDJSNBCdK7N2*Zw)3c(O& zFj&3Jr?JksJf`CNiu2DMf>ia>JL6IiQ2(``cL>3Ao|5f8vK9%UMtmRgBD7$K-lDJk zwWS)Q)sK2LtHA`D%-p&~n&aZ;MisL%K_DsG{~h)fTmIF`o}lPDV|V={U{8Hl?;GlF zc&bJ{zfsbEhA;SU4w-(KmHI%$2;zsGt{8LA@VSJirzF^;-xS}(2iKU<%36iI6whWn zhw5l~w{M3(lX*JAu%Pdt&L&-P!bC*ve)HW61UYKI5e!x?1pAc2+d!)LNSXr^g(lWD zp?LdA#2BiNG0eiAKU`MLjQCB=Ssj#Q76GnY94dY)qVw!&pID~0wJ$83S#B2czex9{ffzV_03J+-bqFinzg=}^W)yL{$oFb z9gaB1?h_7@=a=X~G)Tgy6%hLnUdCOtVWR?#zJH;@8F)Q|n5O@GV#c@o1yj^ZXMt+C z@UhJp7utGXBNwgGfa~dJf!|rAAR7#K!FL3>qzc9zwDpVoY zXni~5`s?F-=h30=fZg+c{AVV0d_*weDqe<5TuxmBUK(B=>}0J8-fvk`f* zM7_4LXR!yI#1j4N$~BD2Vq4f|YgikUHUL#3&OIc4)8iu}Bi;a?(V}EA2Mk!xq!fKw zY6>_YJQ9g)=0uZDqm0S@O=in#Ti^J$K5+Juu2}?Ktx4rK)F^Jy4*QWCt1cF{#1Y2N zP!e%&1$Q5#<}P4eG7ioZ_u6J`by2-(G(5dtCWn~8A;csDQ^4T2R;w^<&Uq?v{?^dh)q9+c(oK1hjoL2E~S3+a3 zOwWXELb`csJ+jCIeTn;FQ5!h&Vc&GAYu|nW8fATtjKjhjR_Iaz%ad2msL2uqKP329 z_UFc<`TtxFgiYS?B4HC2U-21-*7G)!hR(qIpm3gX($ze=1*=`q-aeFB-uM+$){vln zESz7-oH#TqI7Zr-6YM8N?;-WtQ;X88wckt{?oWW86uQ!2`V0E z<>E+IR}x7>GZzf;W7iuRLW}z;VADSb1u6u_i*;1veU!6%B~%BH&7BgPpBAY4r}=Z zfT|g;r~M}Yss#YhUnsU2lbR)rNlfUauNc$Xz~Fd46fWl3Calb zr>72Hp|ym>zDTzR*tEWR!{WEem0hBE6T#$m!Lm#-KxkJfy~R3o+^8t?UWSBJCyUMs3F>&MH80? z3(|Ua#XH(x_RdRlF=&ilj)bH{Pf|C}(g^@q#{XXdOY(B$A^0}fV1A0kc2BCFl;Ay! zP&Zs*)DNBt#&2YYY^@V4pD{xqcA}ecl_IArm<)BCZ#~sP+B;Sx-HJ5(I(~_{ zqAa$kK$MIKOHb&vt;WP|qM%8m+Fz1rl)zlY$|(TWMToiTW}v6dwflx-J9#P+0%PA$ z{PovET6T|Lv!|R#Oi`IdV{b0r4C`Sq+yG^0A^xvC4QS3((zY}}M?c}o{w|KLm)IRm zm$l2CO2p@2yII{5T3~EZ#G#73utg$UJ9o0cNLleja!*{!5ap`<5oZjWC9&8)Jv5rK z;&7_@MBI0#vED)v@6)C|$y;^T(qmgPH8Mz)Y_Rpjqg(r-trSmv8}E-IvF^ zm~bLd7uS~mOc@Wt`(Jl)z)&EKVP;$1`xE>RsSUmemBrzL4$ies+&MUSL%-Vl(~z=g z2T#0Lj9wtK^Li-jz-X-QVcjM+vRq4U-Kew%)YIyVQnYla;#u;IsfCR~sr06J-(jHM z(fm>QL&{-z(s@52F;BIVBK;d`Kn1HKWUH=P5lOC5DYn0`0Y?9aR1m^C5^8mJ+jb_| z{{uBJ*;d!ITJxG^I@}~6UJ?7jq2p8b{SogBD>Z*oWd?|@vd-V z2LpyIo-t^8Tj_F$Kzy$Blw97BA+$>TdfKY;3jEy$A(4h7JF3?IT(odSB8z1!tQt+d#*p@NvU`kZ8&Z#(;OQv z9Ark@=+~IIh?KoN0M}dwmFG|kEkfm<(@sqZsPwXNnf02y);fxyMcywI5)79vy4Jlv zNpUFz%C#Aj=@#|x#B6P}wIk!`6JX|X+nmS8A=gNLHYVCp1ka+gab=i1KGUWB?8 z3AQ{%esjtQu5oHvc^JVZl%rG8l-A@xB^aoQr3TlfJ3hLPTG#o zC8J|{rgAAP?fk{DcL@ku7k?mbgIf4boz{$X-P{6|YuC$%3Kl15a%}4=+fXu)%~y?m zyjbewigJ@T=W&k>%X*V~a)d^}n;f4t2JF zt1pcJhoa)OJ;e66H)H71>tD>)Ej@16x7zD>%w>Y8^lP#&$%1jeOcwv!If(bh!I%UaqxiI`Cd`fx&D7GRsOanNfx!C1hr8u|)|e6f$z^6qO& zlyQDy`c?Wum!zmsuwj|vP3t))qd;*6^-UJPx-jO-(``T;0;fF;!wtgP&;Ho*F$tM^ z2`@{&$mx(Q;`APH3fF(z9u_u`JmIWU0q!YYa~T*IXzA@r3YB2|4)|+zMA{-w$-AnH z^c2-9RlODO{nU}V0)FT>ega0sx%VFoFuceeSg^jf-Z%_~iq-I59uVb#}DY zf7Q>g+J7!YY6X*-iMyipERnZ$uo&ubs*mJNm1A~heEro}Ul9?A@*Ur@tSk!rRIfsC zs+HA9r*bVi?769)po2vZ@_=5t71Uyc`vBXj*8qS0B8pxgDo&PT{2oHTRm$I8-}@kl zR(Y55u2qAbFt~@{hZ?>Am2G|IY0&-ene*A9e~ZRMr!-_+Dr-GhX6KgPd(rol3Rtgk zC-d%MbvOT#_E`|PLj(9?; zTp&|VMeS53`awD=pW>ck)xfyN?_=Cq1dEu={kcHQIPiYLyf{-n6udh=oG|2?2v3gO zO!%$nyIGy(7kXWe&-zYtAAWy)QT2x^o?}EAR&KF0UGGJ$Da*5;QNSv*Q1>cb#EPW@&VGTyb$MOGZ($SfYSZm4Sc(0**uoEz(2?gAF8vs)-;)U~Djm zbO@cG5MqKM-~^=GR#2*tKm;ixRfrNHgh*(61J1x~`MJ+N&+h*Gl03=%?tQ;|&wJi; z-t+-O&5FPj%)`9oIXusrk)d6VHDRB8d82^)XPM>|a};>{7b8_KpeM!VuEyXRzFx9w z|G)g=F9);rKQSBIbAL5jZff0LU7BKBRr5W)aZ{^ITlGq+4klvJt{A3Xtf-K%F2>fy z!R_i|pK9taB{vmXuzJ>BpDS-MznCWd0yVCbw%;=(YCHM{`W8G8h5g2f?ULzrUIj)g zqO{mYX3m)^vI*8Mlx-UCjs3KKYuGaTmW`DfHp>smq_I|r_;2WpT z+Cy;8`8u;ZjiGJV*F=3THGovT(?62s##kd9Q};uE!v)H_Zdn4l5%^X;zF$#WE#K0= z;5=k~zX-hSdBkiIR)IGy_>1`+(=PSi_~kULwRWQR4mW+{Hj7Jjyn^r~b z=HJ849vkJ~q*j`vno9jJ1_~NS{?off@JC=9UP zDP18R+4u2XE~;a$-dHQo`gqdrYrrKW|0wDFJ zxWH(*S%v70?Iyev7nrOHt#%b>$*9Ssye75J*EPg+@w4ZUo<00WkM)K%Pqti(@d#Qe zw1Y{T#|>}BBPP1#=&DxX3)8eLnDp2?3vx~x0eW5-wjifI$n7@4U5&1F%o6@EQl0`2 z03?~hM-QeO&$dYB6llh71^i{=(aq*Gk>eDr={Acytntb1=ODCJt?84`J=3GjK=6lZ zJh%!*3I!Yt^Jt3xrZHX){1gTJeFx%e;9nv+Ol@oMnDN*VMTxsuQCIYVj2MQm-_!ok z^w8UQ*+7pZ?TKi#<({_GON>&WnjEqTrBSa3yY`isD7OTvw-H*GDQ8I>w5n8hJ+ag> z&M@pKz6gXW);dAVW@r^@=qDCp6W*&s)OqDpOr)aYDfQu3t?q$-Z-MpnMo7blX`7H& zd7rP#nQnkEeq239wgsRCMeGaE*8^>`_y;N$a)~3|@{z12JAJK*0R)ehoxVST@}NYO zxe=M4Vqs^wkfm&TV_5#___J~3W^QCAFP=0XG7x$~^ruozRSx7!dmu1SkV0QZ6ZwQL z9lI||mFc{vBix<{ZFaMiEq?$pCm}S*P1RjT0~*hxL!Ka^YQljfglVx)Fgn`8!?kV@ zv>~#UdiCRM1|FrVxH`q_40*!0`*k3}+!av<_bAb5$%=hcuSI z4(m?9UL)W)@nEU~IQ_YnX&oqrxL@_lzB1%e1jsJo7dzYgik|(BAX}dPu^uciw%SD)Yx}Mrj6>szUd#lzSifir+KaHwbDP z-yd^O;3bkxQwf)Qejvo6wB{|3^DHQCvD87#*0A-+jR_u;tNSkSp@vP5&oa|{hJcK|J=m-$gQau_N15zXQXJoj^2T>KaH$L3;FNbJ={9@ z$vWm{Y#oKcP_IE9gB)|1fF#B|B>98K3CwJKP;kc_OQKKms9s}LVV7sv;f z+cnhJoKszeC^#>kVwN?(7n=Gq#{_?$mfVmbg@04jEtg1o{(YC5xN`ezbNTiWQF;`~ zZ_Q&I?1_67ZF2=}F>>d$&^9Ri$!BqeJ(R=Gjvt{;EYy&kLC$8e!k^8Lr1l1oO-rOqQ4ma zb1jBaYZ@i$PMlj;5neVV5`sROKh(uLu=?iucps^qz=f*(lDD(nqjZ%zl4OY&H^>Uo zMmSJntZm^-9LJnitz1xRsByQxxs@smL=TLIym)pl3h>rTZ)!c2&4PSF9g$(*DWq)e zK(l2QklhN^%^{1mR_)0_RyxAjOtMP)>}gOu^n`A01y8Uhab8k9nGn6yxRAUt+2Z** z0ohf}aiS&_@WSUcqb`IkeG8+V&YaKjy%q^7Ql!aBiCUa(H28r@eC*dPzyvMUz<$s1 zfrAP3M7U#Y5wP47;Yeef^Q#>1fVz^hKvafj!$t;RbEatP@nt~Mggy}%sg)I|qPk*E zXq%(roPoJq$ta25gg~BL=$Z4%pMQE@nGh>hNfkdABXJQdtGVf)WK%!IazyH>@nr>XkPROI zgsrYmqy{K0={c1U2XEfjcF)>}K-%BJ)s=sc)K_R!uS(PLbl)xU2=k6T4t(-!YD9Nz zXCpixD2_YkI>_uUcN!)r##tOPG^Yo8*)YmhkE{n-cKSsBGqs^zj>og9CGn` zhM3ZLc!EsG2p)1-G|muk#jK78WX18T1w;SrXVWq_JHAcR%u;_JKO&q`8ufqSe-8Xq znMYjHgT4=f$R|t;D}km7;mDqDM4k_W7s8Jty5vR&$S|gWjk8;Re_y8 zn}~U?owX$$u8r(e&|DZjyR&u*N|}!Ns)f$?&wr|a{m>GOVM6xwGPs~sbM*{W;>%w> zipkfv;1yf^Uv#^B#^{@pPxg^R^;}`9Z+F@CABwZnuVG`pl@#8IwCGZ+TPr*yOj~v5~B=;RlH_c0KY}sv;_-nY}r=iZYKcP zOzj!ur6;j@~%%F!TU}ps4Ib3+%&|G@IYFAT;?1Tp>iUR?1(Oza%q@<>~A}3$o zg0>^_o3SmR*d>#`N)xQ{T7wTQ{@vxzdXcO({DO?!DkubRY45v-_+3@xzYf3rX9^J} aLrd#Q0pZ8mcK{;UN6e06P({biUjG{-mR_v@ 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 fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 zcmZWtbyO6NvR-oO24RV%BvuJ&=?+<7=`LvyB&A_#M7mSDYw1v6DJkiYl9XjT!%$dLEBTQ8R9|wd3008in6lFF3GV-6mLi?MoP_y~}QUnaDCHI#t z7w^m$@6DI)|C8_jrT?q=f8D?0AM?L)Z}xAo^e^W>t$*Y0KlT5=@bBjT9kxb%-KNdk zeOS1tKO#ChhG7%{ApNBzE2ZVNcxbrin#E1TiAw#BlUhXllzhN$qWez5l;h+t^q#Eav8PhR2|T}y5kkflaK`ba-eoE+Z2q@o6P$)=&` z+(8}+-McnNO>e#$Rr{32ngsZIAX>GH??tqgwUuUz6kjns|LjsB37zUEWd|(&O!)DY zQLrq%Y>)Y8G`yYbYCx&aVHi@-vZ3|ebG!f$sTQqMgi0hWRJ^Wc+Ibv!udh_r%2|U) zPi|E^PK?UE!>_4`f`1k4hqqj_$+d!EB_#IYt;f9)fBOumGNyglU(ofY`yHq4Y?B%- zp&G!MRY<~ajTgIHErMe(Z8JG*;D-PJhd@RX@QatggM7+G(Lz8eZ;73)72Hfx5KDOE zkT(m}i2;@X2AT5fW?qVp?@WgN$aT+f_6eo?IsLh;jscNRp|8H}Z9p_UBO^SJXpZew zEK8fz|0Th%(Wr|KZBGTM4yxkA5CFdAj8=QSrT$fKW#tweUFqr0TZ9D~a5lF{)%-tTGMK^2tz(y2v$i%V8XAxIywrZCp=)83p(zIk6@S5AWl|Oa2hF`~~^W zI;KeOSkw1O#TiQ8;U7OPXjZM|KrnN}9arP)m0v$c|L)lF`j_rpG(zW1Qjv$=^|p*f z>)Na{D&>n`jOWMwB^TM}slgTEcjxTlUby89j1)|6ydRfWERn3|7Zd2&e7?!K&5G$x z`5U3uFtn4~SZq|LjFVrz$3iln-+ucY4q$BC{CSm7Xe5c1J<=%Oagztj{ifpaZk_bQ z9Sb-LaQMKp-qJA*bP6DzgE3`}*i1o3GKmo2pn@dj0;He}F=BgINo};6gQF8!n0ULZ zL>kC0nPSFzlcB7p41doao2F7%6IUTi_+!L`MM4o*#Y#0v~WiO8uSeAUNp=vA2KaR&=jNR2iVwG>7t%sG2x_~yXzY)7K& zk3p+O0AFZ1eu^T3s};B%6TpJ6h-Y%B^*zT&SN7C=N;g|#dGIVMSOru3iv^SvO>h4M=t-N1GSLLDqVTcgurco6)3&XpU!FP6Hlrmj}f$ zp95;b)>M~`kxuZF3r~a!rMf4|&1=uMG$;h^g=Kl;H&Np-(pFT9FF@++MMEx3RBsK?AU0fPk-#mdR)Wdkj)`>ZMl#^<80kM87VvsI3r_c@_vX=fdQ`_9-d(xiI z4K;1y1TiPj_RPh*SpDI7U~^QQ?%0&!$Sh#?x_@;ag)P}ZkAik{_WPB4rHyW#%>|Gs zdbhyt=qQPA7`?h2_8T;-E6HI#im9K>au*(j4;kzwMSLgo6u*}-K`$_Gzgu&XE)udQ zmQ72^eZd|vzI)~!20JV-v-T|<4@7ruqrj|o4=JJPlybwMg;M$Ud7>h6g()CT@wXm` zbq=A(t;RJ^{Xxi*Ff~!|3!-l_PS{AyNAU~t{h;(N(PXMEf^R(B+ZVX3 z8y0;0A8hJYp@g+c*`>eTA|3Tgv9U8#BDTO9@a@gVMDxr(fVaEqL1tl?md{v^j8aUv zm&%PX4^|rX|?E4^CkplWWNv*OKM>DxPa z!RJ)U^0-WJMi)Ksc!^ixOtw^egoAZZ2Cg;X7(5xZG7yL_;UJ#yp*ZD-;I^Z9qkP`} zwCTs0*%rIVF1sgLervtnUo&brwz?6?PXRuOCS*JI-WL6GKy7-~yi0giTEMmDs_-UX zo=+nFrW_EfTg>oY72_4Z0*uG>MnXP=c0VpT&*|rvv1iStW;*^={rP1y?Hv+6R6bxFMkxpWkJ>m7Ba{>zc_q zEefC3jsXdyS5??Mz7IET$Kft|EMNJIv7Ny8ZOcKnzf`K5Cd)&`-fTY#W&jnV0l2vt z?Gqhic}l}mCv1yUEy$%DP}4AN;36$=7aNI^*AzV(eYGeJ(Px-j<^gSDp5dBAv2#?; zcMXv#aj>%;MiG^q^$0MSg-(uTl!xm49dH!{X0){Ew7ThWV~Gtj7h%ZD zVN-R-^7Cf0VH!8O)uUHPL2mO2tmE*cecwQv_5CzWeh)ykX8r5Hi`ehYo)d{Jnh&3p z9ndXT$OW51#H5cFKa76c<%nNkP~FU93b5h-|Cb}ScHs@4Q#|}byWg;KDMJ#|l zE=MKD*F@HDBcX@~QJH%56eh~jfPO-uKm}~t7VkHxHT;)4sd+?Wc4* z>CyR*{w@4(gnYRdFq=^(#-ytb^5ESD?x<0Skhb%Pt?npNW1m+Nv`tr9+qN<3H1f<% zZvNEqyK5FgPsQ`QIu9P0x_}wJR~^CotL|n zk?dn;tLRw9jJTur4uWoX6iMm914f0AJfB@C74a;_qRrAP4E7l890P&{v<}>_&GLrW z)klculcg`?zJO~4;BBAa=POU%aN|pmZJn2{hA!d!*lwO%YSIzv8bTJ}=nhC^n}g(ld^rn#kq9Z3)z`k9lvV>y#!F4e{5c$tnr9M{V)0m(Z< z#88vX6-AW7T2UUwW`g<;8I$Jb!R%z@rCcGT)-2k7&x9kZZT66}Ztid~6t0jKb&9mm zpa}LCb`bz`{MzpZR#E*QuBiZXI#<`5qxx=&LMr-UUf~@dRk}YI2hbMsAMWOmDzYtm zjof16D=mc`^B$+_bCG$$@R0t;e?~UkF?7<(vkb70*EQB1rfUWXh$j)R2)+dNAH5%R zEBs^?N;UMdy}V};59Gu#0$q53$}|+q7CIGg_w_WlvE}AdqoS<7DY1LWS9?TrfmcvT zaypmplwn=P4;a8-%l^e?f`OpGb}%(_mFsL&GywhyN(-VROj`4~V~9bGv%UhcA|YW% zs{;nh@aDX11y^HOFXB$a7#Sr3cEtNd4eLm@Y#fc&j)TGvbbMwze zXtekX_wJqxe4NhuW$r}cNy|L{V=t#$%SuWEW)YZTH|!iT79k#?632OFse{+BT_gau zJwQcbH{b}dzKO?^dV&3nTILYlGw{27UJ72ZN){BILd_HV_s$WfI2DC<9LIHFmtyw? zQ;?MuK7g%Ym+4e^W#5}WDLpko%jPOC=aN)3!=8)s#Rnercak&b3ESRX3z{xfKBF8L z5%CGkFmGO@x?_mPGlpEej!3!AMddChabyf~nJNZxx!D&{@xEb!TDyvqSj%Y5@A{}9 zRzoBn0?x}=krh{ok3Nn%e)#~uh;6jpezhA)ySb^b#E>73e*frBFu6IZ^D7Ii&rsiU z%jzygxT-n*joJpY4o&8UXr2s%j^Q{?e-voloX`4DQyEK+DmrZh8A$)iWL#NO9+Y@!sO2f@rI!@jN@>HOA< z?q2l{^%mY*PNx2FoX+A7X3N}(RV$B`g&N=e0uvAvEN1W^{*W?zT1i#fxuw10%~))J zjx#gxoVlXREWZf4hRkgdHx5V_S*;p-y%JtGgQ4}lnA~MBz-AFdxUxU1RIT$`sal|X zPB6sEVRjGbXIP0U+?rT|y5+ev&OMX*5C$n2SBPZr`jqzrmpVrNciR0e*Wm?fK6DY& zl(XQZ60yWXV-|Ps!A{EF;=_z(YAF=T(-MkJXUoX zI{UMQDAV2}Ya?EisdEW;@pE6dt;j0fg5oT2dxCi{wqWJ<)|SR6fxX~5CzblPGr8cb zUBVJ2CQd~3L?7yfTpLNbt)He1D>*KXI^GK%<`bq^cUq$Q@uJifG>p3LU(!H=C)aEL zenk7pVg}0{dKU}&l)Y2Y2eFMdS(JS0}oZUuVaf2+K*YFNGHB`^YGcIpnBlMhO7d4@vV zv(@N}(k#REdul8~fP+^F@ky*wt@~&|(&&meNO>rKDEnB{ykAZ}k>e@lad7to>Ao$B zz<1(L=#J*u4_LB=8w+*{KFK^u00NAmeNN7pr+Pf+N*Zl^dO{LM-hMHyP6N!~`24jd zXYP|Ze;dRXKdF2iJG$U{k=S86l@pytLx}$JFFs8e)*Vi?aVBtGJ3JZUj!~c{(rw5>vuRF$`^p!P8w1B=O!skwkO5yd4_XuG^QVF z`-r5K7(IPSiKQ2|U9+`@Js!g6sfJwAHVd|s?|mnC*q zp|B|z)(8+mxXyxQ{8Pg3F4|tdpgZZSoU4P&9I8)nHo1@)9_9u&NcT^FI)6|hsAZFk zZ+arl&@*>RXBf-OZxhZerOr&dN5LW9@gV=oGFbK*J+m#R-|e6(Loz(;g@T^*oO)0R zN`N=X46b{7yk5FZGr#5&n1!-@j@g02g|X>MOpF3#IjZ_4wg{dX+G9eqS+Es9@6nC7 zD9$NuVJI}6ZlwtUm5cCAiYv0(Yi{%eH+}t)!E^>^KxB5^L~a`4%1~5q6h>d;paC9c zTj0wTCKrhWf+F#5>EgX`sl%POl?oyCq0(w0xoL?L%)|Q7d|Hl92rUYAU#lc**I&^6p=4lNQPa0 znQ|A~i0ip@`B=FW-Q;zh?-wF;Wl5!+q3GXDu-x&}$gUO)NoO7^$BeEIrd~1Dh{Tr` z8s<(Bn@gZ(mkIGnmYh_ehXnq78QL$pNDi)|QcT*|GtS%nz1uKE+E{7jdEBp%h0}%r zD2|KmYGiPa4;md-t_m5YDz#c*oV_FqXd85d@eub?9N61QuYcb3CnVWpM(D-^|CmkL z(F}L&N7qhL2PCq)fRh}XO@U`Yn<?TNGR4L(mF7#4u29{i~@k;pLsgl({YW5`Mo+p=zZn3L*4{JU;++dG9 X@eDJUQo;Ye2mwlRs?y0|+_a0zY+Zo%Dkae}+MySoIppb75o?vUW_?)>@g{U2`ERQIXV zeY$JrWnMZ$QC<=ii4X|@0H8`si75jB(ElJb00HAB%>SlLR{!zO|C9P3zxw_U8?1d8uRZ=({Ga4shyN}3 zAK}WA(ds|``G4jA)9}Bt2Hy0+f3rV1E6b|@?hpGA=PI&r8)ah|)I2s(P5Ic*Ndhn^ z*T&j@gbCTv7+8rpYbR^Ty}1AY)YH;p!m948r#%7x^Z@_-w{pDl|1S4`EM3n_PaXvK z1JF)E3qy$qTj5Xs{jU9k=y%SQ0>8E$;x?p9ayU0bZZeo{5Z@&FKX>}s!0+^>C^D#z z>xsCPvxD3Z=dP}TTOSJhNTPyVt14VCQ9MQFN`rn!c&_p?&4<5_PGm4a;WS&1(!qKE z_H$;dDdiPQ!F_gsN`2>`X}$I=B;={R8%L~`>RyKcS$72ai$!2>d(YkciA^J0@X%G4 z4cu!%Ps~2JuJ8ex`&;Fa0NQOq_nDZ&X;^A=oc1&f#3P1(!5il>6?uK4QpEG8z0Rhu zvBJ+A9RV?z%v?!$=(vcH?*;vRs*+PPbOQ3cdPr5=tOcLqmfx@#hOqX0iN)wTTO21jH<>jpmwRIAGw7`a|sl?9y9zRBh>(_%| zF?h|P7}~RKj?HR+q|4U`CjRmV-$mLW>MScKnNXiv{vD3&2@*u)-6P@h0A`eeZ7}71 zK(w%@R<4lLt`O7fs1E)$5iGb~fPfJ?WxhY7c3Q>T-w#wT&zW522pH-B%r5v#5y^CF zcC30Se|`D2mY$hAlIULL%-PNXgbbpRHgn<&X3N9W!@BUk@9g*P5mz-YnZBb*-$zMM z7Qq}ic0mR8n{^L|=+diODdV}Q!gwr?y+2m=3HWwMq4z)DqYVg0J~^}-%7rMR@S1;9 z7GFj6K}i32X;3*$SmzB&HW{PJ55kT+EI#SsZf}bD7nW^Haf}_gXciYKX{QBxIPSx2Ma? zHQqgzZq!_{&zg{yxqv3xq8YV+`S}F6A>Gtl39_m;K4dA{pP$BW0oIXJ>jEQ!2V3A2 zdpoTxG&V=(?^q?ZTj2ZUpDUdMb)T?E$}CI>r@}PFPWD9@*%V6;4Ag>D#h>!s)=$0R zRXvdkZ%|c}ubej`jl?cS$onl9Tw52rBKT)kgyw~Xy%z62Lr%V6Y=f?2)J|bZJ5(Wx zmji`O;_B+*X@qe-#~`HFP<{8$w@z4@&`q^Q-Zk8JG3>WalhnW1cvnoVw>*R@c&|o8 zZ%w!{Z+MHeZ*OE4v*otkZqz11*s!#s^Gq>+o`8Z5 z^i-qzJLJh9!W-;SmFkR8HEZJWiXk$40i6)7 zZpr=k2lp}SasbM*Nbn3j$sn0;rUI;%EDbi7T1ZI4qL6PNNM2Y%6{LMIKW+FY_yF3) zSKQ2QSujzNMSL2r&bYs`|i2Dnn z=>}c0>a}>|uT!IiMOA~pVT~R@bGlm}Edf}Kq0?*Af6#mW9f9!}RjW7om0c9Qlp;yK z)=XQs(|6GCadQbWIhYF=rf{Y)sj%^Id-ARO0=O^Ad;Ph+ z0?$eE1xhH?{T$QI>0JP75`r)U_$#%K1^BQ8z#uciKf(C701&RyLQWBUp*Q7eyn76} z6JHpC9}R$J#(R0cDCkXoFSp;j6{x{b&0yE@P7{;pCEpKjS(+1RQy38`=&Yxo%F=3y zCPeefABp34U-s?WmU#JJw23dcC{sPPFc2#J$ZgEN%zod}J~8dLm*fx9f6SpO zn^Ww3bt9-r0XaT2a@Wpw;C23XM}7_14#%QpubrIw5aZtP+CqIFmsG4`Cm6rfxl9n5 z7=r2C-+lM2AB9X0T_`?EW&Byv&K?HS4QLoylJ|OAF z`8atBNTzJ&AQ!>sOo$?^0xj~D(;kS$`9zbEGd>f6r`NC3X`tX)sWgWUUOQ7w=$TO&*j;=u%25ay-%>3@81tGe^_z*C7pb9y*Ed^H3t$BIKH2o+olp#$q;)_ zfpjCb_^VFg5fU~K)nf*d*r@BCC>UZ!0&b?AGk_jTPXaSnCuW110wjHPPe^9R^;jo3 zwvzTl)C`Zl5}O2}3lec=hZ*$JnkW#7enKKc)(pM${_$9Hc=Sr_A9Biwe*Y=T?~1CK z6eZ9uPICjy-sMGbZl$yQmpB&`ouS8v{58__t0$JP%i3R&%QR3ianbZqDs<2#5FdN@n5bCn^ZtH992~5k(eA|8|@G9u`wdn7bnpg|@{m z^d6Y`*$Zf2Xr&|g%sai#5}Syvv(>Jnx&EM7-|Jr7!M~zdAyjt*xl;OLhvW-a%H1m0 z*x5*nb=R5u><7lyVpNAR?q@1U59 zO+)QWwL8t zyip?u_nI+K$uh{y)~}qj?(w0&=SE^8`_WMM zTybjG=999h38Yes7}-4*LJ7H)UE8{mE(6;8voE+TYY%33A>S6`G_95^5QHNTo_;Ao ztIQIZ_}49%{8|=O;isBZ?=7kfdF8_@azfoTd+hEJKWE!)$)N%HIe2cplaK`ry#=pV z0q{9w-`i0h@!R8K3GC{ivt{70IWG`EP|(1g7i_Q<>aEAT{5(yD z=!O?kq61VegV+st@XCw475j6vS)_z@efuqQgHQR1T4;|-#OLZNQJPV4k$AX1Uk8Lm z{N*b*ia=I+MB}kWpupJ~>!C@xEN#Wa7V+7{m4j8c?)ChV=D?o~sjT?0C_AQ7B-vxqX30s0I_`2$in86#`mAsT-w?j{&AL@B3$;P z31G4(lV|b}uSDCIrjk+M1R!X7s4Aabn<)zpgT}#gE|mIvV38^ODy@<&yflpCwS#fRf9ZX3lPV_?8@C5)A;T zqmouFLFk;qIs4rA=hh=GL~sCFsXHsqO6_y~*AFt939UYVBSx1s(=Kb&5;j7cSowdE;7()CC2|-i9Zz+_BIw8#ll~-tyH?F3{%`QCsYa*b#s*9iCc`1P1oC26?`g<9))EJ3%xz+O!B3 zZ7$j~To)C@PquR>a1+Dh>-a%IvH_Y7^ys|4o?E%3`I&ADXfC8++hAdZfzIT#%C+Jz z1lU~K_vAm0m8Qk}K$F>|>RPK%<1SI0(G+8q~H zAsjezyP+u!Se4q3GW)`h`NPSRlMoBjCzNPesWJwVTY!o@G8=(6I%4XHGaSiS3MEBK zhgGFv6Jc>L$4jVE!I?TQuwvz_%CyO!bLh94nqK11C2W$*aa2ueGopG8DnBICVUORP zgytv#)49fVXDaR$SukloYC3u7#5H)}1K21=?DKj^U)8G;MS)&Op)g^zR2($<>C*zW z;X7`hLxiIO#J`ANdyAOJle4V%ppa*(+0i3w;8i*BA_;u8gOO6)MY`ueq7stBMJTB; z-a0R>hT*}>z|Gg}@^zDL1MrH+2hsR8 zHc}*9IvuQC^Ju)^#Y{fOr(96rQNPNhxc;mH@W*m206>Lo<*SaaH?~8zg&f&%YiOEG zGiz?*CP>Bci}!WiS=zj#K5I}>DtpregpP_tfZtPa(N<%vo^#WCQ5BTv0vr%Z{)0q+ z)RbfHktUm|lg&U3YM%lMUM(fu}i#kjX9h>GYctkx9Mt_8{@s%!K_EI zScgwy6%_fR?CGJQtmgNAj^h9B#zmaMDWgH55pGuY1Gv7D z;8Psm(vEPiwn#MgJYu4Ty9D|h!?Rj0ddE|&L3S{IP%H4^N!m`60ZwZw^;eg4sk6K{ ziA^`Sbl_4~f&Oo%n;8Ye(tiAdlZKI!Z=|j$5hS|D$bDJ}p{gh$KN&JZYLUjv4h{NY zBJ>X9z!xfDGY z+oh_Z&_e#Q(-}>ssZfm=j$D&4W4FNy&-kAO1~#3Im;F)Nwe{(*75(p=P^VI?X0GFakfh+X-px4a%Uw@fSbmp9hM1_~R>?Z8+ ziy|e9>8V*`OP}4x5JjdWp}7eX;lVxp5qS}0YZek;SNmm7tEeSF*-dI)6U-A%m6YvCgM(}_=k#a6o^%-K4{`B1+}O4x zztDT%hVb;v#?j`lTvlFQ3aV#zkX=7;YFLS$uIzb0E3lozs5`Xy zi~vF+%{z9uLjKvKPhP%x5f~7-Gj+%5N`%^=yk*Qn{`> z;xj&ROY6g`iy2a@{O)V(jk&8#hHACVDXey5a+KDod_Z&}kHM}xt7}Md@pil{2x7E~ zL$k^d2@Ec2XskjrN+IILw;#7((abu;OJii&v3?60x>d_Ma(onIPtcVnX@ELF0aL?T zSmWiL3(dOFkt!x=1O!_0n(cAzZW+3nHJ{2S>tgSK?~cFha^y(l@-Mr2W$%MN{#af8J;V*>hdq!gx=d0h$T7l}>91Wh07)9CTX zh2_ZdQCyFOQ)l(}gft0UZG`Sh2`x-w`5vC2UD}lZs*5 zG76$akzn}Xi))L3oGJ75#pcN=cX3!=57$Ha=hQ2^lwdyU#a}4JJOz6ddR%zae%#4& za)bFj)z=YQela(F#Y|Q#dp}PJghITwXouVaMq$BM?K%cXn9^Y@g43$=O)F&ZlOUom zJiad#dea;-eywBA@e&D6Pdso1?2^(pXiN91?jvcaUyYoKUmvl5G9e$W!okWe*@a<^ z8cQQ6cNSf+UPDx%?_G4aIiybZHHagF{;IcD(dPO!#=u zWfqLcPc^+7Uu#l(Bpxft{*4lv#*u7X9AOzDO z1D9?^jIo}?%iz(_dwLa{ex#T}76ZfN_Z-hwpus9y+4xaUu9cX}&P{XrZVWE{1^0yw zO;YhLEW!pJcbCt3L8~a7>jsaN{V3>tz6_7`&pi%GxZ=V3?3K^U+*ryLSb)8^IblJ0 zSRLNDvIxt)S}g30?s_3NX>F?NKIGrG_zB9@Z>uSW3k2es_H2kU;Rnn%j5qP)!XHKE zPB2mHP~tLCg4K_vH$xv`HbRsJwbZMUV(t=ez;Ec(vyHH)FbfLg`c61I$W_uBB>i^r z&{_P;369-&>23R%qNIULe=1~T$(DA`ev*EWZ6j(B$(te}x1WvmIll21zvygkS%vwG zzkR6Z#RKA2!z!C%M!O>!=Gr0(J0FP=-MN=5t-Ir)of50y10W}j`GtRCsXBakrKtG& zazmITDJMA0C51&BnLY)SY9r)NVTMs);1<=oosS9g31l{4ztjD3#+2H7u_|66b|_*O z;Qk6nalpqdHOjx|K&vUS_6ITgGll;TdaN*ta=M_YtyC)I9Tmr~VaPrH2qb6sd~=AcIxV+%z{E&0@y=DPArw zdV7z(G1hBx7hd{>(cr43^WF%4Y@PXZ?wPpj{OQ#tvc$pABJbvPGvdR`cAtHn)cSEV zrpu}1tJwQ3y!mSmH*uz*x0o|CS<^w%&KJzsj~DU0cLQUxk5B!hWE>aBkjJle8z~;s z-!A=($+}Jq_BTK5^B!`R>!MulZN)F=iXXeUd0w5lUsE5VP*H*oCy(;?S$p*TVvTxwAeWFB$jHyb0593)$zqalVlDX=GcCN1gU0 zlgU)I$LcXZ8Oyc2TZYTPu@-;7<4YYB-``Qa;IDcvydIA$%kHhJKV^m*-zxcvU4viy&Kr5GVM{IT>WRywKQ9;>SEiQD*NqplK-KK4YR`p0@JW)n_{TU3bt0 zim%;(m1=#v2}zTps=?fU5w^(*y)xT%1vtQH&}50ZF!9YxW=&7*W($2kgKyz1mUgfs zfV<*XVVIFnohW=|j+@Kfo!#liQR^x>2yQdrG;2o8WZR+XzU_nG=Ed2rK?ntA;K5B{ z>M8+*A4!Jm^Bg}aW?R?6;@QG@uQ8&oJ{hFixcfEnJ4QH?A4>P=q29oDGW;L;= z9-a0;g%c`C+Ai!UmK$NC*4#;Jp<1=TioL=t^YM)<<%u#hnnfSS`nq63QKGO1L8RzX z@MFDqs1z ztYmxDl@LU)5acvHk)~Z`RW7=aJ_nGD!mOSYD>5Odjn@TK#LY{jf?+piB5AM-CAoT_ z?S-*q7}wyLJzK>N%eMPuFgN)Q_otKP;aqy=D5f!7<=n(lNkYRXVpkB{TAYLYg{|(jtRqYmg$xH zjmq?B(RE4 zQx^~Pt}gxC2~l=K$$-sYy_r$CO(d=+b3H1MB*y_5g6WLaWTXn+TKQ|hNY^>Mp6k*$ zwkovomhu776vQATqT4blf~g;TY(MWCrf^^yfWJvSAB$p5l;jm@o#=!lqw+Lqfq>X= z$6~kxfm7`3q4zUEB;u4qa#BdJxO!;xGm)wwuisj{0y2x{R(IGMrsIzDY9LW>m!Y`= z04sx3IjnYvL<4JqxQ8f7qYd0s2Ig%`ytYPEMKI)s(LD}D@EY>x`VFtqvnADNBdeao zC96X+MxnwKmjpg{U&gP3HE}1=s!lv&D{6(g_lzyF3A`7Jn*&d_kL<;dAFx!UZ>hB8 z5A*%LsAn;VLp>3${0>M?PSQ)9s3}|h2e?TG4_F{}{Cs>#3Q*t$(CUc}M)I}8cPF6% z=+h(Kh^8)}gj(0}#e7O^FQ6`~fd1#8#!}LMuo3A0bN`o}PYsm!Y}sdOz$+Tegc=qT z8x`PH$7lvnhJp{kHWb22l;@7B7|4yL4UOOVM0MP_>P%S1Lnid)+k9{+3D+JFa#Pyf zhVc#&df87APl4W9X)F3pGS>@etfl=_E5tBcVoOfrD4hmVeTY-cj((pkn%n@EgN{0f zwb_^Rk0I#iZuHK!l*lN`ceJn(sI{$Fq6nN& zE<-=0_2WN}m+*ivmIOxB@#~Q-cZ>l136w{#TIJe478`KE7@=a{>SzPHsKLzYAyBQO zAtuuF$-JSDy_S@6GW0MOE~R)b;+0f%_NMrW(+V#c_d&U8Z9+ec4=HmOHw?gdjF(Lu zzra83M_BoO-1b3;9`%&DHfuUY)6YDV21P$C!Rc?mv&{lx#f8oc6?0?x zK08{WP65?#>(vPfA-c=MCY|%*1_<3D4NX zeVTi-JGl2uP_2@0F{G({pxQOXt_d{g_CV6b?jNpfUG9;8yle-^4KHRvZs-_2siata zt+d_T@U$&t*xaD22(fH(W1r$Mo?3dc%Tncm=C6{V9y{v&VT#^1L04vDrLM9qBoZ4@ z6DBN#m57hX7$C(=#$Y5$bJmwA$T8jKD8+6A!-IJwA{WOfs%s}yxUw^?MRZjF$n_KN z6`_bGXcmE#5e4Ym)aQJ)xg3Pg0@k`iGuHe?f(5LtuzSq=nS^5z>vqU0EuZ&75V%Z{ zYyhRLN^)$c6Ds{f7*FBpE;n5iglx5PkHfWrj3`x^j^t z7ntuV`g!9Xg#^3!x)l*}IW=(Tz3>Y5l4uGaB&lz{GDjm2D5S$CExLT`I1#n^lBH7Y zDgpMag@`iETKAI=p<5E#LTkwzVR@=yY|uBVI1HG|8h+d;G-qfuj}-ZR6fN>EfCCW z9~wRQoAPEa#aO?3h?x{YvV*d+NtPkf&4V0k4|L=uj!U{L+oLa(z#&iuhJr3-PjO3R z5s?=nn_5^*^Rawr>>Nr@K(jwkB#JK-=+HqwfdO<+P5byeim)wvqGlP-P|~Nse8=XF zz`?RYB|D6SwS}C+YQv+;}k6$-%D(@+t14BL@vM z2q%q?f6D-A5s$_WY3{^G0F131bbh|g!}#BKw=HQ7mx;Dzg4Z*bTLQSfo{ed{4}NZW zfrRm^Ca$rlE{Ue~uYv>R9{3smwATcdM_6+yWIO z*ZRH~uXE@#p$XTbCt5j7j2=86e{9>HIB6xDzV+vAo&B?KUiMP|ttOElepnl%|DPqL b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN 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 e2a7e3c537..0000000000 --- a/browser/public/meta.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"23.2.915","date":"2026-10-12 12:47:25","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 e2a7e3c537..0000000000 --- a/browser/src/navigation/SamplesBrowser.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"23.2.915","date":"2026-10-12 12:47:25","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 index 570397f923..d4216aa096 100644 --- a/samples/inputs/rating/basic/README.md +++ b/samples/inputs/rating/basic/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 Basic 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 Basic f <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> @@ -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/basic ``` @@ -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/basic/package.json b/samples/inputs/rating/basic/package.json index 795695786c..b812800f3b 100644 --- a/samples/inputs/rating/basic/package.json +++ b/samples/inputs/rating/basic/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/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.tsx b/samples/inputs/rating/basic/src/index.tsx index 1ef035a618..8dfe45ae3b 100644 --- a/samples/inputs/rating/basic/src/index.tsx +++ b/samples/inputs/rating/basic/src/index.tsx @@ -1,24 +1,16 @@ -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<any, any> { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( - <div className="container sample"> - <IgrRating className="size-large" label="Rate Experience" max={5} step={.5} hoverPreview={true}></IgrRating> - </div> - ); - } +export default function RatingOverview() { + return ( + <div className="container sample"> + <IgrRating className="size-large" label="Rate Experience" max={5} step={.5} hoverPreview={true}></IgrRating> + </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(<RatingOverview/>); diff --git a/samples/inputs/rating/basic/tsconfig.json b/samples/inputs/rating/basic/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/rating/basic/tsconfig.json +++ b/samples/inputs/rating/basic/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/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 index 0db594b880..82641d9dbc 100644 --- a/samples/inputs/rating/custom/README.md +++ b/samples/inputs/rating/custom/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 Custom 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 Custom <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/rating/custom" 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/custom?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/rating/custom ``` @@ -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/custom/package.json b/samples/inputs/rating/custom/package.json index 795695786c..b812800f3b 100644 --- a/samples/inputs/rating/custom/package.json +++ b/samples/inputs/rating/custom/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/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.tsx b/samples/inputs/rating/custom/src/index.tsx index 2ddfd5cff2..3f8db09b47 100644 --- a/samples/inputs/rating/custom/src/index.tsx +++ b/samples/inputs/rating/custom/src/index.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrRating, IgrRatingSymbol, IgrIcon, registerIconFromText } from 'igniteui-react'; @@ -7,44 +6,38 @@ import 'igniteui-webcomponents/themes/light/bootstrap.css'; const emptyHeart = '<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:svg="http://www.w3.org/2000/svg" id="svg1" viewBox="0 0 475.82 442.01" version="1.0"> <g id="layer1" transform="translate(-134.07 -225.8)"> <path id="path7" d="m263.42 235.15c-66.24 0-120 53.76-120 120 0 134.75 135.93 170.08 228.56 303.3 87.57-132.4 228.56-172.85 228.56-303.3 0-66.24-53.76-120-120-120-48.05 0-89.4 28.37-108.56 69.18-19.16-40.81-60.52-69.18-108.56-69.18z" stroke="#000" stroke-width="18.7" fill="#fff"/> </g> </svg>'; const heartIcon = '<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:svg="http://www.w3.org/2000/svg" id="svg1" viewBox="0 0 475.82 442.01" version="1.0"> <g id="layer1" transform="translate(-134.07 -225.8)"> <path id="path7" d="m263.42 235.15c-66.24 0-120 53.76-120 120 0 134.75 135.93 170.08 228.56 303.3 87.57-132.4 228.56-172.85 228.56-303.3 0-66.24-53.76-120-120-120-48.05 0-89.4 28.37-108.56 69.18-19.16-40.81-60.52-69.18-108.56-69.18z" stroke="#000" stroke-width="18.7" fill="#e60000"/> </g> </svg>'; -export default class RatingCustomSymbols extends React.Component<any, any> { +registerIconFromText("heart", heartIcon, "material"); +registerIconFromText("emptyHeart", emptyHeart, "material"); - constructor(props: any) { - super(props); - registerIconFromText("heart", heartIcon, "material"); - registerIconFromText("emptyHeart", emptyHeart, "material"); - } - - public render(): JSX.Element { - return ( - <div className="container sample"> - <IgrRating className="size-large" label="Rate Experience" step={.5} value={3} hoverPreview={true}> - <IgrRatingSymbol> - <div><IgrIcon name='heart' collection="material"></IgrIcon></div> - <div slot='empty'><IgrIcon name='emptyHeart' collection="material"></IgrIcon></div> - </IgrRatingSymbol> - <IgrRatingSymbol> - <div><IgrIcon name='heart' collection="material"></IgrIcon></div> - <div slot='empty'><IgrIcon name='emptyHeart' collection="material"></IgrIcon></div> - </IgrRatingSymbol> - <IgrRatingSymbol> - <div><IgrIcon name='heart' collection="material"></IgrIcon></div> - <div slot='empty'><IgrIcon name='emptyHeart' collection="material"></IgrIcon></div> - </IgrRatingSymbol> - <IgrRatingSymbol> - <div><IgrIcon name='heart' collection="material"></IgrIcon></div> - <div slot='empty'><IgrIcon name='emptyHeart' collection="material"></IgrIcon></div> - </IgrRatingSymbol> +export default function RatingCustomSymbols() { + return ( + <div className="container sample"> + <IgrRating className="size-large" label="Rate Experience" step={.5} value={3} hoverPreview={true}> + <IgrRatingSymbol> + <div><IgrIcon name='heart' collection="material"></IgrIcon></div> + <div slot='empty'><IgrIcon name='emptyHeart' collection="material"></IgrIcon></div> + </IgrRatingSymbol> <IgrRatingSymbol> - <div><IgrIcon name='heart' collection="material"></IgrIcon></div> - <div slot='empty'><IgrIcon name='emptyHeart' collection="material"></IgrIcon></div> - </IgrRatingSymbol> - </IgrRating> - </div> - ); - } + <div><IgrIcon name='heart' collection="material"></IgrIcon></div> + <div slot='empty'><IgrIcon name='emptyHeart' collection="material"></IgrIcon></div> + </IgrRatingSymbol> + <IgrRatingSymbol> + <div><IgrIcon name='heart' collection="material"></IgrIcon></div> + <div slot='empty'><IgrIcon name='emptyHeart' collection="material"></IgrIcon></div> + </IgrRatingSymbol> + <IgrRatingSymbol> + <div><IgrIcon name='heart' collection="material"></IgrIcon></div> + <div slot='empty'><IgrIcon name='emptyHeart' collection="material"></IgrIcon></div> + </IgrRatingSymbol> + <IgrRatingSymbol> + <div><IgrIcon name='heart' collection="material"></IgrIcon></div> + <div slot='empty'><IgrIcon name='emptyHeart' collection="material"></IgrIcon></div> + </IgrRatingSymbol> + </IgrRating> + </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(<RatingCustomSymbols/>); diff --git a/samples/inputs/rating/custom/tsconfig.json b/samples/inputs/rating/custom/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/rating/custom/tsconfig.json +++ b/samples/inputs/rating/custom/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/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 index 697a303f08..785130114c 100644 --- a/samples/inputs/rating/empty/README.md +++ b/samples/inputs/rating/empty/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 Empty 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 Empty f <a target="_blank" href="https://www.infragistics.com/react-demos/samples/inputs/rating/empty" 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/empty?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/rating/empty ``` @@ -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/empty/package.json b/samples/inputs/rating/empty/package.json index 795695786c..b812800f3b 100644 --- a/samples/inputs/rating/empty/package.json +++ b/samples/inputs/rating/empty/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/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.tsx b/samples/inputs/rating/empty/src/index.tsx index 14e2c0c761..29d0f3eaad 100644 --- a/samples/inputs/rating/empty/src/index.tsx +++ b/samples/inputs/rating/empty/src/index.tsx @@ -1,4 +1,3 @@ -import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import { IgrRating, IgrRatingSymbol, IgrIcon, registerIconFromText } from 'igniteui-react'; @@ -7,44 +6,38 @@ import 'igniteui-webcomponents/themes/light/bootstrap.css'; const bandageIcon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-labelledby="bdbandage-desc bdbandage-title" fit="" preserveAspectRatio="xMidYMid meet"><title id="bdbandage-title">Bandage IconA picture depicting a bandage.'; const bacteriaIcon = 'Bacteria IconA picture depicting a bacteria.'; -export default class RatingEmptyAndSelected extends React.Component { +registerIconFromText("bandage", bandageIcon, "material"); +registerIconFromText("bacteria", bacteriaIcon,"material"); - constructor(props: any) { - super(props); - registerIconFromText("bandage", bandageIcon, "material"); - registerIconFromText("bacteria", bacteriaIcon,"material"); - } - - public render(): JSX.Element { - return ( -
- - -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- ); - } +export default function RatingEmptyAndSelected() { + 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/inputs/rating/empty/tsconfig.json b/samples/inputs/rating/empty/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/rating/empty/tsconfig.json +++ b/samples/inputs/rating/empty/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/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 index ae7cd8ac41..060516b800 100644 --- a/samples/inputs/rating/single-selection/README.md +++ b/samples/inputs/rating/single-selection/README.md @@ -1,6 +1,3 @@ - - - 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. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Single 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/single-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/inputs/rating/single-selection/package.json b/samples/inputs/rating/single-selection/package.json index 795695786c..b812800f3b 100644 --- a/samples/inputs/rating/single-selection/package.json +++ b/samples/inputs/rating/single-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/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.tsx b/samples/inputs/rating/single-selection/src/index.tsx index 8eba75660d..96e9ac7b07 100644 --- a/samples/inputs/rating/single-selection/src/index.tsx +++ b/samples/inputs/rating/single-selection/src/index.tsx @@ -1,45 +1,37 @@ -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 ( -
- - - 😣 - 😣 - - - 😔 - 😔 - - - 😐 - 😐 - - - 🙂 - 🙂 - - - 😆 - 😆 - - -
- ); - } +export default function RatingSingleSelection() { + 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/inputs/rating/single-selection/tsconfig.json b/samples/inputs/rating/single-selection/tsconfig.json index e7db8a94f5..e27a22be9b 100644 --- a/samples/inputs/rating/single-selection/tsconfig.json +++ b/samples/inputs/rating/single-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/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/package.json b/samples/inputs/rating/styling/package.json index 795695786c..b812800f3b 100644 --- a/samples/inputs/rating/styling/package.json +++ b/samples/inputs/rating/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/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.tsx b/samples/inputs/rating/styling/src/index.tsx index bb41096530..a8c5d75980 100644 --- a/samples/inputs/rating/styling/src/index.tsx +++ b/samples/inputs/rating/styling/src/index.tsx @@ -1,24 +1,16 @@ -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 RatingStyling extends React.Component { - - constructor(props: any) { - super(props); - } - - public render(): JSX.Element { - return ( -
- -
- ); - } +export default function RatingStyling() { + 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/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/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/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/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 3980e1faa1..a1611c849a 100644 --- a/samples/interactions/query-builder/overview/package.json +++ b/samples/interactions/query-builder/overview/package.json @@ -18,24 +18,24 @@ "igniteui-react-core": "19.6.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 528c2c6c67..6930e85835 100644 --- a/samples/interactions/query-builder/template/package.json +++ b/samples/interactions/query-builder/template/package.json @@ -18,24 +18,24 @@ "igniteui-react-core": "19.6.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/.devcontainer/devcontainer.json b/samples/layouts/breadcrumbs/dropdown/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/breadcrumbs/dropdown/.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/dropdown/.eslintrc.js b/samples/layouts/breadcrumbs/dropdown/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/breadcrumbs/dropdown/.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/dropdown/README.md b/samples/layouts/breadcrumbs/dropdown/README.md index df6ea08e44..7e235a1d7a 100644 --- a/samples/layouts/breadcrumbs/dropdown/README.md +++ b/samples/layouts/breadcrumbs/dropdown/README.md @@ -1,6 +1,3 @@ - - - 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. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Dropdow 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/dropdown ``` @@ -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/dropdown/package.json b/samples/layouts/breadcrumbs/dropdown/package.json index 4be21c2b34..6465ad5344 100644 --- a/samples/layouts/breadcrumbs/dropdown/package.json +++ b/samples/layouts/breadcrumbs/dropdown/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/dropdown/sandbox.config.json b/samples/layouts/breadcrumbs/dropdown/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/breadcrumbs/dropdown/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/dropdown/src/index.tsx b/samples/layouts/breadcrumbs/dropdown/src/index.tsx index f631d16442..9dffa473cb 100644 --- a/samples/layouts/breadcrumbs/dropdown/src/index.tsx +++ b/samples/layouts/breadcrumbs/dropdown/src/index.tsx @@ -56,5 +56,5 @@ export default function BreadcrumbsDropdown() { } // 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/dropdown/tsconfig.json b/samples/layouts/breadcrumbs/dropdown/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/breadcrumbs/dropdown/tsconfig.json +++ b/samples/layouts/breadcrumbs/dropdown/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/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 d74f609adc..b1e37e8da3 100644 --- a/samples/layouts/breadcrumbs/overview/src/index.tsx +++ b/samples/layouts/breadcrumbs/overview/src/index.tsx @@ -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.tsx b/samples/layouts/breadcrumbs/sizes/src/index.tsx index 0b4f381c80..00397463b4 100644 --- a/samples/layouts/breadcrumbs/sizes/src/index.tsx +++ b/samples/layouts/breadcrumbs/sizes/src/index.tsx @@ -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.tsx b/samples/layouts/breadcrumbs/states/src/index.tsx index 93589d52e2..50f04c776e 100644 --- a/samples/layouts/breadcrumbs/states/src/index.tsx +++ b/samples/layouts/breadcrumbs/states/src/index.tsx @@ -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/.devcontainer/devcontainer.json b/samples/layouts/card/actions/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/card/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/card/actions/.eslintrc.js b/samples/layouts/card/actions/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/card/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/card/actions/README.md b/samples/layouts/card/actions/README.md index f8588ffefe..c294ce219c 100644 --- a/samples/layouts/card/actions/README.md +++ b/samples/layouts/card/actions/README.md @@ -1,6 +1,3 @@ - - - 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. @@ -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/card/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/card/actions/package.json b/samples/layouts/card/actions/package.json index 4d4a31f58a..ba861610e2 100644 --- a/samples/layouts/card/actions/package.json +++ b/samples/layouts/card/actions/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", - "igniteui-react": "19.7.0", + "igniteui-dockmanager": "^2.2.1", + "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/card/actions/sandbox.config.json b/samples/layouts/card/actions/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/card/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/card/actions/src/index.tsx b/samples/layouts/card/actions/src/index.tsx index 82e49199d4..a7912d2403 100644 --- a/samples/layouts/card/actions/src/index.tsx +++ b/samples/layouts/card/actions/src/index.tsx @@ -126,5 +126,5 @@ export default function CardActions() { } // 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/card/actions/tsconfig.json b/samples/layouts/card/actions/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/card/actions/tsconfig.json +++ b/samples/layouts/card/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, + "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/media/.devcontainer/devcontainer.json b/samples/layouts/card/media/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/card/media/.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/media/.eslintrc.js b/samples/layouts/card/media/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/card/media/.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/media/README.md b/samples/layouts/card/media/README.md index 58b359b783..bb5239f662 100644 --- a/samples/layouts/card/media/README.md +++ b/samples/layouts/card/media/README.md @@ -1,6 +1,3 @@ - - - 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. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Media 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/card/media ``` @@ -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/media/package.json b/samples/layouts/card/media/package.json index a1a2fd4aeb..bfa03ab7fa 100644 --- a/samples/layouts/card/media/package.json +++ b/samples/layouts/card/media/package.json @@ -12,25 +12,25 @@ "test": "vitest" }, "dependencies": { - "igniteui-dockmanager": "^1.17.0", - "igniteui-react": "19.7.0", + "igniteui-dockmanager": "^2.2.1", + "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/card/media/sandbox.config.json b/samples/layouts/card/media/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/card/media/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/media/src/index.tsx b/samples/layouts/card/media/src/index.tsx index eb362832da..c579e55097 100644 --- a/samples/layouts/card/media/src/index.tsx +++ b/samples/layouts/card/media/src/index.tsx @@ -122,5 +122,5 @@ export default function CardMedia() { } // 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/card/media/tsconfig.json b/samples/layouts/card/media/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/card/media/tsconfig.json +++ b/samples/layouts/card/media/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/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/position/.devcontainer/devcontainer.json b/samples/layouts/card/position/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/card/position/.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/position/.eslintrc.js b/samples/layouts/card/position/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/card/position/.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/position/README.md b/samples/layouts/card/position/README.md index beaab8f520..f0c99812fc 100644 --- a/samples/layouts/card/position/README.md +++ b/samples/layouts/card/position/README.md @@ -1,6 +1,3 @@ - - - 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. @@ -15,9 +12,6 @@ This folder contains implementation of React application with example of Positio 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/position ``` @@ -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/position/package.json b/samples/layouts/card/position/package.json index 2bd2b9b30c..a162984f1f 100644 --- a/samples/layouts/card/position/package.json +++ b/samples/layouts/card/position/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/position/sandbox.config.json b/samples/layouts/card/position/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/card/position/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/position/src/index.tsx b/samples/layouts/card/position/src/index.tsx index 182907a7b4..9f11e7d73e 100644 --- a/samples/layouts/card/position/src/index.tsx +++ b/samples/layouts/card/position/src/index.tsx @@ -84,5 +84,5 @@ export default function CardPosition() { } // 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/card/position/tsconfig.json b/samples/layouts/card/position/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/card/position/tsconfig.json +++ b/samples/layouts/card/position/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/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/tailwind-styling/.devcontainer/devcontainer.json b/samples/layouts/card/tailwind-styling/.devcontainer/devcontainer.json deleted file mode 100644 index e0b8e9c925..0000000000 --- a/samples/layouts/card/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/card/tailwind-styling/.eslintrc.js b/samples/layouts/card/tailwind-styling/.eslintrc.js deleted file mode 100644 index b45160a9ee..0000000000 --- a/samples/layouts/card/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/card/tailwind-styling/README.md b/samples/layouts/card/tailwind-styling/README.md index d56077df55..d39693b3f9 100644 --- a/samples/layouts/card/tailwind-styling/README.md +++ b/samples/layouts/card/tailwind-styling/README.md @@ -1,6 +1,3 @@ - - - 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. @@ -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/card/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/card/tailwind-styling/package.json b/samples/layouts/card/tailwind-styling/package.json index 8eed943058..b8c10d38dd 100644 --- a/samples/layouts/card/tailwind-styling/package.json +++ b/samples/layouts/card/tailwind-styling/package.json @@ -12,28 +12,28 @@ "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/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", "@tailwindcss/vite": "^4.3.3", - "tailwindcss": "^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%", diff --git a/samples/layouts/card/tailwind-styling/sandbox.config.json b/samples/layouts/card/tailwind-styling/sandbox.config.json deleted file mode 100644 index 00acba0c10..0000000000 --- a/samples/layouts/card/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/card/tailwind-styling/src/index.tsx b/samples/layouts/card/tailwind-styling/src/index.tsx index 4164131313..18690f27a6 100644 --- a/samples/layouts/card/tailwind-styling/src/index.tsx +++ b/samples/layouts/card/tailwind-styling/src/index.tsx @@ -179,5 +179,5 @@ export default function CardTailwindStyling() { } // 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/card/tailwind-styling/tsconfig.json b/samples/layouts/card/tailwind-styling/tsconfig.json index 8c0d146f95..e27a22be9b 100644 --- a/samples/layouts/card/tailwind-styling/tsconfig.json +++ b/samples/layouts/card/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/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 010609d452..bd96f63f52 100644 --- a/samples/layouts/carousel/configuration/package.json +++ b/samples/layouts/carousel/configuration/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/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 64c19541e4..d57fc8e2f4 100644 --- a/samples/layouts/carousel/styling/package.json +++ b/samples/layouts/carousel/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/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 0e04d41f41..1a49b94849 100644 --- a/samples/layouts/carousel/tailwind-styling/package.json +++ b/samples/layouts/carousel/tailwind-styling/package.json @@ -14,24 +14,24 @@ "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": { "@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/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/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/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/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 0000000000000000000000000000000000000000..7ecdeba958611af317c1cd5847cf8f5631786e8b GIT binary patch literal 61995 zcmZ@;byyqC*A4C^r4)h{*J7c#y9Afw6bbGwrMPQxcP;Kv99jqzE$&b>#S3Y1`SSk$ z|8}$4=b21)C$pJz?>*xToxdFu1%0ohcWexzhlAg69ps@omFa^YG24Ld@xHY3ASOMt% z0JBkgdS5_zHh@_EQcv{aZ9NdqhMcMFX3Z*Js@lR8&c_V@OdAw$we z=3{yRPd4972lO5tZv#aiuK)e&+hGXdF$qyXzxnlT;;%|M<#Y;8xW)RxXN89jyypk1 zIl3Vwi%xwu;$2N5w?x^Tcmz*5U5s=J>oDW&v*pef`#qZY79XI|UL3_gnd6HI6zxix z8L00$uyYLnTz0z*&a+^n1>1&gPy0NdOFSwRF#>|El~UXQfDf_^oH}DI5+m3EfNW6+ zTcZ@k-$4-j04C)i#`+-MgBgFgG{ew0X`nQ&WiX|?8Eb8*G)v@UBNdw&*SsVZ?|`Ol zWUA{6&TsF(z7TUIyfeox7-Z=Q!9kZA#eQW@yBdvR5vxz1h)tRuaYH+(h)xv8K=UJ- zSd&gUnNJa{6{|z@UXkij%pFxI%2>WDS!5Kz6Z#O@qX13|Y1R~*$8VGA{31XeE?Y5_osU+xmY}ZG5lwZE#c~CahVbBf!`pkcSDZcoUrfGO@iz=snGEzx?21i z7^En0WXKj?Im4?0nZ+yD+gx{oxC`5P%keHDGRWyLQvlnlHtS8)Vz(84vpG1H}f zQEp}GdU-npvfu$n=_|6+FA{xz#Rc?_mKhRYAc~RUVeU*qRcb2JnI)Q)pLN!vKV+}U zClWNl*Uf;b~IuyfA9O=yFH3M+Djwcd<#jpvK#Fk7OgRR2-!YxpLZYA zDvL+zeQA!?#+PE9mwcZMrR$2@wHh>|zP#e~$`P6jBT-T=uPaHPBex~By|!!k?b-Em zBmIq9=1;xZ@k52*nZMEg`rs2pz789SwqYU51z~|~$b3KzSt=D|b8%!NI@|)_<1BbK zVYbVAeYSSCPp^~5aMK~_Oz9MCTsl?N71f*7c<&MK$8|neeb5f5mw*3Gd$$T_KBMM+ zb-u>2HifoLmB^Q9uGf(yS%0cC*}W@;udW;4GDyh``uQ;&av= zR*DKMXy}9!F|XJsSyaXF|&fr=P8VQxb}+n zMkQ_~iK>|Jzk1GUhjNPIZdspx=gPCJg1!&I1u8C;n|{6UJIVmAN1aEfyUKqG`1+VF z_zak9_){R!VLmq(Q7W#HwF^xdlkbu;<>u+;ncLyXoin1P3-Sr_gz zYNgb?XINoy*52bBVJKu!uK(W9q(#0izm9RSyRN(PWo4&Ys#;CKqRscli}oMwRUKrF z`^%VX_3cjW0p>Oqq&6MH_217@ds73t0umm@un3}7Uer(-QU!Xnx)TfQ3UB62<()|c z4FAnI`T{ z*tEgvxu9IhdUZ>U9pygN*XHM>;#cDCg}dUrq5_*dn+B#60s|eR9pmcXT?$Miwq%0n zpDmw1KF0^;!iB|1M|4=f%wc3Q4xBP5{a(S`s6d**n<` z+09%Vu)0tK2ZWDJyqeQqbXA~>w@U)XX>BmEpr5a=B)a+R5L+ z+w~{S;u7V>T{uHhC0b1|?T-|Y?F&gftjg_8t z|76UVP)1F`+sV_3ma(-YfxPp==To9@MB6Ft<&nyI98~%Ty|wm2&7y98Yq-0wG2TY% zV%Ca&jcsRhT2QY!)yu38>}C3>>Jai_a4dAN4aMOY?>+8*M8NU-(y58MK9|8(oB3U2 zK85(}nAm#aHPX!2LCY-bzWWqWE@S=K>uIf3HA9`2)7G=rhX9(H!yOLYu%A90b>key|=`8IR{n}$y`D1EQL_()b=daG44*%KgMw|K4jq}VI zg@4Z#@5#cNQP1_G_>aD|_bBgG7pxbo?v?Iat|jVYst<26?ww5P)STQ-N6==`91cgke0!|$VuZTyDgWGugMgpleL@~=hu&4zZ}0FLXY2Y6f$*w#ynpRB z)*Q7rl?@e_y>!lHj(o0m&b^U^QJ4CJ_{`$b=EnzxHEO~B#d)^eJ^teWW|DJEy+W*rD_6V{e*4Ev zTO=ES?#z!<OH1^B~PVRWHzD}B#fTcm(SOO><4^`5Hsrv*O(Du(@)9& zJ`>7de9rzn9!U^+Tp%beB(x*p{&@IMDKl+3%~U}8RPr=lPfEfSc(ZW4G&PeoQ=EC3 zncDC4sr>P1;Fzpo4fYN8rtgREJMf3Uy7#ApKI=YI=cQYO>U*DPf>@qyZ=3#U|E#=E zB}+|xMn}s+JV4)ZtReGF8mOX{Dgf}25da7d0|0KHk>^7Iz>6CII5GnOgtGtuQkN9d zVR--muB#*~rQ^GL^5~Ptpy$P(C?W9v=q$T{k{?T{dkhCB30;wfmZ6S;!99_msi(n| zfʏHsutzZtgyC>3LjNK+d7Wg4QsY_cU4q2i<0wSBL!Wxw$E?@2v&U{L>b&E2QF zxkiuoCY48vz3@D^&@?R!B~YE^;T``+rZ*0xw>e(E~6C05pL4zkmPc zfnnUR=*3llq@JE0Sumie#SMW#ytB)(hk?K_Nmi?_t}bDg@_H(Tw#CEs^>tBz3^pww zK8+|pKmRly%q+l}T~JT}&qD)%VIT-AYv%a=`aeym3XhnWm;x(fIItvbHgWf7dwV}mBF^N8=07x$Xo0(ZvbPOn3$Y~C!O3ygXO1?t!Uh7S{CtO2&<=; zSDQA3!keXhHak1pZ>sah2|#je-(93!XYVvWJNw6)xgdP}1S3gBRdw=}G`Y71M9Id+ z=Jqe>#Ej@aNQ0Y{xHa2Sdw+9)Ou036Kgv)dx-DgYo19>Yfg zq9h5S@da}NhS&RTpoaO=9dIZ>TI5BiTiNix1pvbpdGzDCP;kLI!9<{dlkgVAn|IA2 zr~dQm{p?sGCqQZ{QTHmPVrw5zt?F&LwBdNZy_w03Sl`2)uKP3ZVRX0twU^tf-@IS- zOqS{Td@NAKnKB0kAE7$C{ps1KyL-75MFQ1pMvH2cY5OYf0rV$aN(@V&=Q!c+ucQi^ zfL9cLbXFd@SeIzOYyB7;Gzxc}irRwa-O}fs|5(1YoW2ekPh`Gd|EoRibc^@xlqA#1 z&k#~or@r(D#bY;mBZa1X-Y$m?ir>0u$ch1B?J# zv&I!!rC6<0y;&Sah)mmme2`+@H+aZcF*gad7Abo)`kwguB!FjnvdpeJ0o*9=xA{Tz z-?}?EI?a6sluDRVwkxQ@iU9*Ty4ue2nzRPyU`k@s#)4r&@Ck8C8CE_wN-iR4BI#%z zm_0*;lA+Feqe6~wNe2QL=;WLe$1no8t|knWW+_iI6tU$` z1g7B9W-aDedUM0fM&xeI)UgLy%FW^j#qm=s?4Irvy-iyei_)yUvlx`B!;^@E`C%H; ziuR|r%gWeNITdlRtZ3kD%bldlFEQ?a)mZqhOU2N!pT$QT*<0$j;3JMCR%If85t6nCH3k!V9#2PRt6iN>R zO@d0Z#d>>tYuvA_mjqHOs>V(j!+$Z5>76HryrfkW_Xd$0V)&_s}Vh#?iAe=HhiM?Dt9vlz+)_ghvlA#>g&R!b; z&4mN)xvJgzx;lOelCySIxDf}tQAVNB7(iy7tLC4a`PD=czqe3icA^*st;2o7{&?>VDi90n>)o1OSj=XKR# z<-P2|r`2faVBavk48Ir&be^w=F|>Ry$mCnQe_r+2T~v3Xym~%fj{^LR0@n-OyN)9E zvxhif`|qeHcPGpf9iB|)92K-NZRA7@cN!Ad)Vx{J&V*>OpD(Zm2L>}^eA*5g-16yeRfB8n*tW1-OO@#Nk? zQGqE2rIHeslspgX4zuO=EZyR`k~Z-1Fhd~`K(MB?PR8Hg_Dz2$40YkjIqz#a3=hBKT6el`0cM4f$2d5jQgE3)=AI+PK7BL56Te z{{UpG*fhdjfE=JgJpB4|vK=;<04T@eMDhDL%{#v;Oezhi(fo=V$1GOS3Y@Zf5wJCl zQ4r~&Hp^RQcs&GyVgnBE`)tBY^>s+?a;%HA>5K3~2imxtHWSHd8JwEGdr^-3IQeOK z%n~aNsjBr?${~`T-9mJdL0FMjAcI;sV7-S_I)$jmzGxVH6&GAg(~53}3Gph&M8mgE zac}>*rmZHWLJ+BFqC6HimbSxybNCA7oceCvGlhWf&H|Alb#6f086=wsi|ou!LlXEFXW0-*MJcGD4;BFt*NQuA{BH4v^6y~ zCA0r&4FR41{;i*GG>jkosF8kQ$hY!$AoSznqlf0!F5f?Px`(G*9r`qK45^uYZUVBW z%RO(mU!x_6<(J~UTZkXxf>c(3UclgQ#!q5N9xxbeqn$t0 z_fXN@-7Q86!UHV)cV9=ZOf4ilb)Z;nZn`=;I)(!+F6}mv(DuH6#G@3jcXD!~$PvGj zGG62KhHwz)S4IarIc3nfrSC*Q+~LtiOPlu9#8hSX+hz{_-`-~Oi|FjeTPtUdY*=gR z=YQS^w~Y7)1AHvp>>Zmcx~1#@pnv}29TSPR78VwQ%H!5G-E9Ic3c`GRe2!=*^2SSB zTm5VT4WQsXLOH;r8pbOQIk%p8KygTlC#GfsOk#t2OQTE6;WV& z>*J!w!3EfA+vt=EnR%TyS6_YdI&wB|*9Y5;;^G}Ux(%}d;XE)z_lH!f(UqBHr_=ky zhk$uQ>WRd1v)2taVW*GWE1f}~;qoY>i34P3EO?SFlRk-2Hjkb?-dA-kEtOkfO(Az@ zFs7DMJ`JX8iX2Klq5AMZft+OSD;m(E_uY|P&064Xh3asF%jw$yiUr$`JZTPwD{j&7 z$O^x7>W-ne`rlg1)7+<$qsW@?^Pf%p`xUQ3MYG{B!cc~k^{ZZ@OYGd&KiV}ZQC|TpFfZ{7UfABTvtH)l@^ZnHir{)yE8!ThYMWz=J6E%V)mV|pI zhyDA=xA1_o!9&E|*ptXK1^eT{0)*yU_rFD_yMsbL{Z#3ZbL^#*Y<<*a+0Eg?7mIG2ENe!A`z=E}$^`>vFJpZCWe=sy$lbCP| zyZs-8B;M3N+{M}u^gT_8KjSK6vafA)EO^Wr9_wDQZl zXEurFyuy4dF2K6qv_iNl+E%N>hUbk($8XxOwz>+*Cd|jMXft%;RMk#JoO&7=8N~p1 z_7(lA4eMapQC3`9nGi-Uc&av3MXO4u`ie31pVUiqDcYa_z)nO&MC_!OcAZySX{q4z z#^b_t-$_NjOXSQiD{9$iw;>kf0&2yqW=*p7^#15O{*r1d;CRNQ(CB?pKYHF2gXS^F z!EvcstBOI$UkV!>AuR=h`jUL$Tan^f^)A+6;hP&GMQ(KpC~;}I7ER0ENpM&+xOs9{ z=1;6if9{tLS2L%nE_d5ghjTzk(eKdi)))E@O}rv3Qo__|tG~wL`1_wP`KYM1>^`Ei zy!I|OvgU&4p-X9uVf;)3rm%Bza;^f27p)YU^x3VhxpMW=Ay%5K3q?sFs7jR%8;YxY z48WjD$G$Uy6yS;MvuAhlR!o3LTzqpYe)I~Nnh{B7&@_|$m;f56vX&zgrAb9=L1E!8 zbR~FR3lh}ZCb9SD=jSa+%&Zjc)z#HaInBm_E6Kd7jL>+i=vuj=7Ri(1b3#4wi9Hahi8`BKO9|hS;RH zez-9_`7iQLR*HAX8%3w_xNzOw-(%$_{q;p6W7)8Wkrinr8sM8r+>hJyhkpeE#=R~V zD~hi*+_wc!)IEX#KuD5~wj}COzuBY_7p1F&1V7c)OD)r6k7*8Veu*b@K=>ckjKl<-Z~0gF<;&BCF3oJOyzS~@ z_KgQIfz3H;1@8Nyo@$C+UKu182hT`=UC)1;M zoK0s;5r=sK4=g$#-_O70eZ1vEWlyi+F-&Y);`2%8%V2q>F>DnK8X3GX%Im&v`KM|4 zo9wULINC*%5#NnL&?nDptl$|;H7Obcl|PrJ_(5mM7^KQ?%QflqLt53b}~d|vu< zYl(OVXiiiO{&M=enCXjQM>4@W*8ubZmS6(X2gjv;`uD&nUm@OL9s9BvDRQ{@EX_j2 z8DYxzJe*ZYU&?6K6)VZqcr zQquPCR`sI0Q-4y&Dn~OtSJ8zblXtXT5Lvi!EQU_(H^L@* zub(cS*Zs{35Su$=gMuit%Yd9>jmyT^VeDuW6#H44EENJ+8d|Xg}fwi%(F60n4gTzqJM`#hVq$ zHo7^T4^@A$1I9+i}sp(OG)9Ny%ekq133){i#~W?8;=B?+1~#(O2q%r z#@&_0kM%RVH#^P>Zt7tNu!&c4XlTLS}hcPov-R@tV3572T`<!w z0}BLeRY0`pG4lhT!s+j0XDSOjuh6DV-`}azESQ(+F}t-Ubz}l998u|%+g?dW<9=_< zfp(wiN|C_K0xdWU zFX3HRSTSPkkW0;tl={%fxToKLBN7cw?%7TL7h9Nbt=4fa^`_5*liHGp1bDCS-^B&S z;F|GIk{B-O;4-EeZO_J_wJw`sw>u*N7DqacleX(p6yxPv=H^)dzz#W+)^=NteRqA- zt>l?9qk}?G=l62slD27>^Y(3{7Cr=H{cyj)D+}JQHn1%1oG$}EZf|I2~c)CxDa96G&|OX|ZqYUFr%O5S!aHc#u-~ICcEsVHiv$aXUZvar20% z1@FTx`nb*5nX;3mW!X#L)r|-~&3dw6Ur$d@!BT5xI|wRmNqt}6YAp<-q1Wns1o@ns z$S_bw;8E*fY!o7^;BeG$gNIbYeLs!99$fAw-kg`-3kTt4DbYmaH0;0%w|W>MDb8cQ z)onzf&9};hK~rJ2$CA~D8F7Klh}goDJn?*=TN;kQMGZ-{`9D>N#JgKl=fkg#zLrC! z8L`fC6#70s*GClq;Wrc%6wbIs@8l&5voZ4G4m}x z_~IcLJIXqyY6##@l2R`Vk?M@WwcojbKE$kj@Sd4@z9D385Ic4dfo=U+7^(cg$3rIl z+64O=Sf9!7x@ydzwT-x*&buD3`uoIH$aiy9>HqbGWZ^L8m&Kf~_2ZXp)ci#ZlYp#U z!FZx?yx8aXc`r3__u6Fe&VzRA{5J*oC_+6kfaq8OLga@>ayZ0sU%#3r_6`+3!R$V5 z%j=r>x5F6qSi${O>Db6W;s^g~^8Cf_(J#Np4+DO1ru3BEd!>$RZ6Q1l79kY}t*t!u*q+nJQAoN{)#aRImnl@2zYzSy`nA&(S z?EfttX)lEF4bb|_%&{l*n2_E0=th*+dc|Sg{SEKd^mj5JmhcDH15-rafe@Q(`!FkO z`K+M;R+@5>3x)5PU?N4D^|-%Vj$%S%D>PkZ)@YGmne}}f6+=)!9H2e$S#sac6_f=Y zx6Yo&3=RttZrXLYyNIe^1Lqd399*{2F;=G0VWZ|>g9Emh%|WpYN?(DYY~@*thW8=r zC$XPP%zPdScQMa>r+%C0eUJ*3cs{X!M<^`-oF0BX^&zQ&Hz^uBP7;0(T!HV}Z~iuj z`#(~k|6xHffVNe|ms{5uUuZu0Me{0^JoU}~wUnOje(2gT?Q%NbF-)Tp45hMI0;CKf zJuvIlXSeG4O;1~eMzEl*paqvo=d9{FpNDTa6D*J^sjJG93_Q9V;8@T$Lyr2cty^B3Lz%bykggG%`sm-%8Iq$aCIPt1x2so^(Tko21D z>9x0~y|y|6{F7nwxJW+uGKR3*pO=15*ryNnVpcZYroCOqPUSZAlCxZAWxcglx5gmgqx}3kDWLBa;}4!!$iNwg zn0L&@{?j50DE0h36Y-nRsDAar#SA@^!$z;X306@r`E)1iwhH}xPCon102;3eh}MF* zthTaViE<&p$qYE&=bNW1TR+pZ$mNpP8_mC47#UHdY0-oyF(`qXj+@37LvaYxK5{+4 zFLt&997fh-Tm@xaleCzRH_IU3C&C4tRsAlHJOp|ipfiuF>+8nU&{|n+O%gCu-?=~* z+G;RfT?OrYpQ##?%cn#2>i|DTPSoSS?BRh)0Aq)&>JUB8izkA=_YEt{w=*Gh{XQST zA3V-WKl||1spx*oVTf5p4oSL7XY52Sr^0f&K#Z}DZ+v0qn1F(x-M3(gCi7_QWb|SE z@4M-B6C|I*7~!fIXH%lViG9-L`n^-mA~4_fua&f40sQqPVtOhQg4tof6onI7WXl`` zEwIK($a5{`B*q<9DdHNriEhrKgO07^}21D?kguDD8;ce z*V&{u3|V;A_dnfD8afPuwC!?umb_BqxcYnxfpp{HzwO%~4ZT;ZUTIoO?w&~OysDQHdc%W;1yF)M+^yt$s@+U+AUWI1*-MnnSj1Ly9jry15&#z_aX`HQ~n;O%g zsiUiL{=b3ao0%z8IYw(I|g{|{O4Vr2Pu>&M2PBA%BHQf5uq6>Kdn zg&NSAefsoC&{SHIb#fXmPZzwJ#$J>8XL06(h&ghx)eE`4Hw8+pRl9;L z#JEUOSBr%>8t%uSs+}RD>6cS6CAqhlxr5pj3W7lo{<^#lL)_X~O^x7Kr z3u;608ThJ5H_joh57^o+Ey3sPw>z)w`}2FglH-eD^0s)IRyBdFO9&xWKE`>z&!ow1 z4h6M8{g;rrv-&J|CiI`^iq@=^yMpqpa_;}ujUm|^q$wMuXV@=ndwc^%_P%-p8B zrw5SfXHIs*eA*o>5z~E=3AZ*9^F*&bj+4N7hzC)|PV&d{dTKbY!1FQ$@tMCg>n%;J zAb$AlvPHnGr>Z4Jc-|g^%P0gs{-GjeytFfC^%LB&8HLlKH?#t?vV(Rbd{s;ad>B0A z7wapZV8AL!-zk!xFxPp^*9k91A+EHZecvr_^Csx?G9u+TQU7M3%bV0LLFOnu%(s*v zuLKSK#pY#dK34$Tgx<8{?LH8|nO^b8=mQGr-?!?Z{CfVXpQ@YEiIdW_7UW`CWyJS- z=kMU`9~mz3k82eC8BaWk@hjPvP~1@ROZ3@K-2N1{Ep3^+r{Q&Haf{|hqNVwdUHxlO zF_w6euK}fBJ*vIq6OL0vQ#Rx6C2-`2iw}+lS^h=w75Xt%r#rc|GYR4qRS}rY@~To) zH5og#j5;YLYOx`8))}OD3kViWbQ_`a$$B>>7-kgoc~5T2QLU@E-Te7r&lpTsKChHx zPtxe>D=uXIB?s4am8T8QHIK>u^VjWfwtRe4w<*-`JOIHAZLv^0GDy z`^zizS2SriKau(EV0TBxGyVX6FpnGB2Un^y!9;b|^z7zXRiucFR2T68iEDu!T zZMh=|ISx!CKM8R29Ea?UxJhHH&*|74v3CLr1!wzm{sa3tl z@Xrm`n{51U-wr|xT});IT16Y_RDqe|9}LOw2S(3WE2}3ArK78L*g(|Og=Xgoz($*WWtWl*E8ZM83;8|sFQv;rulBq2YMgXu$^ z6ox)&?!So?dkqqd==1%%o_a6f%n@t!3QY}Lv*+xXH!#d2kwJ+B zMfNtwa~k1$plXR&NF1+^KpBm@NH&gdN>b+sBzbSz(0Lo2-j#qWGAJs2kqT-{m-m0t z$hyj8JMkXlj+wT$wsMjuz;Zl;Be&(hD=pu`3#mURB%Dso_8^gZq58c;ZqkISudi=3 zxPs?71q?&t@zToiJCWVL#$`l31DP115HcWxFHBS6$zA*24PoNpang0%Ad%wnMgyV^ zsVZ%&pPHV2_O`djmBuc!i>YBw$yQ6uxcf%m)k6}{Np31tqNkCDIJlHs|Fz}y=#Pf0K=ij-X=4_|8K2ON~3PHgz zI3OX1Qe76%1@`$@Tz4Xq&_yA+b%lx&&dvQg{W+~^EwZdCay28P#J=kX`VWm$>VX%h z&wZD&sjsnS{YS~BUNO@t<|j0>rA_1)}fhsX9D1&{pRoF5$-F3<(PX_}VcI^thORWjvKN8yc|(u^w;n95wJ zCw%eZpz0c5Qj~{>C&jMQ%1ywfQb-!nz;X%_Jh(f1ntJzGwWhek8xcQeGy(X!E^hA zEG;~A1#D)tu<^vx-bW+2<0mncH%Rd_EaJ-jS7-eO4OxS3&F}Mb=EPmz6O$Hef?8wd zwwiYdyP!0!0%bR(YKNTssI+GDhB_a(K_@DJKAa|hpMRdNL?Fh~C6`-2dVidj!&CgMtdipxj8X@okSCxz6{GCuMzHCK-Sr$aKPkW!IT)R}SnHePn)YuvyxY^e zI-W}nUL5Qt5l@}LETM5+g;7%8Xj4*uT>M3FF5Y)dcVF3tF8>W=W$K=9{uZffudLXO z?el!vib_k-*KMC#X`a|TdE#5^p8cvw(bXwNV?sM3&4_CFi%>Ei)QwH892!8_v7P9@4gx5HFUFUB;QDps2KKiR5Cq2}=hx@BG{ zBN04$9bj?laWZx+tI5#1h;)IVOCclq%aJCfIUPk-DhiJnURA3Ws_fnjbIE2pg{|xN zQvu+<^EsB-ukk5;zK$ow?pish`x_ifBJxe8L~=}t@rm@=KO@;s2W2-}Uwaub;n@%0 zTym1Qw>>8qdieL%mM%heJZEF)_#`y}X_a>5WYAgB*IzYQkbeeCl-B*zrKDGk^x-Vi z2+^rqA|icIWSh#~M7?k|vd3+X*)-x3K5pOo%BZqn0iD9Ao#G|*fTc9djcvTB)eAL_ z+f(?@{)y#?K1WO`H@l~|H>c~ALz)&ruwMZ)GCN z1gOZ!SV`iBBgM5+82(e#tJ@MC`Pdf>Yl@4DrGe-Pq6)-v$o9AVFhy9_i&W1)=DYFF z=P3VDu2RFUd!BqQwiv*_zDAi6s3TIwAifU z?T#&e6c^KOT|Y+lnuAj6>+5rL@~cZHNU$mHiFOTZ-+P zSr<)0R?B{DUGJfU@A$6pm97J}CYe9FTYOT=U?@qemM;FaKfe*PXeg(tQ<^r0uY^St zH(au&llnqjLW24LlqB!qgp5etj*|1Xg?z~3&s@*KazGU+V@YJhW-cJJglnq@I-{HK z$W8*h+FzNOnF%dD!`PkH*Vb|?*_Q5qPEM)$v1LcVr#RUhtlokdN8}U?<3`TDR-RYP z;5ra~3j7cEFGL%XlfNw3KOE$`h%Z*Krl+Og(5Aeb7WL@Z0B6Z%91;kuH->l=C}fl> zb9P#?ADd$V7VH;{gC75dk?lCYWBf0SiJo>jLu+axlAj-s8{Xz`?FZiE(EGEUgY53t z(5l!PzuOku14b3Mvp9ox{Nc{N&oie_@ET1X*YgAcN5#4DwIAbx@WTkw4`0U-JtuFD zktL=}-|YdkZIQsA4En>sCckaXEibYc>2utRq;OvTC74*aG7gICa9ZOxKczw1ROAj; z9U4y2ejynUa3pJaiPKtp0ts#eFnD*PD--(6@T-#}Sc^c~mJ5M%J5pc)e#Zd2kS zRK&zposO|eAiEaImLSPQ$V~=~2ZnOPZ2QjT-U46+ost4^}I zHl?}wWds-?`YUZ=pTiLSRhpzSAD{?rfD&LnTy4DF>vDD7H4Yl1PZiS~K`-Pti%#(eSq|$LU?vV?TsA$^THFX!q!Wv!oN}sDWiHLg zIeE+p-lf5k+hUvd8T1fU)!GMqX`G+q`QXzTwcWuFm|lMN$F6_%hZlYsg4cmNr3m2GC$kQyt7weS3)ZMff?& za*PX7g_%-dPFyF8;Q=`vvSw0>J42nA>cmWO-e}Hn+Pvh<*igz?nDCeq`hlU;NF3TI z6inh}zJTcyr)A&FZ{`Q)g=J-Grn8nK-Cd4r^(>#uJf=*_iGOqqYeC+}gAMN4E%QT( zv$!L_T3cb^DQc$)uj#m~k#`E0y~d@d_CEnHA$n@dGh%kLyuG~MW7C?ev6`H&wvCfY ze_@Z&sMDQUSa|PcBJhL$(EsY>Wd1|KsB$7~XS1XJ5BpAm+~k&(nasRN}bH z{^WU_oclT8fPNEx#U81Cv~T<6i{~9Er~WGM8c}TebVBS6OYSZAXHLE1h@YL`^l$Tk zt4+J*#b+mQ%%5#^i_yv+EEZ{1Wu2X!RiEEiftlW_Y9I$;u1g9s zbSSffAT<(;+~j%wDV6KfHMr}DT;a&TEDK;4Yf{Lzj;L<3$7_MyX{8y0CGu>^Nty)ERVBQ+5}xsNR^e-sUSSD&K?7bpXafB+fimh#g#cO$L{o#^POe~ zesEKXGt#wifHV*E)lTZ_9GBDGXH~ zJZI$mk@=Q8-K&$MnuZTt<-~a&R%DGwDaxE=Ef;Ewv@suiHoVa6Qm`k{?Xd;+x1`BuD49wf7+1F4Tvk7p$paVpPkiTdGMcAU#4`0{bD^R7;g8`qON)Q*>8* zw8!oz80hG}kF`RprAU%a6{S>f$OD7+m$B<0+FWX6x;u{UNZ3;su_`vWo z8|nRRLa~Q-;D^$bx_0w3{zek1218$8{=$+P;HmD=fTWq!NZbxP?=C3rG z)4vyeYgfJYGBYuzy-f&J=i-4`UblE~eXomJ3WH`#Z~gHsgHm|fY?J$esH(QzNcJab zdL^Rd3cK$gpc6d)V$(7y45BY&s48B>9Lr+2*84Fe{gjdaalxP_h_RrG_-t+AzJf3< zF1#a}>BLtylG-q_L2x0Wb3oJye&i!fQ(5$j9wnkmDG{Ii*^~=`2K}e(ZKNY^jOtQM z;fiZ)Dwc{}KkXCx`LTv2Nfgc^y7V)%+yBN@kyzeWL zN*e7ucSC|Csmpbf@ubWo-vpJ2`t{kT-odI@+FYmpLv7Th0MsE!3c3_<;+1r@!P^Gu z;v^*O3Lt~lUJRuq1eyEyV9cmgH23+Oe;D!Fz`Qi98s2MNpz43B`u)(+?;CA`S|C}g z5o@F{O7BT*{IC=HuYoR}^7rc#Jb{AVF2o7-`JINA>Nc_Lc&03NBm>ZQa{8**?NRQo zzUB8x5bj8!4|s%g0I=Hx{K;8?uKXLkn^=y*<51mWl?OBuy&~ zY+aV-N{MxUeeM$hOqj5t9AQa^ykGj4qGeQ6lPX)MSTjdXRSyEEP2x?vROZ#!nWQt=Lh)VOiHzKA$DyRfiQVAFS3J~uhl+qee_#*YPXE3UqR++6zq+6`&L)p3&3 zWrdkDR(k&)!u$TTN#q7%?f41GIpa|n^-#uvDFzvL`0cruh*Fz=|0iOeI zuEy2MDuWQogiP`6d(LFgUpJ^RGhhEGbc;X7(Zd&p;bO(?}+VqQt>0xQF|HF##BE{ zRIazz*i^fuk{?Mst*!{rrxDGoR?zpi_)wMQb&)m}3FD;&WR7nHvIapR*fT7vO}p_xY5xKn zEns{0$Xd7Fzrv@UHReFj#NDJ^AymFsx9(UZAD?)_`P2#O*kMA_$Kfq13y zL*_Kn=6FsevGJH#_C4ymk;Z;o$R8Y%x19gS(OE{tu`N+}a3@%B4ek)!3GVJ1+}&kx zcPDs)JHcHOEVvG?!9BRYzHk1~!?1?#v+A6x+WRXbzWQU7)%97$;*F=TBtdEH@SFD@ z8%A;!Hl@}2%Zj@lwe?4SFrv#Y|D{(_h(E$HXzW@usiIpPJxWSlHq4n2^swX{XiCPT zGqu@A?`5ZqlG68$8_V?_4a{bMI;_j&^^Uu|2bC*$wz2SM2C!~poJfXv!HDeboASh{ zAkz{8-q=J3H#55Kkfyc);`>hPcKP?pk+qt#Xk?ch2uvY`315U+o$=NK7PvWygTq|ENzUx)-eTvzMT}&%|<0E*vx;4`o zgN7-T9h20sg&B`{$OI%DGqH@PJMQRSc6kTs8m(P5ITK84Df)#8 zuA?s)Afjnu%yCsxUb&-#P zYJwB>UxSF^E-XbDwQQm5@j3qq-U^cvux$Rc1!Pc*2fHtc$7JoXK8lYsXJWo_Nw>gd4S|)}Se`>8O$&j#0}V z@hfRCIHZjzOwcd~SA~M|TkX)2rlY?1N^;JxnY6{bi_HsNXi~t^L>FW2<>f`KJ*`)aLaf2`q$o-n(928owzrCl(W#0Uf8V zxV%aH&_N7w{oJy%*m7?_KR+w=C#J0I?3GL;-lZn|dWZRp^3JJ=i8J}Rrr_c-n;5`K z)@*Hy$1Nn(U4W6o`t8qTtHe4OXkrJ_Xk?_XdAhq-H!|A0yCaYy)U|SbSA2t~4AMjW z!9xt5ojF8jPUfEf9m`HDr^!N@trMYFd5P3g`slVEO8sB7QP_K>58e3~|pBLKp< zgRzz!x+t~mK<$5Tv}d~`4_*Ds?0V4N?Srd(y^!93#_HepA9SzHuG}7{u=b?yW+ z&vg$-jeLrPIf&vwa2?opdIU>^V?O!rEkJ4o^0jf%n@BtuBzWke^*cjqMKPnL6ektK zkD|760r#xM*-U9^DWS$qHO|0d?SVW^3eb>EW}3(;ajM~eOUb?geypbHW-kDq2vB-Z zR#LL$I?~01{^QmeXoM-idi4zfHfLc`HvysOS`jZ3WW_C%`C+o*#t=Iwz0BmG7b@uf z37s-ONR@D+5|jp#BRVxkd=BEqFACq~1yn+6auti&r8X;Z`08eHE{1sRE53x1m`o}o zuEC$&3^REX#Q6^RlmDFEK8jbw@D$vq&Ro#MYDS?u?S1!W8CW_0{Hejx4GiK3XYUuo*CSt<`J3d+%kGs-?y|hT!Hvy*frk}7b_;0{oxPrl;DjS9mOZGRL7pzP@K6`=)sa=Rr3LT4 zadQaU%igA3*F+Ut%?dwWgp#L4;sn|e-aqHp3F=_nqr#j1VEM7+o8IG9+5#_1#6|Nb zI`=3SUylPzK?`3xyZqlse5lgiP4uheTZVvC&tqS0#ixr)EyO=aDSF)>9u@J3A0bd> zJWx9Fh^ElR?TN*=hCCBsED${S)Eos(eT83F}YicT~73RfRYeCN>ioA}Z@ zU+*bQpFekfLtppu2C-z939BC6EsyHn$$9+dpPuCIFxb_gTa!xl zL+fkXRi|zabLXB#xbWlVEjZ+1MD%bQ$#7Fb-&|IT@roYAAF8&hWAvhEH&K$-pu<$T zW@{coE}C6RK%J|%OlDKDOJ!`AUtBRQ$7k|suJMoiMJq$e`@`|wADbp7QSIrm^a`=8 zq|3!j()&c|)^=mi&mTri60?(@Je7?D<-v={%ACdH9LlNZ4VeS~lJk2jPsn-#d$j7_ z9)o+8vrL-csKY~o9_V`-lyg1rHXe%V49H$;sFQ3V9Y1b8`iDITMyT|N++2ERH@(}N5Rzts+}(N7s)shkX4yU`XWaeBZhC_kAQ9lDG{JA^-pPbr%+ zPGE+Q7;O+@uKDFOXlPD9Wt%u+_>)-#?GX22R>hTCMN=PNoyELoP4j>4_!C|w%F8sh z6d=I>eb1nnPN4iNzUp<^cdgk+9+>hHAC$v|J#@!%OSf>Mlf2h!eg(SuvUl5YvTqd6x{ZRQ?k~CDTHVfoFf>TAf*8p1J?rfE0>YDJ}i#bjvu$@ioh>-W- zN+>S$kHt^%p+)`{s`IeVMH;+zBzRHQa}E7*)UQ@uE-J(dwK9 z4I0?MjqbZqQX60Vwg>JrRoGu_>Dg<+d?!g6#Q(dk2e7*Z($Z2^xozd23dne!zZTRC zJ4V@}p`upXk@5%%cCp$q(v)cAx@`bH!rFEkFrd3CP^Yf~<)sXCI_{}uKOtGT z|2!Sf*Cb&~>e)SagFhHP7qVNGr->O9^JLMi(Hd-q7tCwzH3t58li!@w@z) zh5?VxThG&4RE{n#$wuJYg%b`B{~E4P_9Hvv>sfGb`IBJx1!+=HvuOEo`=ObyfZe6s zdLHRh z>?o8nm$;o)7DX&}+{fnE+fO=lDRAI`qC`oC(>&skeGo$!Mtls*^Ws5?&Nuc5Ky2M8 ze8gSQV^0hMJpN*ce)#XK~%A<%s&h)?WyOpHfFT1V*h z`N|JhJ^XQ13aSE1H&eo0F7g}+F~_Bdk+ajk0bw+jkL1{VrSA&uj#~1)V3^-n&CCCG z@S@iOw&$zP+4XCVoN$Lu16cgt<$19g;Y(fR+mm%hgi`aJGe%n@XolNNMlJ!de3v>z zZJTcmzb1ZBD!Ah&c=XstM(uLPbwR#}vwW<+dA)s=B`7OL;##I-!r8LWG2W*r?UUAg z4S}rjr#H(u3a#RwGm9+ZNpdY`Yu%t#NWJ- zpd=Yw>^uF+ocYuorWI^{eth-j^hih#;g$Ns2jU{S9JuBaX&KuTWQeu9>vWJ_FU+Nk zOm97^B|Ebvsw^*xuw};>^Zk;#3#GTZs##Gsir>cvCj)jR)r#FK4LK0GVFTqWw5PMf zis9p9!Ibv=)WD9nP5WxARoAUN2@0!`{DJ-Lvva%m!cfo;ZRzKP9`NR6gzHg)I)4|8 zv^)HV>Qa1P&%{n0`MKz2I#muiIIao9k+2OBbs;SGaMv)6qN=}@lrZd>u{?SkDY&0p z7-KrPXo=8WV*{OB_(>&`slqr7syP)K*NcKx)Z|j>Vu~k%FiO(?ETA1ED**5R8GSR4 zr_Yf*&>D;jXS^7|PYb5`;PCCE^ zc!$oYx$YMdw^0IRc2iwWG;0mC2KP5-6wGn5s(}P)(0|3i0z0Tw7`GqEDjyf@Or_u6 zA<1Xlxm!rZtM!Rlpq1a#@KNetpWS25zMeRed>;Hy!!d{MQ|&Q9e21s zMJ>C_(GlB1=p?n){*DW%07=h&piz=`gQS1KiorvM6Vbn_DJR(8ju*;4Sk~`OZxAFD8F5yw3rjkvBc8!X-O9O zL{=`L%{mjE+@#1vzONuY{Cis)-wN6}d&jvAe48OndDsb>1Ibdr z))%WIyepH@$UiPs?CVHRR>)Jxn_&!Mc_p%Vd#T^sd_SL)!7%91vlbMR@v82zv-S3N ztdDQ&x;?MpQaW|N7awbvIOYaYsC2CdpN7Jk>vCQ8Us8&`^*T2kJLa`uqXm3yE8A1O zllgnFh+F+BbR4H5qaxSQ>^*pDaloos8YrtmC+*YUb^(^mUiyg)1tlePi|$Q(3&LiN zEozx3K<%5qA5ziZ-wz}LH%u5gf7l~_qY1D9`W{{J7@H^DCiOMn;LOkZPVK#6EtnSMY$#yQfI{5FY)d;<vhYz;XQzOO zGEoTz-x;h!97T({scfMY;NfJ_W`i?R;C_E8UAbMZ?rK&2&;b2&pkV{~aX)8b-0;~H ze+a+vbK=maBl+K5pZn{GOLTY=8(Cq;j4+1EDQ-LF6uNvn63D)u|3&vgOcNy(O~Ors zhsIY9_1+0wWA+`mGyrL4+Eu;pVxu+91m#{AAH;o;cfHwUG8U7m?O5Y{nM2)p6DQa?NsEtrs94V9b1-7Z;pG~eeYJT@CeEB)3Hd7G# zt9x0}W0v)9!tmi&x7)$HxA|4t=wo?)1Ul^vGsXR;zgb;M3JOh= z683R>g5X;S%8=W6gsR@|U4apV2y+MHPg-uBiPnS8^~(X{z#s!%V{K&5cvFlQrS{ ze7rj5*V6%yb5@j)4X6I@0MHk(T$aKeEz0-n>!ul6A;yidr_iQySsq>4NJZGD<5VR; zq$D?<9VZ50c?{?^8-o)@A=y?k9dL$CACF?Lp*TzC8$0Tt5gnzm{yQ?dF!DGi`+9>g&S&3xqd)Cz&64XYiswhJ(X9lCvK4{xQSCMsOTgz zbI&gQF|oltzYg3*v_dT*^J#M+ig@%$|6qr2SzMdAYP4+;(xeP3P1{eF&Le7N)yA&2 zues=;2~$%7;$#+Q&0TsZJz~u3_0tX6#4*Gl;1LYAlIrNh)4@SQ?XV#tzkIoXsh9#& zfBdf7%_hzk;8)9jTd61Ck=m0V#MiR?7Zi-L-Cmq2TH*_a_+ zCO_uw7ulP$M+#L!I*vtL{oh%6R-vuuH|#=3**~?N`^TEHDb9??QbJSet1R8_YkU5< zeWwMlo`*fG>+Jr}7tBredzPS)LHr9r@C2){r|J9VyZz=()(2*ZyyvRp>b!+85y1k% zGg0PdA&BN{1rmH4aqjE302;+DXhQ-EQC*ZRcMUtP*U{~$L)*dd^%uI*d5fC`8t6Yq zOhz(Vu0Ww03u?`j6et5)S0d2>lJ3AS z_Qkz%diF;%RM=^a56BZ146s2zTh~_+2p>L7R%C)r4%Wtc+x^}O+aIGsKy-Z0(7pBY zFT$({^`{%fDLTEm{fxf6m7(kKl^Z#}QQ-RwpFNkHq{~q&+5Dc?VEM`^SE8l`af)NF)~m5BbmLUM z021S&`&R{Ij*}G0YffiVPI??Ner2f(Xlhz20ZnGzqwK#wGl+z?W!Vie6iy^3rV>5tE{VPVJw>b7-lLT(#H0=PzP%HW9_FMGN|-wlqqu62)u?0bEbBLPx?2jBxx2 zn5mSDlB-DM4}0cM*?{lxy5-_rUl6SshYs+F7N^8Z+79C$}dpHaurTZp^f_QWRlf2k7n(MX*jo0O_J`4`5FS)Op zI;RKYNnKPi4dwk{cUYszaYnpq6`z`Ey* zXP0Jmv^23sc%4YxmXHNHzo0=bvW4K(V5p(WuJ4zaWrV)f7Hu%LX`--ifbSxl3VJKg z43~S~tSepD+?iQAdmtsnw9wnd9?ZIQouO10-Ci%Lozk|#7q0q7iSS=PMR*Y#cfF>q z>=v~7e&+A^i$uEEZe@*?HwW0~G!`AYXm)s&vWIo|tF7X$8sGsUpXqSc+9S|9|CC@R zjre1h(_#q!=s6(Yb;e7}XhNxd_d>Gm_+aALad~@3go3A}j%= z5*vj-C8kvG{w8C(z%8CDXt@aGw514qAh0wW&PbZ~xOfsMeB-*Y-QwPwR*|`a?CEW~ zemmYA?93O%nnZ=X3HILkeId+!ebfkP={MqNrXOemtCRjawJ)<_w5I-iCp-KAnp(7Mas5iOdq!&TN#`C3x+VN(Jr)d~Wx1hTc&m zmKAiXs?!HnHn7h527T`C5Xd^bHj*Z~j27jQD11*AYkutVj>J|8JslPWce6^_DWI|Qg^sQ>Y|<+_1qWob)*N9CT9O4V!GfQz-5*3SzR@zWc?1br72t()+K%vEBQ#OTNV-mbRtW!{!?m z`F|1M4|beGvlyy(Jmw0&2Yan?y_LSEH__$pJE ziFLRKO+L;Q@hTSZY%OeH)b{QT?EXv zRY+&bv*!HkKPyf+20#G=_BA|1_ZgMNeSpXJpNnHVf@rbW=8uDuHx&7--X@^ZC?cM> z6$832Zs}?jYB8%Tm#-}?`F$<=oo`PkK)2^J13ym$Rh{?XUhnf@+~d;nX2*SA(=Ql1 zI8xOR_sWO^r!%6r88=8lc!xU%l(TZcl2hQbzWrL;)nCBDnN>fM+xhhT!C%z|Z6+i% zeNip9p|a_nvaI^)H=3X2RCj>)He4dBZG;X~0+fd}C8bZ>HTeu^-%Ql`<2 zXC3yOt|}aaRX15tre_Zg4Fz_?BS6@y)1%zMKJ@qZ5uwb}($Z2|I!B=o6_~G$5*AyG zbN;8c&R+CM#~N-E;5CvhfsM-`cNYk{CG-3GQm_$taX4lhi!^;cK)+0~>wJz(AyWd+ z;DLKAT9)V_?fHJUv)~{iP=u|WE`Kf*)E9V`CF1vP?hWmd(W*kb_LbAr`&)*xz>hZP z>$|87{A1?LG&KydAXPa^@$orXu&#KQn|Fq})L+O#w(cvTY9I=?KH^XnUfZ2~f zHVKh|Wg9{?Q&^@s@`yK+^S~+vPaUCdbeL|c+c64ADYpD?jdd-bY>tRNUtTdf7un z>dvPVCno0knQ}$5v8A)LQ@6=$Ixr9^GNR@%PkLGN2~II!R<*>-={Dp(}`T+0S4LmBSQ4LwJQ=WxFA7JuOMHeZxU0-nK} z)OkKefuz4L$nN;j&@wehU)VJT;c zx8}YQ=Gy9$bi2c+3uu;KgH>|9Ki}PpzuwdZ|ZIng&vMj4XXoYm$XdP6=gCfj&&SfjuJUg_K1KYLADNBY$8@Jb>k zVZ1o3{+?PXyEDEWvG)&)6HBr4D^+n)tp3IJH(f3qV#}pfq2Y}mG48qQ5XT6Jl2OGo z;;Xc(y0oh5HEi-2&?sO5jWQxdrB>CIUJZ?HGa=wT`h+T;j~%F99=lTk1T{dd*?3^q ztQU`q@&)>n7sIw8fgaT53GXqS$i;GU9jgAULKv7&VY3Ua|1@0VRq) zX4E1|;J2^e%f3z?GQJSrZcr18ZaPJl#u~p4hQ8z%yu5gUy*3{5d$m6hw_bdt?Rqdf zAa&atwexMNggP>f(O@mgY6?&#hTk|cJFs60xI*(2xmz?=eldWl0tu$ftU3JbIUS)c zY*S>jINQqbk5W6<$%+4SQ*J)!nKTNG4=UAR!bPI+`Ki1B*ez9E>zA~?t*{q#-R$vP zJfDKaQP!=!01wE$DU}{fED|UrRqNx2E*tgXbSK^h|Ip#1IulMfm!~G~EI~d^IY|IE zmhUzRt8(kVEquQZbHCnYRl8~9mZ9iq11ch@T`LsvHRT7+0cgs21QmEH^ffk#;s@Fe zYY!<_ri z{+xNg{3T4SlE;2YWpt&Lz)S^+GVXL$`x4HO2~mp~QK=%OIr;|}C7Ju1CM^4Q6xYgg zN9Uq%{+L52bY=5m4!1+)N?N-jTty!fa#-c3;UnTa8-U&IP;ADGh zr*;E?6(FbuP*vu(wv{3uaOCJ^m6fL$#ANbUNC8$2)0bH^#EYYISExg$^PKl8$h-f& zz^qP4=DK)B2o^LIe4iMqN(jng^M}_#)x9aBrk(?M5GD5r8En${1oQCC&yKKr= zp#PCtGS3KF?Y&vLDSJCD6EGg;2dm75IB{a{uoiURdKK`uoQ)GXwr$&R3so|jP!;sn zd;KL_S|sy7Pe@k(jZE@AZFc%c{{$Y%<3=L_3RwfJ0MJ94SkN}^&Su|VjD|_U6iXRn z>9k)0bc+QHvRDQl3m>%U9oBxU994LGHae9mfoB*?K`!&Tzqfi+qOauIN*hkL6{{PZ zzqgJYgivL(j;w^{Om(^&=e-9T`3d_@a6zgkBu;_;i>@E%su&XtcvMr{a6!LnfzBkC z*sw3O5q$Fgv^KoDDO~|u#0Yyj$CcY#Vh1?!*Zq?RBMj{1(JEU`9z}>c4ru*wd1AQB z29;0_({`(d=RVW~{?)z!Tk|tXsum-_!yi@|-B#ApNJ;t*e$*ZxpP0;UxL_uo`S{)J zx-?-sIMwJr3t@QEcRfFALZu`BsyK4D5WDyqQxr)!aPhdV%fjxcZcg$jM(w$j7$vWW z1uL_n&uSgnT3Z|P_4@Y808W!K&+1u?2Sy#OpQ{A*=viY>VlELt`5! z=7pj;91QS5td}*0*k!N3`0s9%GSQT6>ZR1B5**y_?0Mb_z~|ee>M}pYfRRHTQqD&- z2Yt(-8@;-jP$28qFYC&o`qdPM8#l^B+Iipp59lc!<(UQ{W%2eCem(g2;l;eHUuBoiXfJo&GoDO zVKS5YZ0pss#Ft>kVIp>hxJzl&SIFAsb6pwR>;673+w@CUNqh#rc>Px*X~DAZ6jC!J zZ;ix%Ko}eCt9KJkfycFXTYYJgU{J-ACI|*H@AKW>;+$l%;8NJLP3~gLBcDqSagQ{dmpp;CwPpBy^*R`RGG%;yUXa^*{`XqTkIeX61(VYFAh_Hs zQmrPyEBs^*SP=k^q(gg3L7{c+O>T?8Ok2sL zqXu0@iZ|nph2tAce{9q~xc9w>M{)Dg#<`{2-O4?{Tcd6!OjC27{6fGHeDMV*mb&KF z7j(L&Su*u<11BwbT^gJ4(pgq_lB>xTL&c4N_BWo}SrEOc{b5!p70>>8^lkNYte&!! z;M+$ms<8tw@v!c?*RB9V15^M5jM*NbQ5` zysQoUk$c!=-(X;_*KZzxtT1-Xdb<10FD%F|z|Xy^ADx<_FvoId?{#u>=H$Cqu zGyNC6eyx6^uN;_&vD@yv7?OAcCK$P5DyAYH+1<{d;Z*W7bWfJwJL|1yez%Kcg1%E; zo>M*V)tV)8>}a$MCOBaxbim)nm7P*?+I#Lv*wq0p6w>Xu;M5Copy>bUc}`6fv^xnb zD*diU;D~Cy{41~1>baKx=Or#ky!>9w;CccaI~8eN^O-ds3i`vUR(kD5dmtjmwcGj4 zd|KAGZ__|YfF@FdV@dCNd0Cf(kI$y`w5`3pU4gEaq)!X9@o2Xq@{b^J80q39=fPB! zR^|Y!c&K`5cm^LP66ece{Ny?cV;!9+*m0His-{~w5u&$+L{EiGpTxjv@1mJ@E>-Ud_VxSMu~Bef zbB9J78p9cJPB!MyBI+tm2{4#}8sJPA05tCXgM))qs?k4z$)y#JPEM>DV|&CWv#9YC zthtR>9o>*{HE~|%AVwRN9oSZqM3JKAV-F&M5Ra*q?U%#+=;Bk@VvjyThMU&T{g!x? zshr$wzjD7{``ku&JQ3{hsyHU^Z?Dv=I?_aD5hMk@iCAki`uC(;&+%L=Mx36^~ zyl$U!J3P-X21BS9hmGQ(B(D}J*Ph=kJZ?&1=9<@2>jh&lQmSs_JrTWp9KEgZQLqG zziR;@Kt7}`yiOg7*g#cqqN^z~!_CA4=OM>ls!tP3kX`)0MYaLKA8%cLF?XzGt=1qQ?Gq*o6| zH((4|SX`9C!^OSn@Hkl-Gk*K$_`*op--#ccMe@%OQ$!Q_p43V^-9ZII3?Cs{zD9u0pW;8$(I? zNyorFc-trcQgEt%LL}25=fKAtsNU6psvjZt=Uq@~g&(N~R1oTF{q0|lFPVH}pZlVZ-41@S zi(PQ%xHI)1xn0rL!!P3m)H-K6I6JF{8S$c=e7D_60jO$b*vTkoAw4GCWN--iNRzD( z%jVSBAbGcdD@1TiA@Hfa+gDAxsl>Qoy-`_EI8c{3C-cSo6CV34n+LTgpBXvE^x%f&=mFpverC~kj@Zk4!$ZO6K_L0*q-F3$##RWhB20INU(y$a-fj8uTgv%`z-WvFdVHta$u_p9Sb zfb1~q&eLk&$}GM2sZ9SqKehqFFBD~P(LD(J?me`U<0$C0i_$^jJN(zYWJ+bl611SP z+auv!Tj8J|!0v>LVCMm4h*!(-*3?TIgg&>(Q%U~QjQ!kqw=S~Bd(*upHC?aK;{+}n zzCh4pVHoNZVcMa&GXtEB;Sj@_%iA$`|7P0rF5snn?0C*NE#eyPZy1QZB_tg1`Y?YC zSz`~-7sC5emaY0%D@p(n3R`J)dVC zQ_L0#^eLQU5hrzb{^bK{R!r2EJDRt@BK`> zI$vnJ$SR{Q6h}s^S);_mCIPW{?pNTNP{27r^YM@P+`^NIF+0-iV<$CxJsU?1N>!_* zk~L4E>Nu@WKAO(Gn$7X*MIa5`y-e39WE~2E?eVx;OnjLe4RvaPnz1Y?R!E_eJvm5o zAs#bOWNS?G1yqwwy^N_;vU8m2%+OwM-4|eGKnKn>mBoVoZ-kM@b3H+&#Xp>v`kPYv z^THW6Oj=_`H_aE25ZQKIO(?=72@`k(>s}2YPvA#%>D6#!oYBR6me99!e>By%xr#M` zAk=QuJ==WOuWbpe4kZloe0~@bDzbaO4o(gfsjwbm^nlG<{m`iKI5g}+{4s(;zKF2h zi+{!c^kw71K=0eC6;^_lJR1iH8%Kn!=0-DZr%UtsiyVm8JD;@E()T$Op|pxCaaPLd zdgw*Zz+fJji(u>PtEZ@_SOK^}ySTrMx%_v@#N-Rlg!&)49|HS3Z)ET1^_R`tW_W>* zIQgZ@$Z-e-`SZl6Vs)1lj<*U?b+s64J_93PWxf1f;rH3A; z;xw*R$C?@3s_t%~kp~%FzTz}jC{eE1qc0k{Uhnc8dPy$ z094lK=x8=GEt~G_b~zK8&h6hH|*~ z$pyOqmVi|)pM06E81}=^wAHAQD#~x6s=aiBc?yrMS&r z{(1L(`z+v`IWgf512_PyF|&4_Hekxxz*N*~F#H89)c`PupUWcUy5n&vvi^wnoo~kp z6K*|)<(-xfF=1{lEeX3ceH(71guCBYKSFdKa`sbf(L62pNOvS$#_W)yW z(IVREhl%Wk`=XItNt5e(NU< zKIs)Lw8rmGkTOdvV8Edd6{iVhv46qXQgrfF zPt0Q-N?3P$U%Ff^c$~|cn%`;KlNSROuk>k9pLdx5(pNshDIhCAgE&u4FDx`G%`?2+HXvzM1VyunGoJrf9pCr&D8Y7-#ycx~+S(!$tg zygF8Sm;2=IO)ycs^|v^c)6bzx-S?V+kNjk~=2P8YOEiKGwqEu5g}Jc*=S zLUkm69x9 zLu@6^OeZ`TMxr3xZBS-mnFpo%k;-o%(2Ay5Cuw!Elm*Q{Y$de!hEnqL ze)*OYC?7l!x+Kg^`p3!`m^mVowzfDZ4!SW2^D1aRZyD20fBV>{rHDv7mKqco^$n7O zIxOeV!UV0L!F6TS)bY@r;7G=x7D+~`4$VQf%O!n(&R<)16F}DV(MsN5Ps0u-gQP9=!S|bf|KJt-D5uk0U+QB*b%KO5eqi7m_a$>Py*ywhoF zBDqCmO^0^fyxh;y-Zt;;%Gq?>rUfn3A0J^pUEt=V5A7WuMsn1$lZ1ag|3HeruT0c& zQ6S>&dSn%qDVKC`#A)s3e7h0eEI?Bz&yOoY3{6&Pg~FW1%AG^) zx)BLTjNYO+&9(*W-UDx>&Zw*OQhuHam9MLec^8Kc?qO-p_x&SAI$KQ4f^Gb2U#_(3 zZy+xY(XdLpEpPZ1fh_$Zc$1G_^i~}F7{iK)DvDIQArcrt%@xse0gMvzZr0l~!T$%; z7>npkTf{XeIhK}ZCeI18HR@Ev3z%_{)O@@zqG&(^I8N&;@7SOZ`g+K;VL#j3`8c?^ zN~|m`$LHrYB8ulMslbkolM2eptOStpzhC37UfPb1Y=n4tth|N3{)r`18&Y}LV7=&< zH1p~@{QbpBE4~CL`!; z<;nZQXexp*QW0s&pIpSRGcLr*HPyNk;b{#kxrl(uV+NN|y}l7C6koY%Hzf>X)3f?h z7>4s?x&s2jvTI$OnFw5g*=dRt#V#g+uX+DPDs6|z9QK02sKmae5 zD-;HXOFqs125+<3E_0-I5I>YRq2BlQxH#UF;mBHKZ)3d)k14qS{RQ0=6|~v^dOfp0 zQx7vt)BLwqqQVqlH&|bk)Q{A!G~3}#grUW;OO?{IcUSo-A7Ay{^GEjHH43E6c@QD+ zNkn|1L3Y%}tRubbY2oET5Vu)4*Rut73HPsGLA57XtIGL{w#~c=W~2BVEvTaZ5rv!7 zDu4(YCAl^MWIwp*#Jm{3`DI0Pg;m;hN{J$G-rPJq(gqN~k5R0_kSte%B~NdWf#__g zO%k}~(p1x3lqWhKXexghe4tcXP)%!}VFl_(bj*q=c)PCz_qm1JW(VH-XtHFkx&AxVHfpPF^3ttGw&O#1lNDUANTBk=vrFs@!9SE;jh>_6zz9`uWu@@aqFq^==x zr_a5C2z@8Q1dS}*_rJT%<_{uH&qurGENTX?4S0saJ3dCCXIWH8uiGC2m#mWA)1#XW zp9b&}_{4}G_7q(Ef3JU7U4(kiM2|ET`~33s7OBh$?8^ z*`ShL1HJ)bvJvoUCGT2+*IL_uGgD^)4+x)=nE^e+C_xw@D__OQkK;U%&h6)Wk$vCr z0ec+D(xRf!uDj;CGh1};-s`-Jaa1(4Bee>N%7sc`Q#GmcnXuz`li`<7p?c{<5N1m* zrFS#L10agtD|7j!M)w_%TT>gf_Lm`^9(E34;o6wNPr5ofY$uSqGFG2adH$*D_ga)K z{W77qhtBgQ9!O+L=XhqM_)jp)dHmXJ-|lTFU&1c}GbTu+AdxhI*?5A5 z7@}j&1=FKV4VU25Zn#+g71$W|3%P5QpJ$IJNc@7g@GO>%@SjSjw3v&kU)KS?Ubk;A zUEKv8ZZX;j5t$h(bGjT|=9smU6YZXB7O+!V%R3a*N|aG(>R?tpk;N>g7bcwv4c~jF z*?#$vbQ^AL3QVYxXg8qAA_*6R>OiNf)irc>^q){Qyf>w&M-$g0tC$U9yu77&0`i`MW|7dyLXt!0xq%oz8ll)G^ zlJPMRutFy@s(r$hjWiMaV)wEsC^KZFi1n#xIvQ)Dh6D|7%){{S>G%H_1Pgqa0vl&n zufe~9R=(UBIjDH*eiU^G@Ejt_$yWtdg9-jIr(#7qg6^k9AaYp&t{Y&06H$!@!^#k& z{1DuiJ{nrucn^>9o16cne!_iIZHB;*xuLkk#HyASZhjGwItK>6K;gDHnjl?*751Qt zqBo`lGlx|K%O&DH*%S??!LBQJLtb~q3LPB#jtz?PBMev>_3$&4;~Tf}m)FpM4o5IHHptBpz+$%S z#@J&eddH#0vy^6n{q6@ERWTT?0*SvuBtmjJo;JN7G5>maO%$J@TlrdBkK7A7ML*~R z4pvEeNq`vu4FCML+-+6Y+Odx9SP4cXI(ac(kvtwKLLPJ_5}avWB57O!YC8wd0gIh* zYI12~dzERQ8$2=ODo63?5g0wtap#$Kc1H}*W#gA?g(c){!Z4c3%B;R;%?bi4)C|0`qO=rX zN)!|mUj3@YYL}{6T(X+!dWQ!Qb4tGDE|5r-HUzBd*{yGW90&XGg2g!tFgEt;bjn6S zbRV}Vu^lpd&QcB>x)7I)P=37;)%Ny?$YMD*mw!9(Iik)q_-uK?TrN3#^~w)Vw|3`$1!m=`+sro zh);2k9e}z=k-Z$q*aEYPGv8`QL`9YZ8DJ4l$b;|*-XEHwy}kbY^Y-}MsMvj0?vp7R zZN973bD1&}8HtPs52K^6&tc8Qll-66kukW)c*nU5kS$683}f|zmH?-0l>+|?fk0^ z<|QKz7~cPw<@eDK!6yMX73MQ4dRUmnfR^Xj%e$Zm*kIS%5X@=k>_Jaf(TSQ)sQ-dW zG6R7yV@KIvnm?h_X0R%F-`>Eq(=a^pzZKPUGAut;{#9 zL*G;7(D}}161Pr{&nlZMR8u;5=DCryq%0Fx+Q2u5qpj@@uqds}TZ|Ez6l*g#01V|p zzRsUhrK(7jA^E#5?d;=s{uacXEZ*7KuDZ<4kvIqf*MBpM^6u8yUEs6v^s6OJO~pnr z@Vh%re~;847qIj<0O0PRddnO97OJ^VHR<)}p%wjJ`@%(m_HWkp8H~?nQXP}J_1Rp3 z=pG^!T#`dMy%ulVw$MSw;K%SiQ)iG9|LbAT)&dOQv~fClOWs;R{{~@6Ivm?I<#OkM zim|-Z;9CWi3SY;`#I=_lMo^39wi{E#cp~LrE0U(1SI3z%?;v9!`U@=Jl%l7v;_OsYkC)<}O(JO|=hV)lQo6 zZwWh%Yjf&&x~~pQ^~^zSpi%h+&sSX5I)Xl~w;&jx5yX2=D*P~iF}z{c86hmQ^P`Jl zN>YbFKrKh`n$Mcsx-s64RdqOTqRawjxcc$BHk2SZ5zlX8w-bp;U{O>Txks4fmF(#L z%9!v1VCMiJi7ItQKzzYXbtr%YYfv?Jpik)DkP%5*ma&8g^BM^4YruFejP>u8HsGuI zDs`g09!HDS`Pk}ogDj=m&B5Glz5p>Br3xR=G6Rv*i!_>Ur+|1s>0=4kK)eDtPLu&n zotu*rJ82ywAU(~@%r!VRHg*^q`p(`n>zOa}Wi6lz_+brJ&e9Yo`BLX4cU9!aO}Eji zp>PVm)kwp?SIrGnW9IgJHzLi>sXUozf$W&{Z$etyO{ ze#Z`yof`O#W4uyB)ku)@J9&bc2=|@op^6MCjb@$U81OxhD+K_Y(lavTlBlP2+CipY zfN-po8TX-F66VAe;8Ax2gv#|h^!q~md+Dax)NTx9|N#RxB{5e@O4F&!CpBtmVN8s;J^Xu+~6FgIxHwC7;jbhQ%go#+CxV} zjIm@^9BF=ODTCs0ZG$8;@LeTx+c_DJ`%3yFYs2}^;CrRI$Ms&HbxygYoM=o5XanB9CXj;rIf&EcAg5W8Xm$47t7Y8Ov>NXGYHlKcCsd z5@1c4yH6TMXfIsI(~_di#sx@m#vzs1PF{49{M8RsCsW| z92HJCdW|f(4{hhGjqCh&nX;f2Otoz$HYO(G&CMwXi+^MIO|LSC+t~ug_AHv}wDfH38scj~)0uxncpYdxDj(Pn06lk8<%vW1JG-;Qxw82eKH)8$4s?5Tf| z(9=xApY@y8Wz!)3*AOm4Yx6SkaPhCEgZ1_H2Y2wIK5r`%zGaMabaocax$X=fxZ+3c zEXPsfX&LJYpTl=W*slWYd|OdDGnQ1FO1i=!AK;u~<0o2sk(?$z8|)?mu^1Wu4dBo~ z4TuvU;F4;dZ+nwZ_3_!jJQg{L>fsyv1h}%J^Iyx?y+%%Bfirx0!_B8bcLSD^QL0IG z2C47lpMXC^2*uXZVnrXxKV1!66L|qUq1~E!il_ym)#mO%S*w?wZjTC;e>-a{GRFzQ zOko1WJplLNlbfcp3Batr`Rs%CI#}He(w1(mM)oR%$>M>a4Uvys)R=j}=8)S2yyXJ>YmM1#AHYL55EVv*pO?Q?` z&CUpUc22_qHidoLIK72X_4zC(F2u<(_q`bQCPK>wpPOgTD&L7va@3Sh{5`SEA6>^A zmHY;@HyrCWL`41w8cb@Y)Rpgee)^dHqBDRd9ZPE_{9EYw>#lO){<*+}(i-~OBz+n3q`d@di zeUsLmxmR;hI-)^Dp0_9ZNiZ&Q7lK7LMaOIGCT^T33smuAxP1At?*6Uz~(%Yn6!2`;d=0Hbu}B(DRhoHizB4#Dcnyrya!m1qOg#MjUcGIjjqfrhy!%=Vb~_!{xo1WMNfPjI zJ-KK;abg*Ieu1u8-rsITk*5& zBmH_`@Xq33`{8)Fx5K*dv9h4P5{goj{I?&(jG3MlznJzhPb4t^z%6eY@3{@c{n6H~ z!AHWDHRLNqm8GPbp@h*oQ*(x^2Be%pta&cc$6umeX8rh9f44rBM6$bduU4=#nv-?4 zSFV8%rpKl!)a*dcve!kk?8J+O_;2F0^lEWmHlUs4tT6N@~x9|T^ur|BYT7`k;gDI4F@2Q)QV3tIo`|Qx{w5um^z9=0ms<%AGh9tSw!Mh_d6(6i(JGg!fWMyzx(?hf z!T>Tl8-3tYSgx?101Aee!dO7NIv8l{t1_mTfPT9htN~qotr}e^ptQD_$!%-JnxNXm;O0AF7NuAnAxTBjoEoq zNPrU*HJpZr_cD%+W?L0(g(+2+3L%Uo)4U^+v+&{UqP9+d zvTdy9Xxw?%?ZAs3uMz2+i7{)~$_ck-lbYsd?M;K$6Yqryj4wIQH_^N=8ZtO%5*jn* zpnNVat|l!o11Z$FR41xdzug5c_e`oq_A!@QPIa6gkbiI~3;`XlnvPCVEis{&$=2M= zz-C>{P5Y4yKd0=i((nmAuYdlIHpjv@S8(GQPJfd&OTcjNFy88YUw7-6;<|hvCkt## zyG!TldbcmPn3H;b{K&5ZoLd3n5i$%4C6E|QO2ez=nt?Q~U6H%KaUJ)8SYMI6Vid(+ zzPHOx$O)40*_`^F7Dq33`$cc=5|MeY9V4yr0B&vDT9D5NIOPF|l;6xrfH-Fn2v4M+ zKRwBW2J{j1+%2{{!RM!)wP#`j#)`b``rEymn)X0n9irH`5Z?68(YFS{}1qf7_u3@y4!~-Nc_i zR$22ld?WVrvfV=0iEHe|;kwub6=v2t{ZP@j=k%PhAe(p%(DBXx{5hL1yXHW~~ z#tNtJ_};njZSpbtSis`!&>c*E+)l@X-#TjF>28&7kJE9>&iWL-59U>+PZ(YASgi^- zJ02%&Ri^N>N#FGoFCMhVPb-ns=uh}Epc}OwD5{4N9&u{LD|ucBJB4ZXxWoTohjr@$cDyrjc00^#?etx@%o zT(J`t-4D#~yp~RwiXu7{?zjJmpc2?yV#QJ^zLC?1v#CeOCxpq#jqOl$aDTlSmtP26 z+`%2vcawxM4hJdv27L>S05X<$Mla*1h&_Qn(!1XO%;iB;D+HUF!Lc-1&9_&t#6xCQ)tE9R&9-Ps`hd( z;cC9MV=68LK`doW_oAW|t=2H+Q*GKfe2bha9uCC0f#ymFzyl!zV`oPc3-Xx`!VtmroLN_{Yl*EsRa76_QC#F*(k%F zY$j4P{mpDtzs?j7MaZb~6hB9y1Es>@;(`8g#=94#Uf^lv@w^jBT3SR3XPH=XzWS*A z@81h_aGXB?iu3l67%mNX7~!Fwo_H4iIf~NGW;mBV6oQN)vO9eEa!C<rGH*YeG7Bxanqz>bebox1$f+H9t9AabnxzkXLwKAEn^ ze&O+!K4<`$c6zxi1zeIDn^_RIQZ&A-G4_z>$Fu6Wl(vl6>(@Y*a^n|e#uJ9AA*sdV z1;!3iMxj(pgm5K%(r@dr+)G{P-NX^~8p=$IBLi9)rxI7hkr7>h8jCRnrLNT*_}Eb% zu96?d<J`FF-u(+s`WUM7ebwT!&tv7<}>7M z578mt-{|?fpv?NfWtZ_?7bUz)SA=7?#|&?vqyG~boVIx`^yj4CMN*2^`D<-yQ>D6g z{DGEg^`ZT*)2yADJJDvxGPjpF`l!j}u;1bZiWQdl z>V?gUOex@cT~11FGQ0)%tS=fhr8%FQ<}FQ}Cp?9KH%&Q2_iyt0)KopJQgnbbh<$qa z1+_xxMWL5)$+@rgaL(#tv*VRC_&K{~ zED~>0Ss#j9e;X1@YDsdG#m6NS9>#+NO42UsWl?W!KI!(G*!&B3HL6n)Lf)>gIJc6^ zP;vke%vKB-QzCZwbk(6lrz@>WHsV}0d&Z5Qm%ZOeTk~8Ax7zy{j{WQ?ZrpmTo5!1D z?)JM9-6_hdvigMSd@g%Jb39`Rm@cl@O_o)_l8B~X^aCDtcj9(tvwtN~|B53O?0~4& z)_=2rOq)I3p6>LVuW;TNqh;&d&yO47(QG1&+~bZ9EKYB5z4g;%Ex@E#R)yF34k%%) z-t4U52rEYSnu$R`v-{f`|7CISvuOg+VW-z@?h*?i^afr$wl+IIMh^`| zqSqKZ6UZ{SYiVim24N~iW6=KJrA3fy6+Yy?8n=_TZPr;UHzcfTvkzmA6Aolw1jGhNJ)g7Wa>aIQ4wAxuc zZXJ!UvSG>$iA#Ab>=O?&3v-L&O!SQvUDZibZ^FxuRA|t0K$*VZYxP8U(uJt;D&WzP zl;nR{f8P8HmAI*3(t$py;<44kOoB-AzFJY1<}p>@KgHMLvh`Z?#R>2 zNM6kf8w_pNKJY0X1p_i99=wWW)TB~|(X)bv>2m8#-FL3Yw%bRyCpxs%hHH=ogLY} z9me!vz|dRQC?OP>LT3H=jJ>Rf%guDd!eXn4OdP+7Zyp3Ypd~tvN0Km=F>ODTU$?Ry z_^c_h>D&^?Huz{6H&XulazSwUjst{vHwtxpIDz}VpB%hG z$d(Up!}GhU#qFa=E7kKQM||z!bV{h;ss$NiDq0>BY#cGdzG3+{oT|=}b|F(`uxSq= zO*>a+?+-R!)Xzd9#JyWDcj$(_hv7g5>DS6#@6%9ylF}8fL#~!R&voJjc>!0y5b0!s3vGmlHbOP2L0#B){p$Lh`w?*f418%iARwqw0pQ|GfC)gSbb>DCo!O`%AcY zr+fqXiQRpBcopbFAt;iApqWK(cH$SQg@ZDO!qdP!Fl;!h{SRk8G1a(>G*0{T-U8Rx zN4i|X^qPb{d{bXdy&?aNa4cJ@+T$Z?IV1{6pIl2%G1$-H#d2b_8)mMLq4D)Oi`h8svO2a$xqJ zLBG9ZH&-cl>Y=A6wbTH_lSPS+M6tSQ*DN%Dg0G_h4`xV_CO5gjVp5oSM}=l8pImX= z5m!K^*OQDd&YaI^T`_t~^}%$t;;8Gh%A9~9gvH>S&%uo4UAM_`)GArmc~3#SFvpL{ z7?SX0*LZXY0~)j>XkS7$miQLvP8m;(=6N)~JNI8ZN?mEKv3ngDdAbtSn_6-stUw?f zAWfdCQb|OcBg3okSn6(Ad(e<6cq#}ev%fj%*X}Hkm0$>++$vsOU+@x}oI}T*e zto**&SjbDxG$Cl`J55B`y-KfC_If{MJTQ@EgX1^4eR(JD^K5IlPft&4)Ne-1@nqEi zoz50yI@4b-v$VLZjPCagK&D_X1vsPonBov&aauWXfYpsXs2x?drk(O&Xn+$auhw8P z5EY`DxolZc{KZq`0^+J0&H2*peQtaAk@5Bies6sYGsRE8n7f?L%i3m3rXk1f70&E030ujDfMmKhTl=b={xGn1?cbjb-Q4nf0xz)jPc zdPX9b6bkAGHVAz&`O|YG<8o)fm;jyS+oKU#me0z)IYnmZcxc1>t*mLUL^{#)zN#R;&dyJzJzDP?`mwV z^zAb$g)AogQA(Z99Fpb9kLkzaxO0)m;|v#7_fz`=z4YHV{*sOYuXFI*dyX&rcjF~< zNhQ@$lZ}6Y-YX$@Dja+eASV#?I5~K?X?ZeL2y8Oq;l;i}85n5(SC@8d^R@6e&bqH% zH;k|nyBla(LQfa#i#k;+oPbE|jUj+9-KC0QCvFq~!*{+cS4jryy#}Yn)ZCA&AN_Q9 z-|mNqdFR@6ki%7lqTj^4gvzrSiNYjNEj!9L~P#@Kq1lc9F_3%r_xk z02izd^=K8J;&-`05u8gw^0}CN`h#eX@QC$TSPAqsF3y+j@te9Nn^^%rPA4?7Df^~&tGMM z0EPdxDiT}Ik?YB>y<0O|1w2(~VQ{RQBRFw*Np~jHHYrE6_~l2CiI!YTuD{Y{BV8$; zGAoQC@<0C7y)u8bxZT|!EdkmQK&B9g4?hnX<;}jb+3KO(5%Zkk&-kiy+@&YjoEm(n z`7U+$0aRZYB0a513>F@;i@^QNVq159V=v48hBjy|9l=<7keSJN)654<75d&rwVrou zhcLbVi|Ns$he@hHqO@mb?pj^h206i^myIFnhat+~XId6EQFzy)pqJkF#hxy}EFzOz z=+Z<^bJXa19@w!(AqSt0Xth4yFvT4cX}V$&eTOG%nuFev5$RlY(@DQ>UGsPbvL_PB zOD*CX%S)Tp-VQ~LqM;gwbOuB!}A`Nh3otJd3i$@y->a$&wBlzN$a|D6%##&adhuAsOe8+u#?PG}FPr@SU`S3!UgWp>Ft4}>n*T{!8&({Far)5;% zU@}TMc~dIRoT!8!yv%%Fy0~i;A+!C6_N~^XLfx|cta8{X!X_UQe^*CP!sY*2U0tDIwIoZ^p*o z#G#Dg(SD??1^#%h)60n9#t>iZe-dZNPX}QiIH3NUkFC)%YA-z$RkC7xCTS3A{gH5OD=v|6#M_~<89oQK zrhVnwC#gN&1Nu=omw%Kr zOlbYzY&BP#pn~E3e@*3jLO{&ax`msGv)C6H5vrnRDQx&%O8QjB_BOvh#1tT)tsf}~ z3xjyG=m_a&X>Bb9YfV*2!UiBY#r<61>zRw^acO956*_aT*oHgy7ye~wNhV5D_fh9A z%D%6z*Y}c6OIW}wEZH;7+Fe5#FSe@H;dS9ucql1Sy)XRi72dK6{xzG z@9=|kha9&{f4@{sz_llQ+9oLZtn3rP7qAIOLvX@L15s@D2N09LWvt>3AR z9;8vB{-=4tU_mctX7jo$;NbKBjj!#`D|u?YDC^uEp@r1{j^;wc9lN}4Xo6OBU^_e} zB4_RV^@-JU6wV0&fm}L#tMv7lizn5ax%b%6Ohm0V~ z;&iX8u$K64@7TKxqgWb(Q$qc==O;u0Lv}7Tib&1Rn?c^y9cf1!_aD-0a^YYQnANCq|Kljq*ibx|CPdtUN=HB>&m6j*8J^V8piE2e>tcu_GO71bfnDX`{j9RjVf=2AFtad zP^x^W&@FQXR#!NMNRe)gsVY8@5wD zwlF2R9rw8cF$ldx-65cb!^@%U?Z)+~^Yxet+M4S>Vs+g>hK_6WFf$d(X=zbZNoIHu z79O8pOIcS8<=Y44RRWdso~f~Ntw|9DuD^CM# zxs8{1u;t=PTCP_|sX>gt>45zh2CuKKvb4MoX!0tfD?bMZ%XXMBP26g`jcY4A&f?c1 z`QMXZ*6=C_f5@kl(tPA{Hz5JXgX5}*!J{F1smbM&H2UaQx0d~6#C_bhvV3kGkF8A+ zsOQ~8&Npq%b40rL*}>dTbBe}m_pib;1QNv^j1e`sUD@BYsvVbJ9-Hk&y-zFmRx%B4 zZIh3i6cy97BqTVcBa?Ovue5s zrR*#QHTr(&zN+5{%36@HBa0|OP@tAf3Lvv+iH}}=kN@I$?M|L2hO~3tcYdz6FJO!s z-6z*?M_##NX|KQY<#EC5E-%%3A=3xdw%WmbopRM8>Y9Vvf4{Pg@4Oun%;J-fSqu;E z+x(o?WFArju-6yc`;uZ6=3_hlu($tmV+VGD@RgB>GCpnxU+q9@$9NxdAdj)f9~EiUivqqneG+QtST{gUxh-P*+oHIHkz$n z9I0f&`27!VTtuX({kD>IO+~EQ_hL(^9C6taX$XCZ;wbrH2xbx>+%Cj&uj;mM*JsUx z(F2a!(kkk>;)_HLn&3ly)-C*68`J(3dIuky)QP6~7`o@N4%TYoDs;D5-lE?DUVSjnrot|-Q;xYtm*OY*HKz0zwN)79(A%;ALQZR7=Lb4oG8T5TC;{mZ(Ei zmx0p)8N8S#3G+uXGO|L5Ch1n*t(;M?nWBOMnhpl0tFQ^C5-%rfPF5B%hm9Z0dx0}% zFHghzTK`kub29(%Z8PL7NIF>!JgD#|pS_>H7ry8%I`2_@&`m3&mwW*Il*`maC2i1I z;b!ftn+}1?oby|q*1Hmz3>$LAZ$W+blWSVd-&3^7rY{HQSL0zwFgCgPvLDg=0ciRU zesAqm5c@@%LQ_#>WTY|Gq)hWX3W)n+JHr`0$i+V!&~apDWj!4acMbLT_hV8>F7Y*A z#60G@%??#q)npvX$sov0%qM-I2(hiv*|V5Uxc*|~cIufbn0 z?<9_^itMwlDQJ57hK<4T-E7cn`4ul7kY4hh13j+YC2b$r6?WLm^AGy!)`fBNW$c&w-2%s`D(=ChsX zemJ^A=evE|I4&A^Ije_Q8|d}5BV~{1#E!L(s?j-5-3O=WFS`VWPVw^k&)hm=5;L5G zqJhKu!HvXPDCeyeZVdALXUq+)y6v<{psEgi5GA| z`NFE&S38|&9d^C9ykzRX_MpQD#M5FcwMk)dG^#Z)iJ8L8&3jIp5cPP;H`~ zjJMF|aRz@U|516$y(G)&ph7{81Pdh};LdY<>dtVEavk^Iu!N{?EBEgN=Qh}i90oUj zc?*YEv~~BuIXdY${}!%=d&!Rp>jhyYuN6uq^Rw9>fuqAX6OfYfl_R{x=dHE>80NX9 z7GC-rCdv0uyZS(arp#9C=!d>yt8XKlkE12iAy}4d%6U+IpF0C4|QwBfIFL@?B92^;Pb?4d3#w{kQo^ znc***z&nwByRk_^FlX5XL?k%KCCcXCWJ;r;j<+svcnmqb`Y zL6}nP`{ZVa$7LF=6|I)Fl9`=O=qnQL8b>W>(Rg85eyZr7J?JcyR!|G%76t2PZ|#1p zf2;wf4Bp{K2b2Kw@89P?vV1RIpvt%a;-U!*@Y^d(=RhJe(o z4#)NX-CL*}o?d1Pj^m0W6twb~ls9F&iY44XBx8)qOs$)^oGtpb2j2bh8i^t3`6~AN zZ7Jj*PQj*t4DH4oY!f8ieTc-7q2i++Qfl$v549K5=48b-oF^)6>xmzxLNKZ8;hP4d zHMwPSk585%MTn0B#l)J07n&;VffB!vGt<{Sw{_V3Fh}K8@J7nT$O|}0@$bnep{XSAG{mo!e zhi3S=asrFG%95~#(1%F)t29QKQdKw+s5Q$ka&l!Whp>l3>LZsvre zI^tQwhqJ`<7T5Q8;Mci~FV8=bF+{mX%K8@13MFDsXWx}HsL$Gn@^PM{(ZGj*VpN=> zY*J*w*^?)4HcC z*=NkKf@Te>I5q!o<@1?st8^g|50cFUeoaNRI}8UeQgb@2_;j$~5l4LqkxQpK&&&PW zBu;gh5y~eNB00H)z<`@5wi|(K1Q1&?kuhaSCR>W6u0h@Bn0bsl3B@X_a9W5mO0i12 zwhJN5+~%0V*|;h=&i9x5Q%??Ye^~&j>~n-NbTfIC4dOA1D@Uv2W96Yc-S|5xlhCBdM#cE+LV_5!LwQY#Y{-1vP9B~0dGJ1*FNc< zi0xHtzXcPbSdjh!?7wB!u7{s@o=T9+ocY1i#t`g?c6cUN>*wzTH9n}7HPgf}NM{|Y z{pR>-BVSO{sO7}boJu+FlP~@AQb)}3q3po%6N#ey{OObMeY11!zHy8CP$)@C0P8KB zn?YamjJa1Ob8x}K{om$~0bDuMJ;=+C_woP$MW@WnHK{yaG^MlxGWR6?ep~T~kO+v| zsm<6qcoHQ)%|neCLlRmDy7!Vhp$7eX46L`E% z_IjB@JRX$VSf9Y8%4^)di9B`zKgtm~I zVYv{qrE&mGlwB9GuwNlu3MrAjy4l#`>IKS3RiSl9d<-R(@oF{hy7aigK;*f3-p>IT z%&$Fbp)07WswzX5V~YoFANE*BYsG=72;Zaf%M`$tEhZkpl4m_gXz%D~q{7R}vF*0p z^AduoOQ#40MF5;P02gMiHJ(KncWrx@DpjBoY#7=AXE*KYd%NMy>rIb5-@A2r`n`)$ z=xf%m#WCIuKR*(v=4tk0PhM`|>%;d9LkB!5tnRapP8iq)Cu>?cs0ldD9IkkAD ziROt_-{Xm%7MmB|^?xC6snjV}2X6UXUcM2Xw_n`5S_d8`CVGC@+Uhf75G*finRB=z zYS1J?kKlSLDh{bZjd_dQ{$qD!S$rwYPiXE?8*iw1u%q3|^_;8buBhu+T-5|~s{Bp& zF=t4^iGRWWpsuPz=QL?orta-1rqWSXbTyX+EhB&TPRwA}@e)W9`{48lTd&`;bM|GX zKWCqp4F=?#jUN^VoIe5^PHjo&BW5`+K^9~NjO6v>2ahs@5URB1#|^PtT)`z1%mB)` zvoBqIAaK|a448pk_^_+J-CK%uHI$Ua;4PL=l7eyLyF+D581E z8KNp(b(VD_KI1{sy2Bh=@=B%#ZCTinA%uQrfTIvd^pT+Eww*1la&Oje;5fez5$wOx zX9&>_=|Q1LpI<)OE42u9;2V$VoqKgQ(3*=i{RkKMRr=Nt7sG#Zf_HlXlf)$>37-aJ zdvkG)5o7Q#9z)5$Y7##tognyYy%mQw=3S@5N1gjgqgT6gDJz#>^aix&AS9e;fmg1`(ydp=g2z!TmW(dag|4>IxNuEMnJ?fY&dFrYM(K&hAt zZ5}uKq`~hIqZ4atV91`v-KwQN2_M1*FMUZ9kWw`o8_w;$l3BkTHhljFYiVmU(<-Ti){!p3KXPen{sup2}PzP9$y)yGst+L+7#a4*yy zE$?KiN;dC!PfU3z9$_jz9m|(9uSFmmm89%V{FaV3%Y0H~nE(pOSJe*v{VoDpS zpsvKE=zi_IixBBKj*nwt-NTOD5wKyV-)1Tk^|)USgj2wJ`p ziWR`>1ZMVt$f4)j(fDykt->E$Hao(w4%Lbu9aO1!^;akboO^=$T1hB6gXGDlDEhjvS!C5Q=HCeqFoLFV{9_VQ2F2Y0u{h|2+q?&XISnsk!~AHcN>1q^{P< zO)h?!D-3d7(srowVC7e2Wch*t3O?sGMoZ)0M&+Mcn`{?Y#|f(r?}ugEX6u_Po80O0+ZS}o#phGqLzhVCLL>2C;19ms+ta5lc-#J_{x=*;$z#4Gs zE|KfhByu>Q%!vQDP3-aZ@;#08?r#T4FKbl4Ty|rK>$=^??WXzb;-|JE4f|SyFXfKhpKyF3vYA zg<1oh{%ZZTnHm2=u|{4)x8qkm&v>aZMJUIvzUpbT%)9$|)XrYl!G2St4&%2I@7b+U zD{Cp>!4E@JJnN>0fXAL<4JnUw^v(VM&JrBy?ArNTCx9RA2EZ??{{X3X8z8-hBR#er zXZrt2u=2d>=k+=)-Z8X6om*{PxIjnwUM0I)!o0xUxZpCxW3>kuF!limSb+8WT3d1r zH~@uLyTn<0RK_#eq*LI_)&0Wq_xDd#Wowib0MrThjj|mIi+27xL}V_*gj8YQjHor-(S=AiJD>#d0+1R$jddpWcsr@g zm|S?uaOIl|`*i_aRfpi)?bm;q5EL#Bl+bA>T|bh{xJHo8fYp+|E~j2Qp5odXFFK|cY9<5P~O(oJ%)lr)u<0xKbK!P?>-n4 zGU}~2@2&_q3s9C&8x#I^CNUZAitRs)P>l*RE@w=XefjjaJw#Bs^1_tzr#=eOu;jRB zclw;<8vZ~Yo;#<8T8`M@F_c?;T8@^zOxN}||Gp+kExMc$_3}O+dTZ1JzFe8rS3!69 zL_Uo>&vxqlh#eyRx&l6fwVOXb)a{mL!Hm`a_(_Vi9i_fw&fbT+y(Nm{ci&BT@g zwVYNy41%&fmMKz(I0xs)FOX0iDV53fb&&}|rmQ6X6xC8-n_h7K#J!_T0T1Mq@j;Mk z?(`377=2DyCaVB(l`DnV9NWnK-=>(Tt1wFlxxWEviK@KqK15T=&$h_tCOQH*Mnr;- zUEFXBVb-xWQR9_JFe>88SVZnQ*boaoH;_-Q5pAY6x|}mB#GU?E(piVo{r-Ra3=?A} zrrUIlVY>6k=^Q4s(yU^}de#e#P_o zc$z4m{gTC=09fT&VlU!==*w5E@y0&Iv(R1j4ibHsd zLy3T(H@g%ALP1V`Y&tihJvuQtsf~~F`5`CzW9T<}%@_=08$$U7?RA0EbMel_lpY|? zfBQ&W(Cfj}3z>$nFyVMriX>rK>?9ci@7b{Ko(h4J4DQ+zVEL)j@yYymY3KJ zOu!S=`Kjv@U4DLkLcPC#O%w1PJAI$(_@lqP%(!FZagjGHY|FM6(rvk;C8swUAET(G zgauD+3a`L}udo>QJVh&YCra=cxzbY^!skLy{(hE7%>2Uheze&nLZuPT-v7LHBUxq) zwJ{a?GjiD*5m%+2HCb5}Gxu#vFrongNF^ORr8)ZcH4+G_@6`QKJRPT#gfUy$F4y5y zPTNA9?;Lbl5CCzk;hU$#Jl_A|Ca8@eaL!(80Tr@i`AA5K3ab+{bL`FWsErwZa0yc) zuBmBz;pz8vbj>Bykk6HDS}8b7|1*1qet~}GStWzkU)gRC1_ zr?#C^Cx+0UA{n6s1}aASD$7>pq!8eg|9W%SZoVz7QJ$(&l1eRo3Rt|J;&^h8EZ*Fv z5Hs&fK)&9+upm&->GUDNwO1k@7X@UKY=z0DSwK^H9b5wJ+!{99tdx+p_V$_plb0G; z>SY${%gek1^)@SSt*xyG4mmtrvf)lXWm#1o!_z_#2`hi%{!?&alw-`gS;u+1H9$<@24J+{Dh=2y+ zMPDQi`G`nHseC34R=*1qTsNC6H1iQz)!s+_+C7fG%#u`&XCJLqp8Q%`hfMfSlZmg)CrBS!!Osr?6w3A`@Ir1A`VUY= zJJ1XXbFO;`@YPw-mL+_58CVLEh1RgPYRS%%<4Eob-!7UudrH1u73BMS1)Cebqk-c= zWdp79PnlFcx<=mz_O=CiztJ2jJIqO8-7+1;E^LzAw{z(nI90JW!WLYzXx%f?`uR+P z^Wi&tnro4GslSVTbYlZyv)jaHl?SPlJ<-1?64kOy-$b>wSGOt2!j`e2by~apMds-` zI?gCX^;Rw7ES0wjlf~a?RG>`IEbgbO!^l*-M0c2uB4`AFlbQJ4JE8+$F@6nf7dChg zQ)9&!ttlg>4xkiNsjwPw$!8?2y+y-xrx_vJ$`6u{q=UBj(s?{LmtD6W6xSokZ zz%;3=auQnb`p}|g$8Oy1;VQ)Nb%nfHg<Ad4H? zbOlteVQS_mnUV^Ro_b5#Qo#?U_Je8K9O^pw(i^U=*+ER3@y#|Xo07SId#G)`CKc)_ zKAGF9iCKE6W?I2DG|NRj|J4&;Mt?ZZPJNp1}T_`!eX z9w8;%qEy*rCh$+j&EMysfFm0z?tNU4^STBhtOz)L^Deo+^(9iZUGML1hpC^}EN6>4 z-BJpsR(c$5pGhvYccz*9Ui`?%Wv>b*P`XrxykNLI#r?Lol0@Zqdx-7;SJE<^SS8DH zz#AsSh`^_@^h^^{B3YQ5BLe|E*bKXC-$T-mu@>pRfU%Pyj2q7^vBaJOoQo#vfreAH z2Zx6mrgJka-M}&>@qX>Y5KY8OLiO-|VtYMys=N@Kuw+a9Qp0iS#2qLrg@fOO_9DM> zo0VX}!Ng#X9=ArCb`;X*sQV|=$5OR#pQj_G*`Qk8lfqt@VF4joOgx^OUxTmptii&pT3lx1bC5fF4gWn z80nn!W5UwZtddB!rpObM)%MZYA2>6{Q)-&mMW`AX#R?y*3Yp38FCJLd{#4_~=ey_+ z%)qiJ60s^%JU3C<&+di5?=UnaD~)m&OV#x zixMaaJC95@C=|UiZHde{;3YByZ)GE0sg=ay<+Ap42HmnRSB zfUVl5+EsH?Jdjok&ZF#2pcDeyzx5l*A^JlBY_!c@==93U!cO6pwOSAT&}naDgj(&p zzgrZIN3UjIP1oQ<%ZAQM8g`8;Ny{kM0tnHw^rQqyE{7{@2nmKo?3&-&sEi3R1wfzp z1Tcm_i*&waLF^_@ST*%BLW*Ya*`HHEV=bAIhV|Ph8Fu2z4-|Wk4EyF0&IdXXYF593 zh!g8yU4Iq#dCQ}o0IXH`cb8ZR@wK)G-}ySI=W#_u;w1RL+|)~O=ZmK91sX_dUKBb6 zbXN<1cjkREJyOiDX)bgp@Qrq2Joo{wO0vykk5t8~exn@K04)gv8XZ&aIoO@r`q5j& zE+Rpw01a5In+K%J2uUQMM4Y>&k8y@sE}g^4{dFlC3fa}e!-AS zL8583K{D9kgV22Xji>la>9{}hgyU&sl}VwRuB}Uqi~MpQy<#PdA47$r{N9-oU`)sJ z>pG8;Pi^@&6&nJ>a=cX;k)C04$%N{{@4TJ(!&RwUr5mX)&hE8YUb;Kay1wM4V=fV7 z^7MJn6Sr#m!y62}Z%Ws!%8iRXBHk3l=KDT|W@xi`NFD-WGLZry=tBvD+iG*pUe}$K z08}hOc$D^wa&aCgzFT95?v{cx@X9J6&*F9jRf@BSf50D=4QZj(g`0D+?xr6=&1Dr@ zVxLfzdF&oe=NhNRb*X8JsxfpoRY2gneJ<6GdkQtI%aJxVNow{A%dtN>*x($|MIy4w z>@g*P{>cshP5DMqOCZ0Hey;q0qVfeOT%$u~%KyG0Z=09>K!Tby{)u#FIZ7^fV4w2F zf=XX~M31;OX4rOQ3Z9*v73p_TDLq#F$*Xp;KTrI%HYT=9*x1AbiNgSx2$RM-4DxMu zV|n!0!IZqraHg7?8aGVXxGhqv-SgnD#MqEoLStidy2+!kEHd}-h$EHDh}CQBLpm0u z%6sDuo4tInO|3v{4Bz`4uC8T_?j)Va^z`U*r|?OF?lgN)!^gY3AJhNF|B%D3ef^#R zEkZ<^_J8NR876d2TLr{y^kXVCqhaoXF%KB<&%2a>VY_3Jr)riIIN@_1s)m8Yy@rO# z#RYLhQwz111>F%E$zvCHwyV{%cv?(Xv!07p`t+CO!?RgV^B~spkmrY4*9&yZ zBB%QF;U*U2yV&#=x%yr>z#aW?DYu~-P*}B?roSs4QhJ|t-27U;pA>E|3ZzguLfSN5gu-?-kZI~pXVC$~BQW|@Be=a1KgXThzc zo-w;H1c^TZ!zfW&jPHf)VYuP6L0r<0#j2e%Gk)h@oNGNdeS7u;0qFs=vXIhYIKE%smToOH$B$z2+Q+j>X=Pgfj|?KKzFmte#W9fR?&{~oMU#JYf4du(FVV0Zu)e={?(gEu^24=W(%AlM zF8w>t_XvT-&(B}qhSXJa--aRUHH#f$mT;sqk)^SrRVq_YWBK$FN~lUh*K;{h!PCAH zc!Q=^Mwgv+v1}2^+S)ZuHu%R_{VJcd*fDV~>kVfrzf~okgnhAmHy=M6TW-Srv6hUa zk(+4V<>eh$N{Cx6SR=(`K~;NqDErtY&}?pn2tE9o71l|~@G8-SH5&Tyk*3)KqTN)> z4B`}1Gp*guX?nHeM1#J?M~1dbL<=&v!tkeT3mXw~s;k$D?(2G;EK_K9teZm13QbY&xp>{=*M z`<8a#pOimklJ^_ab|YE7LY3!`4G~LxE~1o_85O%Ww@UAqMDw5T6*wTd>zDfXD|jO3 znTSn8#A#N%2`RM2(#SSO$3D9rQ}wG0HF8*i>#Zg(-<*p3bIr<`wnuQ;_;~ zVrZ7DF%0{4o%2sglkMwz=bvPk)aoa~aS>rbgVh>yg->Z-M4dDKSK1$gN&D!lS(wBE zP&T8NGi+c&%|pLp$w+UJMjw`LxsOHN9;h4qiVwO=LI0D32qW^2u}XI7*dJopV#L7j z=U$Az$-xy18H4;5kbFt^ZWy&kx72pso3ZlJdvEM~>}>pe{Iefbs|(TBD-M!PkRKH^ z1|*rtpj!pl-Pc~5i?4y7>ve10`?SKclWP?w$(R>xJJqni4<}`4sTi@iutEqhK60h0 z=)2Hh!V1-|{3)dSml5!(%0B7GlTVBUtt8-r)cpO7{nY3>em#?0?m7G?psr)%n!|iz*New5u~RMcj~yUxW*MImm8Aj&2L{U;tjGzlhGNB4Mo44a z4s*=RW2_%B$oEc{)l3#`}o31@w^%*-> zH}`q_kGjl;-I!AVGV*?J>rzvH@XERUb(J6bYC{+L|KbgK$BpM65ybK>uddSRnWR>c zYdlo|yi+{2xQ_Gzz^bWV7oMRte(+=6(xnd=;o<^<7W6eW=TyJZ_hCf#D{bJLx1f0J}FHL;$(to(dPj`-2| z6v?UA#&N5g!M_9er-?Ezsm}Za{Yk;_i2@O%?@XoMkJHZS@`H#cbe`1?LAIS>)^~<5 zb-QUWs-ztfm-b zKkk1<`V5@vrqGCaRwrw>y*!yV?gu5hN$6Kj_-|mQ*Vio?fC`XQ*}Jc8G)ZuK)pj0# zy0=4~Dq$(wNxSMD9owKD%O)y6R5N)0=eqgisOzhM)p@FeJ=)%SR^B;c=Erwp(TzI$n|0@IxXE!tnR6sqgqwR?$%faos?!8 zOCNt|19rUyeryq(U}2EV0#U4uz3>sw=AYv0lzVaZ8IpKqW9dGnzEXaf`3{D5kX#S|x%_XDvF{dnLwb{lP~ zh@5xvR4A}jqCX#Yj)$EgG6Q5@fD&_c?ld{?-%s%)Mv}_iKdF- z+5AzFdSdodZc;YVn6*HmGll6R(&yZ;T>X>jBL+}fHn~&~aM{#4S)O#aF8}#auzHa# z#pxLcmWBIL_{x8tno953oIIArNmhp7;;eWo-oG}N@Y?iyl@;*b((JswR&`RKspEIL zaweJ~j>X!M1}q4b9xUa)Iff;fIo$g`yCeLUANR*G7beM{Ev(-foUZOtr0y?qeeXBl zwX?{0K5*>Y{q$Rd`eVLMrq9l>i9&7ASygCPyo4}^zmvf0;_cOD||+b zplV@4gAR&UBl)okWnRLQgdiiGWKA%iXg%R{yd^UeUAiARdc2KTgMAgToBvS5jBq0) zQ1!pt+`C6rA!`BG=h#rIx}0%$Xhj&Oz|FR3>0h|Vp9tCxOGHir440TsD}3D7Xz<%C z@Ra4E^?I}SEdoOU2uD1gt_u{Q=!knSSwEW6j?jfxRAo-NUce>4zvGQZ2KZdM7<(U_ zr8LHHO(Bbj9@hQp9cp*;+EortEWUBSb&hHcS8gLjX{%Hy>Ynx%In8X)gjbjE1ynwc zFW8T__+>d%-fl8cSKa1!e$fi??C2c3onOA0PD>^jZ=>qLNqid>L=(AkQ+c>1>g?@Z zvhUrYqQU`J1L&sV<1ruwXNqR5ZSthBO0Uk``s?E-r3mT4vDtHSxt9936II$G`4ab$ z*~gq`zeX|;H^xLZowXtsx9r%N(#5QPYeE4=qERgS5$(ZffmTrTM(|%@01+DjK3Bfw| z!TQS3qfO`h18~TQPwl|-RG=>?~A*dME z`aEX6jz>d~L0%|&%C*&$FUGazBS*&2Lrm6&!Yp9Ba4kJ3HXfv?`~g-V)so^}$TF~OhSj?^xAX^ovYsVZgZ zqAIg}ufg-NC>^dVNi|}U0L`16QNFuuWL%eHu0CM$V~%`D0>A~N&+uiwSk|Q~*mC#R z53*CZwC#U=#<-)pKT)sTR)~=jTTUh@&S{%;iZ_u|G>YC)OOQxXRva^W=dtdt&4E_% zFNs*J>-wy}Uy^yfaqxAeREQsSl*UQ3iP!CXE!ipEeMZ^YojNYE-E1O9HNsA}Iw0e# zOKkjXDYe%!JLJ|cX1zpAk<=`3YHeRNP+Y%z7poU$ z^;>g69d7ISk|%4I%_Usj*%IT=PQU4+h(Bz6kXQVD(%qTj`SlPATbTPJTX%Ga%0^%{ zpXz!#rJe--_&kMSfg#<_Q%H6$c(dt`QoVcT6m%mM`vsSP>9KkI?xD;F;okgryVuEc zPsQPlqH&1|&A#BRSbIVX_%rkRa1*75k)9$A5fNb)&Ja8ZR}V0l9ze zqQze-JI?UM!!nP#g=)3zxC?F!kjr%6_Db?ruO=lT#`IseG6zzC-cC~K2m9Ss=TEXA ztNYX5jB1C#HScQS@$~#v1-X9iFNphos>N@kyjKYGl-}irr{`)(ijdXWKb{Ps zlWOq0ff+nqxy!pzl59qeo7N4B45f!O{Hl?|8DE#Pj|*|*!{-RxYH1C!^&5}%=;Uzv zb~}!!%JI)|5mkn;7kzd1`c}U)+G;V>lMBi9HX;TN&<+1s_1mzGfPSxksy3bbH{1;I zFIS7TCK3qBl!*EL6i)e#)D1;+lr0U3ObyX?=vG0%3@>%!Fw90{CyO|(mlYG_t?FJr3EC1To2WZH{ zxH4%0ZDzMC>gxF*V^1XcBc^PENNqHEG_q=J{CgCxf&cM--nj|nw4idKw(8RZRryin zV%lx6vnH@iA~$C#tezaLw0z4Bk@%A6nR3M@+Vbmax2}cuVlODjVe6KzEogi2uQkrw zld8UaC9RM``T~6ENZCqaH9djSXr`e1@zeRlNA$uY)*n6`p$nj0;9#fwiM+C5Q4M?E zQLy=pi~A^_Exld8sd+*X)g-xtsS1lM0sM$5ff=LaB}HZ5rwa9>tTY}jy^sbXZs z>D7^#jM3IW{24cr{|*h&=Jcv;0dP2pj5yj323@IH2N-uC^2tm#D1tYm-pAt44Uj23 zVFX&AG}~MOk6&n1dpCuNeTLZ(!21&+W^137>gcNc{r5clBqLd{YUL7^?B1Z6XBT5K zhr6l7AJ`bml0@lPNGduj@!T$^h)Lbl5*v3x66F|Yb4q44(p^6>LBBZB4tgwiv!vQ~ zYGZ5J3z!o_2HlNIWg~x&H&(s$QJI?c=f%~qJ0F&>yZ!x>_#WBiss8Cn%?DdL9)_`M zCIH&ow)&>|=tC|W;+Cwo^T1pK7SQ`o4X&!Q3nIjc5yn7OT$FnNZMjg83bvNnWQUDAS>(-_U-~F8PcND!lqAH)#%5u}{N~W_+j<9nlOdEhxV);&mTtqS%fud>q78t&3yquxPj!ZR zFcPHjV6>BylM9)j8Fit~V}EOHf{poLyEyWs7p(r}?6WILM*fgzyZ-BsP(8ZJU@cv} zND1NRd;kFi4V8SIeQDxg_iv#Fw5uX6D1|-q*vgn$6-ckBmXLk9?c!T?pesB3Z zIc)k7!!F`!IjDzam%tQDsev~{Tjk>H3=~WbhpW{#`HRTeaZIpN+7iaEA@(pyrXo)g z&csO0uH||Ce9J~*oeTbZy0(e%ZFv-9d+j1NREY-n(%ywvHhZXH^U|u!(~K`^GN;RX z?z;gK_XE?T?U~%weK>Dgg&`XJDHC!nL38i!B;U#YZo02Iy&cks{@anL|F?^&!y#0C zsoHD!Na9M&D^(Ci}fRLh(hOXw7;2a#t~!tO#50?YJxBF>CshZi2bB`tL+Z zan&FBr^Qe076E98BC!VjhkYMSk@G#ZO86+R$+MRap z(3yQZ#4?PmDi>siTpi@My`ubOiYG!`*lXi`wDWpS{ENqd&Ap4+7&Dc`Qc;>QR)JK` zKMCTb20NYD1ZhqjB8_1MPDn|esnI21s@YC4OLbbKR-KlYPOw8mGvnzQqn=(K91$}s z53--?K6DoTf=J5mvK^_?YAQ60sD#bBiLN4F+<}X>h8gT0N{4G-IVb3&>=U&I!CVD0 zoJ_*6T&m8dr|7e|pit%O@_Dy5heM9EAx>CT9tn1;kAewh%k{N24CG;cA4Wb7q`^#rP6suv3#&6BCBEZ zzbYaLJGyhV*j=Kd&24q>e|4o7;`Zfv38px{H{O!>INely;R71Dw1|vJLqtO7`^~QV zU!^~kdi{+=A0CCOFpH8PJp=*S>1yK}wUeLidw zV)tPPqCr-dscq2i6Y9U<|KjM+!{gGck=L7 zyW=IcvJ$jpT8s%c+}t}<;X0=?El<~WeAJ{-g1XWJOQS^+JR^ktghkC`gD&GjGzP;d z+HEPrMgO1enhy8c5y&OVv5XtbL|JmoYw~;(9yx^;6kC>M=%>0Ds7)gdUtnIg@tagP z4NINmlH~y^0Nt{~z~QmD*tobeYrn}jiG^rPuzb>I|KdckxH1*E>!8YW}D}K zT3Zt*iFCr-7b9Ff;~P|m8?)Ba)ST|61fMfY21NLEF^C8!g@j0c9UlJZd{>oo|88;D z7T@B)oyqq?V`TVoUt11wGC~)`s|dsM{N3zE-?T&2viRNVc?Avf5)6f`QdRrXkZtZ+ zE7!)d_FYmsN-dkt+Dap{St!?Yanp7)n&eL9jp~o&tNcDr)2DTAHD|#Zlgr5FcFnv+ zI!MK!oc$+Xb+SI$W`h!a$^uE|7jY_x8p*?lUKk~@Dcb80;Rn*RnkL3mtH-VLp4c%Z zb~DR>6XJ>Wxt(a&cd`lCRAfJBt=Rug39KHAn~Q3tX}FwqO$)PQBx=Fi^pA>MPU@Sv zzmL_bOmzSEN9Xr#)xw$r4D>4Y>ez2JUky0j;xjNsAq;IrB!*s1*iiSU zXRF6vL*=>-xZJv3=hLYGCRSi|SloddW9-DuO54S_{E#<>H!Ewf2+5L*B74bnsrv=XxcvP25Z=p2G4&Fcp#+zmN1Sj6 zcP|JOt{wG)(Q_^Lr^m9L_^NO`r#{x)Xv^Wn%vRDTFd~0AvtrI_1dMb6lly`$v z1OQj+2hch`nuOqzxzMV;#8YEg-PIJQK5lKVvFH$^or&7o+UvZ{!58ZmoK#HXXX_Tt zEj}Xh&CR=9Ap`i?osSn)|C7+)?E2;)3JVKm5G?_^N&GplO6@E0l2-XpmRxcv1-eYp-YKl_`cGz*xBKN86i+Y8S0}Z#@3o2NL<$mp5(^e4 zr;G}jmmd~@zG-#w?4;;AxJC;lp@MC+bSUc#fu)+Rb~=ej!v(Wg0{BbsX`6%mMUonj z`HKzrOTzJtyUosi>AaGryWxnH}e|jyR_~SMWK@?RR#)|L;8=x(!{I zm>BbpM79wkO!DAGi!S=pHO+d@ktt3JZ7+5Y(|?TcBQgmX1yg=iw$JJ85UhZ;tOs{hvP7E&0)F&d=T}uS8iWxf+qSKyB7GQ;ON^c+lkd-W_ZOW)gC;vP2vS<|$XJ zfYDlyW-=S(!X{W>D(P=^k$D6z0{kqokr+%CduMxlV07-mD@qy~nt{=u9b6Q)RJhk4i;Y>>KM5-lp&Vs-;{GT^VSZ)i(iX z-NCK;+!nisF`t}&MZdN#NlhPqCT1@8yAj1^=j#}nbp)QFNTAb3ko5k+)fg)Oel>6# z)w1^Aw@C9uq|{hYUXV=Qz4*P)-9w){)Ia1E*~b5Vjwb)!8G;(Vi`HWGu7!XvsDg%k Jt*k}x{{ilf)p!5^ literal 0 HcmV?d00001 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(/ + + diff --git a/samples/inputs/chip/area/package.json b/samples/inputs/chip/area/package.json new file mode 100644 index 0000000000..557f6323b5 --- /dev/null +++ b/samples/inputs/chip/area/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-chip-area", + "description": "This project provides example of Chip Area 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/chip/area/src/index.css b/samples/inputs/chip/area/src/index.css new file mode 100644 index 0000000000..3d1e663af5 --- /dev/null +++ b/samples/inputs/chip/area/src/index.css @@ -0,0 +1,22 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.chips-area-sample { + display: flex; + align-items: center; + justify-content: center; +} + +.chips-area { + --ig-size: var(--ig-size-large); + + display: flex; + flex-wrap: wrap; + gap: 0.5rem; + padding: 0.25rem; +} + +/* The chip host is a block box, so its line box would add height around the chip. */ +.chips-area igc-chip { + display: flex; +} diff --git a/samples/inputs/chip/area/src/index.tsx b/samples/inputs/chip/area/src/index.tsx new file mode 100644 index 0000000000..bfd707f5c9 --- /dev/null +++ b/samples/inputs/chip/area/src/index.tsx @@ -0,0 +1,22 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrChip } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +const chips = ['Chip', 'Chip', 'Chip']; + +export default function ChipArea() { + return ( +
+
+ {chips.map((label, index) => ( + {label} + ))} +
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/chip/area/tsconfig.json b/samples/inputs/chip/area/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/chip/area/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/chip/area/vite.config.js b/samples/inputs/chip/area/vite.config.js new file mode 100644 index 0000000000..342e2b8e11 --- /dev/null +++ b/samples/inputs/chip/area/vite.config.js @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + build: { outDir: 'build' }, + server: { open: false }, +}); diff --git a/samples/inputs/chip/interaction-state/README.md b/samples/inputs/chip/interaction-state/README.md new file mode 100644 index 0000000000..a79640140d --- /dev/null +++ b/samples/inputs/chip/interaction-state/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Interaction State feature using [Chip](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/chip/interaction-state +``` + +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/chip/interaction-state/index.html b/samples/inputs/chip/interaction-state/index.html new file mode 100644 index 0000000000..aed2f4e8ab --- /dev/null +++ b/samples/inputs/chip/interaction-state/index.html @@ -0,0 +1,11 @@ + + + + ChipInteractionState + + + +
+ + + diff --git a/samples/inputs/chip/interaction-state/package.json b/samples/inputs/chip/interaction-state/package.json new file mode 100644 index 0000000000..2d5a043bd3 --- /dev/null +++ b/samples/inputs/chip/interaction-state/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-chip-interaction-state", + "description": "This project provides example of Chip Interaction State 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/chip/interaction-state/src/index.css b/samples/inputs/chip/interaction-state/src/index.css new file mode 100644 index 0000000000..fd04fa0878 --- /dev/null +++ b/samples/inputs/chip/interaction-state/src/index.css @@ -0,0 +1,35 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +/* Aktiv Grotesk, from the same Adobe Fonts kit the docs use. */ +@import url("https://use.typekit.net/bng2zgw.css"); + +.chip-states { + --ig-size: var(--ig-size-medium); + + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 1.5rem 3.75rem; +} + +.chip-states-item { + display: flex; + align-items: center; + gap: 1.875rem; +} + +/* The chip host is a block box, so its line box would add height around the chip. */ +.chip-states-item igc-chip { + display: flex; +} + +.chip-states-item span { + color: var(--ig-gray-600); + font-family: aktiv-grotesk, sans-serif; + font-size: 0.8125rem; + font-weight: 400; + line-height: 1.25rem; + letter-spacing: 0.3px; +} diff --git a/samples/inputs/chip/interaction-state/src/index.tsx b/samples/inputs/chip/interaction-state/src/index.tsx new file mode 100644 index 0000000000..6a6eb29414 --- /dev/null +++ b/samples/inputs/chip/interaction-state/src/index.tsx @@ -0,0 +1,33 @@ +import { useEffect, useRef } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrChip } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function ChipInteractionState() { + const sampleRef = useRef(null); + + // The chips only show their look, so inert keeps them out of the tab order and ignores pointer input. + useEffect(() => { + if (sampleRef.current) { + sampleRef.current.inert = true; + } + }, []); + + return ( +
+
+ Enabled + Chip +
+
+ Disabled + Chip +
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/chip/interaction-state/tsconfig.json b/samples/inputs/chip/interaction-state/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/chip/interaction-state/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/chip/interaction-state/vite.config.js b/samples/inputs/chip/interaction-state/vite.config.js new file mode 100644 index 0000000000..342e2b8e11 --- /dev/null +++ b/samples/inputs/chip/interaction-state/vite.config.js @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + build: { outDir: 'build' }, + server: { open: false }, +}); diff --git a/samples/inputs/chip/layout/README.md b/samples/inputs/chip/layout/README.md new file mode 100644 index 0000000000..33d4b82639 --- /dev/null +++ b/samples/inputs/chip/layout/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Layout feature using [Chip](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/chip/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/chip/layout/index.html b/samples/inputs/chip/layout/index.html new file mode 100644 index 0000000000..43f0a6fbdb --- /dev/null +++ b/samples/inputs/chip/layout/index.html @@ -0,0 +1,11 @@ + + + + ChipLayout + + + +
+ + + diff --git a/samples/inputs/chip/layout/package.json b/samples/inputs/chip/layout/package.json new file mode 100644 index 0000000000..5f3fe8a4f5 --- /dev/null +++ b/samples/inputs/chip/layout/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-chip-layout", + "description": "This project provides example of Chip 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/chip/layout/src/index.css b/samples/inputs/chip/layout/src/index.css new file mode 100644 index 0000000000..57aa6c947e --- /dev/null +++ b/samples/inputs/chip/layout/src/index.css @@ -0,0 +1,36 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +/* Aktiv Grotesk, from the same Adobe Fonts kit the docs use. */ +@import url("https://use.typekit.net/bng2zgw.css"); + +.chip-layout { + --ig-size: var(--ig-size-medium); + + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 1.5rem 3.75rem; +} + +.chip-layout-item { + display: flex; + flex-direction: column; + align-items: center; + gap: 1rem; +} + +/* The chip host is a block box, so its line box would add height around the chip. */ +.chip-layout-item igc-chip { + display: flex; +} + +.chip-layout-item span { + color: var(--ig-gray-600); + font-family: aktiv-grotesk, sans-serif; + font-size: 0.8125rem; + font-weight: 400; + line-height: 1.25rem; + letter-spacing: 0.3px; +} diff --git a/samples/inputs/chip/layout/src/index.tsx b/samples/inputs/chip/layout/src/index.tsx new file mode 100644 index 0000000000..e61875fd28 --- /dev/null +++ b/samples/inputs/chip/layout/src/index.tsx @@ -0,0 +1,60 @@ +import { useEffect, useRef } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrChip, IgrIcon, registerIconFromText } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +const icons = [ + { name: 'arrow_upward', text: '' }, + { name: 'account_circle', text: '' }, +]; + +export default function ChipLayout() { + const sampleRef = useRef(null); + + useEffect(() => { + icons.forEach((icon) => registerIconFromText(icon.name, icon.text, 'material')); + }, []); + + // The chips only show their look, so inert keeps them out of the tab order and ignores pointer input. + useEffect(() => { + if (sampleRef.current) { + sampleRef.current.inert = true; + } + }, []); + + return ( +
+
+ Text + Chip +
+
+ Prefix + + + Chip + +
+
+ Prefix+Suffix + + + Chip + + +
+
+ Suffix + + Chip + + +
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/chip/layout/tsconfig.json b/samples/inputs/chip/layout/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/chip/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/chip/layout/vite.config.js b/samples/inputs/chip/layout/vite.config.js new file mode 100644 index 0000000000..342e2b8e11 --- /dev/null +++ b/samples/inputs/chip/layout/vite.config.js @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + build: { outDir: 'build' }, + server: { open: false }, +}); diff --git a/samples/inputs/chip/outlined/src/index.css b/samples/inputs/chip/outlined/src/index.css index 1f53b8aa05..dddbd2c5fb 100644 --- a/samples/inputs/chip/outlined/src/index.css +++ b/samples/inputs/chip/outlined/src/index.css @@ -1,2 +1,36 @@ /* shared styles are loaded from: */ -/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ \ No newline at end of file +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +/* Aktiv Grotesk, from the same Adobe Fonts kit the docs use. */ +@import url("https://use.typekit.net/bng2zgw.css"); + +.chip-outlined { + --ig-size: var(--ig-size-medium); + + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 1.5rem 2.5rem; +} + +.chip-outlined-item { + display: flex; + flex-direction: column; + align-items: center; + gap: 1rem; +} + +/* The chip host is a block box, so its line box would add height around the chip. */ +.chip-outlined-item igc-chip { + display: flex; +} + +.chip-outlined-item span { + color: var(--ig-gray-600); + font-family: aktiv-grotesk, sans-serif; + font-size: 0.8125rem; + font-weight: 400; + line-height: 1.25rem; + letter-spacing: 0.3px; +} diff --git a/samples/inputs/chip/outlined/src/index.tsx b/samples/inputs/chip/outlined/src/index.tsx index 2d9087d122..022aa3d8a1 100644 --- a/samples/inputs/chip/outlined/src/index.tsx +++ b/samples/inputs/chip/outlined/src/index.tsx @@ -3,33 +3,24 @@ import './index.css'; import { IgrChip } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default function ChipOutlined() { - - function handleChipRemove(event: CustomEvent) { - const chip = event.target as IgrChip; - chip.remove(); - } +const variants = [ + { label: 'Default', variant: undefined }, + { label: 'Primary', variant: 'primary' }, + { label: 'Info', variant: 'info' }, + { label: 'Success', variant: 'success' }, + { label: 'Warning', variant: 'warning' }, + { label: 'Danger', variant: 'danger' }, +] as const; +export default function ChipOutlined() { return ( -
- - Default - - - Primary - - - Info - - - Success - - - Warning - - - Danger - +
+ {variants.map((item) => ( +
+ {item.label} + Chip +
+ ))}
); } diff --git a/samples/inputs/chip/overview/src/index.css b/samples/inputs/chip/overview/src/index.css index 1f53b8aa05..ffdcc0c911 100644 --- a/samples/inputs/chip/overview/src/index.css +++ b/samples/inputs/chip/overview/src/index.css @@ -1,2 +1,62 @@ /* shared styles are loaded from: */ -/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ \ No newline at end of file +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; +} + +.profile-card { + --ig-size: var(--ig-size-medium); + + box-sizing: border-box; + display: flex; + flex-direction: column; + gap: 1rem; + width: 21.875rem; + padding: 1rem; + border: 1px solid var(--ig-gray-200); + border-radius: 0.25rem; + background: var(--ig-surface-500); +} + +.section-header { + display: flex; + align-items: center; + height: 2rem; + padding-inline: 1rem; + color: var(--ig-secondary-500); + font-family: var(--ig-overline-font-family, var(--ig-font-family)); + font-size: var(--ig-overline-font-size); + font-weight: var(--ig-overline-font-weight); + line-height: var(--ig-overline-line-height); + letter-spacing: var(--ig-overline-letter-spacing); + text-transform: var(--ig-overline-text-transform); +} + +.name-input { + --ig-size: var(--ig-size-small); +} + +/* The chip host is a block box, so its line box would add height around the chip. */ +.skill { + display: flex; +} + +/* The minimum height keeps the card from shrinking when no skill is selected. */ +.chip-group { + box-sizing: border-box; + display: flex; + flex-wrap: wrap; + gap: 0.5rem; + min-height: 2rem; + padding: 0.25rem; +} + +.actions { + display: flex; + justify-content: flex-end; +} diff --git a/samples/inputs/chip/overview/src/index.tsx b/samples/inputs/chip/overview/src/index.tsx index bc1acb994b..fae16fdec4 100644 --- a/samples/inputs/chip/overview/src/index.tsx +++ b/samples/inputs/chip/overview/src/index.tsx @@ -1,20 +1,95 @@ +import { useEffect, useRef, useState } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrChip } from 'igniteui-react'; +import { IgrButton, IgrChip, IgrInput } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; +const skills = ['Figma', 'React', 'CSS', 'Prototyping', 'Motion Design']; + export default function ChipOverview() { + const [name, setName] = useState('Jordan Lee'); + const [selectedSkills, setSelectedSkills] = useState(['Prototyping', 'Motion Design']); + const skillsRef = useRef(null); + const selectedRef = useRef(null); + const removed = useRef<{ skill: string; index: number } | null>(null); + + // Both groups list the selected skills in the order of the skills list. + const selected = skills.filter((skill) => selectedSkills.includes(skill)); + + const toggleSkill = (skill: string, isSelected: boolean) => { + setSelectedSkills((current) => + isSelected ? [...current, skill] : current.filter((item) => item !== skill) + ); + }; + + const removeSkill = (skill: string) => { + removed.current = { skill, index: selected.indexOf(skill) }; + toggleSkill(skill, false); + }; + + // The removed chip is gone, so move focus to the next selected skill, or back to the skill itself when none is left. + useEffect(() => { + if (!removed.current) { + return; + } + const { skill, index } = removed.current; + removed.current = null; - function handleChipRemove(event: CustomEvent) { - const chip = event.target as IgrChip; - chip.remove(); - } + const remaining = selectedRef.current?.querySelectorAll('igc-chip'); + const next = remaining?.[index] ?? remaining?.[index - 1]; + // The chip doesn't delegate focus yet, so focus its inner controls directly. + const target = next + ? next.shadowRoot?.querySelector('[part="remove"] igc-icon') + : skillsRef.current?.querySelectorAll('igc-chip')[skills.indexOf(skill)]?.shadowRoot?.querySelector('[part="action"]'); + target?.focus(); + }, [selectedSkills]); return ( -
- - Chip - +
+
+
+ Name + setName(e.detail)} + /> +
+
+ + Skills · {selected.length} selected + +
+ {skills.map((skill) => ( + toggleSkill(skill, e.detail)} + > + {skill} + + ))} +
+
+
+ Selected +
+ {selected.map((skill) => ( + removeSkill(skill)}> + {skill} + + ))} +
+
+
+ Save profile +
+
); } diff --git a/samples/inputs/chip/remove/README.md b/samples/inputs/chip/remove/README.md new file mode 100644 index 0000000000..6e327a7a54 --- /dev/null +++ b/samples/inputs/chip/remove/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Remove feature using [Chip](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/chip/remove +``` + +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/chip/remove/index.html b/samples/inputs/chip/remove/index.html new file mode 100644 index 0000000000..817bbc4c3c --- /dev/null +++ b/samples/inputs/chip/remove/index.html @@ -0,0 +1,11 @@ + + + + ChipRemove + + + +
+ + + diff --git a/samples/inputs/chip/remove/package.json b/samples/inputs/chip/remove/package.json new file mode 100644 index 0000000000..0a17a1287c --- /dev/null +++ b/samples/inputs/chip/remove/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-chip-remove", + "description": "This project provides example of Chip Remove 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/chip/remove/src/index.css b/samples/inputs/chip/remove/src/index.css new file mode 100644 index 0000000000..c3c4f83730 --- /dev/null +++ b/samples/inputs/chip/remove/src/index.css @@ -0,0 +1,28 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.chip-remove { + --ig-size: var(--ig-size-medium); + + display: flex; + align-items: center; + justify-content: center; +} + +/* A row as tall as the chip. The restore button can be taller in some themes, so it + overflows the row evenly instead of resizing the sample when it replaces the chip. */ +.chip-remove-slot { + display: flex; + align-items: center; + justify-content: center; + height: 1.5rem; +} + +/* The chip host is a block box, so its line box would add height around the chip. */ +.chip-remove-slot igc-chip { + display: flex; +} + +.restore-button { + --ig-size: var(--ig-size-small); +} diff --git a/samples/inputs/chip/remove/src/index.tsx b/samples/inputs/chip/remove/src/index.tsx new file mode 100644 index 0000000000..1d0f9e71f9 --- /dev/null +++ b/samples/inputs/chip/remove/src/index.tsx @@ -0,0 +1,51 @@ +import { useEffect, useRef, useState } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrButton, IgrChip } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function ChipRemove() { + const [isVisible, setIsVisible] = useState(true); + const hasToggled = useRef(false); + const chipRef = useRef(null); + const restoreRef = useRef(null); + + // The control the user activated is gone, so move focus to the one that replaced it. + useEffect(() => { + if (!hasToggled.current) { + return; + } + if (isVisible) { + // The chip renders after this effect and doesn't delegate focus yet, so wait and focus its remove control directly. + const chip = chipRef.current; + chip?.updateComplete.then(() => chip.shadowRoot?.querySelector('[part="remove"] igc-icon')?.focus()); + } else { + restoreRef.current?.focus(); + } + }, [isVisible]); + + const toggleChip = (visible: boolean) => { + hasToggled.current = true; + setIsVisible(visible); + }; + + return ( +
+
+ {isVisible ? ( + toggleChip(false)}> + Chip + + ) : ( + toggleChip(true)}> + Restore chip + + )} +
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/chip/remove/tsconfig.json b/samples/inputs/chip/remove/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/chip/remove/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/chip/remove/vite.config.js b/samples/inputs/chip/remove/vite.config.js new file mode 100644 index 0000000000..342e2b8e11 --- /dev/null +++ b/samples/inputs/chip/remove/vite.config.js @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + build: { outDir: 'build' }, + server: { open: false }, +}); diff --git a/samples/inputs/chip/size/src/index.css b/samples/inputs/chip/size/src/index.css index 54124f8f66..e27d0759e5 100644 --- a/samples/inputs/chip/size/src/index.css +++ b/samples/inputs/chip/size/src/index.css @@ -1,6 +1,37 @@ /* shared styles are loaded from: */ /* https://dl.infragistics.com/x/css/samples/shared.v8.css */ +/* Aktiv Grotesk, from the same Adobe Fonts kit the docs use. */ +@import url("https://use.typekit.net/bng2zgw.css"); + +.chip-size { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 1.5rem 3.75rem; +} + +.chip-size-item { + display: flex; + align-items: center; + gap: 1.875rem; +} + +/* The chip host is a block box, so its line box would add height around the chip. */ +.chip-size-item igc-chip { + display: flex; +} + +.chip-size-item span { + color: var(--ig-gray-600); + font-family: aktiv-grotesk, sans-serif; + font-size: 0.8125rem; + font-weight: 400; + line-height: 1.25rem; + letter-spacing: 0.3px; +} + .size-small { --ig-size: var(--ig-size-small); } @@ -11,4 +42,4 @@ .size-large { --ig-size: var(--ig-size-large); -} \ No newline at end of file +} diff --git a/samples/inputs/chip/size/src/index.tsx b/samples/inputs/chip/size/src/index.tsx index c55433b30f..94b5651389 100644 --- a/samples/inputs/chip/size/src/index.tsx +++ b/samples/inputs/chip/size/src/index.tsx @@ -1,26 +1,37 @@ +import { useEffect } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrChip } from 'igniteui-react'; +import { IgrChip, IgrIcon, registerIconFromText } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default function ChipSize() { +const icons = [ + { name: 'arrow_upward', text: '' }, + { name: 'account_circle', text: '' }, +]; + +const sizes = [ + { label: 'Small', className: 'size-small' }, + { label: 'Medium', className: 'size-medium' }, + { label: 'Large', className: 'size-large' }, +]; - function handleChipRemove(event: CustomEvent) { - const chip = event.target as IgrChip; - chip.remove(); - } +export default function ChipSize() { + useEffect(() => { + icons.forEach((icon) => registerIconFromText(icon.name, icon.text, 'material')); + }, []); return ( -
- - Chip - - - Chip - - - Chip - +
+ {sizes.map((size) => ( +
+ {size.label} + + + Chip + + +
+ ))}
); } diff --git a/samples/inputs/chip/state/README.md b/samples/inputs/chip/state/README.md new file mode 100644 index 0000000000..d686abd9ef --- /dev/null +++ b/samples/inputs/chip/state/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of State feature using [Chip](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/chip/state +``` + +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/chip/state/index.html b/samples/inputs/chip/state/index.html new file mode 100644 index 0000000000..f309053474 --- /dev/null +++ b/samples/inputs/chip/state/index.html @@ -0,0 +1,11 @@ + + + + ChipState + + + +
+ + + diff --git a/samples/inputs/chip/state/package.json b/samples/inputs/chip/state/package.json new file mode 100644 index 0000000000..ec147149e5 --- /dev/null +++ b/samples/inputs/chip/state/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-chip-state", + "description": "This project provides example of Chip State 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/chip/state/src/index.css b/samples/inputs/chip/state/src/index.css new file mode 100644 index 0000000000..ec9e0c9615 --- /dev/null +++ b/samples/inputs/chip/state/src/index.css @@ -0,0 +1,49 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +/* Aktiv Grotesk, from the same Adobe Fonts kit the docs use. */ +@import url("https://use.typekit.net/bng2zgw.css"); + +.chip-state { + --ig-size: var(--ig-size-medium); + + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 1.5rem 2.5rem; +} + +.chip-state-item { + display: flex; + flex-direction: column; + align-items: center; + gap: 1rem; +} + +/* The chip host is a block box, so its line box would add height around the chip. */ +.chip-state-item igc-chip { + display: flex; +} + +.chip-state-item span { + color: var(--ig-gray-600); + font-family: aktiv-grotesk, sans-serif; + font-size: 0.8125rem; + font-weight: 400; + line-height: 1.25rem; + letter-spacing: 0.3px; +} + +/* Hover and focus only happen on interaction, so these chips show the colors the theme uses for them. */ +igc-chip.state-hover::part(base) { + background: var(--hover-background); + color: var(--hover-text-color); +} + +/* The focus ring color is transparent in themes that show focus through the background alone. */ +igc-chip.state-focused::part(base) { + background: var(--focus-background); + color: var(--focus-text-color); + outline: 0.25rem solid var(--focus-shadow-color); +} diff --git a/samples/inputs/chip/state/src/index.tsx b/samples/inputs/chip/state/src/index.tsx new file mode 100644 index 0000000000..900476d71b --- /dev/null +++ b/samples/inputs/chip/state/src/index.tsx @@ -0,0 +1,48 @@ +import { useEffect, useRef } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrChip, IgrIcon, registerIconFromText } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +const arrowUpwardIcon = ''; + +const states = [ + { label: 'Idle', className: '' }, + { label: 'Hover', className: 'state-hover' }, + { label: 'Focused', className: 'state-focused' }, + { label: 'Selected', className: '', selected: true }, +]; + +export default function ChipState() { + const sampleRef = useRef(null); + + useEffect(() => { + registerIconFromText('arrow_upward', arrowUpwardIcon, 'material'); + }, []); + + // The chips only show their look, so inert keeps them out of the tab order and ignores pointer input. + // It also keeps a real hover or focus from changing the hover and focused chips. + useEffect(() => { + if (sampleRef.current) { + sampleRef.current.inert = true; + } + }, []); + + return ( +
+ {states.map((state) => ( +
+ {state.label} + + + Chip + +
+ ))} +
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/chip/state/tsconfig.json b/samples/inputs/chip/state/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/chip/state/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/chip/state/vite.config.js b/samples/inputs/chip/state/vite.config.js new file mode 100644 index 0000000000..342e2b8e11 --- /dev/null +++ b/samples/inputs/chip/state/vite.config.js @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + build: { outDir: 'build' }, + server: { open: false }, +}); diff --git a/samples/inputs/chip/styling/package.json b/samples/inputs/chip/styling/package.json index 4092645262..12fde85447 100644 --- a/samples/inputs/chip/styling/package.json +++ b/samples/inputs/chip/styling/package.json @@ -1,6 +1,6 @@ { "name": "react-chip-styling", - "description": "This project provides example of Icon Sizing using Infragistics React components", + "description": "This project provides example of Chip Styling using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/inputs/chip/styling/src/ChipStyle.css b/samples/inputs/chip/styling/src/ChipStyle.css deleted file mode 100644 index 988dd8101e..0000000000 --- a/samples/inputs/chip/styling/src/ChipStyle.css +++ /dev/null @@ -1,8 +0,0 @@ -igc-chip::part(base) { - background: #011627; - color: #ECAA53; -} - -igc-chip::part(suffix) { - color: #B7B6C2; -} \ No newline at end of file diff --git a/samples/inputs/chip/styling/src/index.css b/samples/inputs/chip/styling/src/index.css index 1f53b8aa05..733162b38c 100644 --- a/samples/inputs/chip/styling/src/index.css +++ b/samples/inputs/chip/styling/src/index.css @@ -1,2 +1,71 @@ /* shared styles are loaded from: */ -/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ \ No newline at end of file +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.chip-styling { + --ig-size: var(--ig-size-medium); + + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 1.5rem 1.875rem; +} + +/* The chip host is a block box, so its line box would add height around the chip. */ +.chip-styling igc-chip { + display: flex; +} + +/* Default chip */ +.tag-chip { + --ig-chip-background: var(--ig-error-50); + --ig-chip-text-color: var(--ig-error-50-contrast); + --ig-chip-hover-background: var(--ig-error-100); + --ig-chip-hover-text-color: var(--ig-error-100-contrast); + --ig-chip-focus-background: var(--ig-error-200); + --ig-chip-focus-text-color: var(--ig-error-200-contrast); + --ig-chip-remove-icon-color: var(--ig-error-500); + --ig-chip-remove-icon-color-focus: var(--ig-error-500); +} + +/* Selected chip */ +.filter-chip { + --ig-chip-selected-background: var(--ig-primary-50); + --ig-chip-selected-text-color: var(--ig-primary-50-contrast); + --ig-chip-hover-selected-background: var(--ig-primary-100); + --ig-chip-hover-selected-text-color: var(--ig-primary-100-contrast); + --ig-chip-focus-selected-background: var(--ig-primary-200); + --ig-chip-focus-selected-text-color: var(--ig-primary-200-contrast); +} + +/* The prefix part holds the select icon. */ +.filter-chip::part(prefix) { + color: var(--ig-primary-500); +} + +/* Outlined chips */ +.product-chip { + --ig-chip-outlined-background: var(--ig-surface-500); + --ig-chip-outlined-text-color: var(--ig-gray-700); + --ig-chip-border-color: var(--ig-gray-700); + --ig-chip-hover-outlined-text-color: var(--ig-gray-800); + --ig-chip-hover-border-color: var(--ig-gray-800); + --ig-chip-focus-outlined-text-color: var(--ig-gray-900); + --ig-chip-focus-border-color: var(--ig-gray-900); +} + +.contact-chip { + --ig-chip-outlined-background: var(--ig-secondary-100); + --ig-chip-outlined-text-color: var(--ig-secondary-100-contrast); + --ig-chip-border-color: var(--ig-secondary-500); + --ig-chip-hover-outlined-background: var(--ig-secondary-200); + --ig-chip-hover-outlined-text-color: var(--ig-secondary-200-contrast); + --ig-chip-hover-border-color: var(--ig-secondary-500); + --ig-chip-focus-outlined-background: var(--ig-secondary-300); + --ig-chip-focus-outlined-text-color: var(--ig-secondary-300-contrast); + --ig-chip-focus-border-color: var(--ig-secondary-500); +} + +.contact-chip::part(prefix) { + color: var(--ig-secondary-800); +} diff --git a/samples/inputs/chip/styling/src/index.tsx b/samples/inputs/chip/styling/src/index.tsx index 382f35c202..e0bd718826 100644 --- a/samples/inputs/chip/styling/src/index.tsx +++ b/samples/inputs/chip/styling/src/index.tsx @@ -1,21 +1,35 @@ +import { useEffect } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import './ChipStyle.css'; -import { IgrChip } from 'igniteui-react'; +import { IgrChip, IgrIcon, registerIconFromText } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; -export default function ChipStyling() { +// The outline takes the chip text color, and the filled half keeps the warning color. +const halfStarIcon = ''; +const peopleIcon = ''; - function handleChipRemove(event: CustomEvent) { - const chip = event.target as IgrChip; - chip.remove(); - } +export default function ChipStyling() { + useEffect(() => { + registerIconFromText('star_half', halfStarIcon, 'material'); + registerIconFromText('people', peopleIcon, 'material'); + }, []); return ( -
- - Chip - +
+ + Prototyping + + + Motion Design + + + Sony Headphones + + + + + Simon and Lisa +
); } diff --git a/samples/inputs/chip/tailwind-styling/README.md b/samples/inputs/chip/tailwind-styling/README.md new file mode 100644 index 0000000000..321bbb9305 --- /dev/null +++ b/samples/inputs/chip/tailwind-styling/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Tailwind Styling feature using [Chip](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/chip/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/chip/tailwind-styling/index.html b/samples/inputs/chip/tailwind-styling/index.html new file mode 100644 index 0000000000..89f0a5f35a --- /dev/null +++ b/samples/inputs/chip/tailwind-styling/index.html @@ -0,0 +1,11 @@ + + + + ChipTailwindStyling + + + +
+ + + diff --git a/samples/inputs/chip/tailwind-styling/package.json b/samples/inputs/chip/tailwind-styling/package.json new file mode 100644 index 0000000000..6a2f5378eb --- /dev/null +++ b/samples/inputs/chip/tailwind-styling/package.json @@ -0,0 +1,44 @@ +{ + "name": "react-chip-tailwind-styling", + "description": "This project provides example of Chip 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/chip/tailwind-styling/src/icons.ts b/samples/inputs/chip/tailwind-styling/src/icons.ts new file mode 100644 index 0000000000..eb4b879d56 --- /dev/null +++ b/samples/inputs/chip/tailwind-styling/src/icons.ts @@ -0,0 +1,13 @@ +// Material icons used by the sample, registered in the "material" collection. +export const icons: Record = { + self_improvement: '', + pool: '', + hiking: '', + fitness_center: '', + directions_bike: '', + sports_tennis: '', + sports_soccer: '', + sports_baseball: '', + close: '', + add: '', +}; diff --git a/samples/inputs/chip/tailwind-styling/src/index.css b/samples/inputs/chip/tailwind-styling/src/index.css new file mode 100644 index 0000000000..406353cab3 --- /dev/null +++ b/samples/inputs/chip/tailwind-styling/src/index.css @@ -0,0 +1,22 @@ +/* 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 { + /* The design's own palette. It lives here instead of coming from the theme + palette, so the sample keeps its colors in every theme. */ + --color-activity-primary: #006ae6; + --color-activity-primary-strong: #0055b8; + --color-activity-tint: #e6f2ff; + --color-activity-tint-strong: #cce4ff; + --color-activity-surface: #e5ebf3; + --color-activity-ink: #00142b; +} diff --git a/samples/inputs/chip/tailwind-styling/src/index.tsx b/samples/inputs/chip/tailwind-styling/src/index.tsx new file mode 100644 index 0000000000..b5af738262 --- /dev/null +++ b/samples/inputs/chip/tailwind-styling/src/index.tsx @@ -0,0 +1,123 @@ +import { useEffect, useRef, useState } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrChip, IgrIcon, registerIconFromText } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; +import { icons } from './icons'; + +const activities = [ + { label: 'Yoga', icon: 'self_improvement' }, + { label: 'Swimming', icon: 'pool' }, + { label: 'Hiking', icon: 'hiking' }, + { label: 'Lifting', icon: 'fitness_center' }, + { label: 'Cycling', icon: 'directions_bike' }, + { label: 'Tennis', icon: 'sports_tennis' }, + { label: 'Soccer', icon: 'sports_soccer' }, + { label: 'Baseball', icon: 'sports_baseball' }, +]; + +type Activity = (typeof activities)[number]; + +const chipLabel = 'text-sm font-medium leading-5 tracking-[0.25px]'; + +// `flex` keeps the chip host's line box from adding height around the chip. +const selectedChip = + 'flex [--ig-chip-border-radius:0.5rem] ' + + '[--ig-chip-background:var(--color-activity-primary)] [--ig-chip-text-color:white] ' + + '[--ig-chip-hover-background:var(--color-activity-primary-strong)] [--ig-chip-hover-text-color:white] ' + + '[--ig-chip-focus-background:var(--color-activity-primary-strong)] [--ig-chip-focus-text-color:white] ' + + '[--ig-chip-remove-icon-color:white] [--ig-chip-remove-icon-color-focus:white]'; + +const availableChip = + 'flex [--ig-chip-border-radius:0.5rem] [--ig-chip-border-color:var(--color-activity-primary)] ' + + '[--ig-chip-outlined-background:var(--color-activity-tint)] [--ig-chip-outlined-text-color:var(--color-activity-primary)] ' + + '[--ig-chip-hover-outlined-background:var(--color-activity-tint-strong)] [--ig-chip-hover-outlined-text-color:var(--color-activity-primary)] [--ig-chip-hover-border-color:var(--color-activity-primary)] ' + + '[--ig-chip-focus-outlined-background:var(--color-activity-tint-strong)] [--ig-chip-focus-outlined-text-color:var(--color-activity-primary)] [--ig-chip-focus-border-color:var(--color-activity-primary)]'; + +export default function ChipTailwindStyling() { + const [selected, setSelected] = useState(activities.slice(0, 2)); + const available = activities.filter((activity) => !selected.includes(activity)); + const cardRef = useRef(null); + const focusTarget = useRef<{ list: 'selected' | 'available'; label: string } | null>(null); + + useEffect(() => { + Object.entries(icons).forEach(([name, svg]) => registerIconFromText(name, svg, 'material')); + }, []); + + // The chip that had focus is gone, so focus a chip in the same list, or the moved chip when that list is empty. + useEffect(() => { + const target = focusTarget.current; + focusTarget.current = null; + const chip = target && cardRef.current?.querySelector(`[data-activity="${target.label}"]`); + if (!target || !chip) { + return; + } + // A moved chip renders after this effect, and chips don't delegate focus yet, so wait and focus the control directly. + chip.updateComplete.then(() => { + const control = target.list === 'selected' + ? chip.querySelector('[slot="remove"]') + : chip.shadowRoot?.querySelector('[part="action"]'); + control?.focus(); + }); + }, [selected]); + + const addActivity = (activity: Activity) => { + const rest = available.filter((item) => item !== activity); + const next = rest[Math.min(available.indexOf(activity), rest.length - 1)]; + focusTarget.current = next ? { list: 'available', label: next.label } : { list: 'selected', label: activity.label }; + setSelected([...selected, activity]); + }; + + const removeActivity = (activity: Activity) => { + const rest = selected.filter((item) => item !== activity); + const next = rest[Math.min(selected.indexOf(activity), rest.length - 1)]; + focusTarget.current = next ? { list: 'selected', label: next.label } : { list: 'available', label: activity.label }; + setSelected(rest); + }; + + return ( +
+
+ {/* Not a heading: the theme's heading styles sit outside any CSS layer and would override these utilities. */} + + Preferred Activity + +
+ {selected.map((activity) => ( + removeActivity(activity)}> + + {activity.label} + + + ))} +
+
+ {available.map((activity) => ( + addActivity(activity)}> + + {activity.label} + + ))} +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/chip/tailwind-styling/tsconfig.json b/samples/inputs/chip/tailwind-styling/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/chip/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/chip/tailwind-styling/vite.config.js b/samples/inputs/chip/tailwind-styling/vite.config.js new file mode 100644 index 0000000000..4043727956 --- /dev/null +++ b/samples/inputs/chip/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/chip/types/README.md b/samples/inputs/chip/types/README.md new file mode 100644 index 0000000000..44623b28b0 --- /dev/null +++ b/samples/inputs/chip/types/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Types feature using [Chip](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/chip/types +``` + +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/chip/types/index.html b/samples/inputs/chip/types/index.html new file mode 100644 index 0000000000..a31d6022f0 --- /dev/null +++ b/samples/inputs/chip/types/index.html @@ -0,0 +1,11 @@ + + + + ChipTypes + + + +
+ + + diff --git a/samples/inputs/chip/types/package.json b/samples/inputs/chip/types/package.json new file mode 100644 index 0000000000..4cc024b7fa --- /dev/null +++ b/samples/inputs/chip/types/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-chip-types", + "description": "This project provides example of Chip Types 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/chip/types/src/index.css b/samples/inputs/chip/types/src/index.css new file mode 100644 index 0000000000..cbe7b50c7c --- /dev/null +++ b/samples/inputs/chip/types/src/index.css @@ -0,0 +1,35 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +/* Aktiv Grotesk, from the same Adobe Fonts kit the docs use. */ +@import url("https://use.typekit.net/bng2zgw.css"); + +.chip-types { + --ig-size: var(--ig-size-medium); + + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 1.5rem 3.75rem; +} + +.chip-types-item { + display: flex; + align-items: center; + gap: 1.875rem; +} + +/* The chip host is a block box, so its line box would add height around the chip. */ +.chip-types-item igc-chip { + display: flex; +} + +.chip-types-item span { + color: var(--ig-gray-600); + font-family: aktiv-grotesk, sans-serif; + font-size: 0.8125rem; + font-weight: 400; + line-height: 1.25rem; + letter-spacing: 0.3px; +} diff --git a/samples/inputs/chip/types/src/index.tsx b/samples/inputs/chip/types/src/index.tsx new file mode 100644 index 0000000000..b3fc3a722c --- /dev/null +++ b/samples/inputs/chip/types/src/index.tsx @@ -0,0 +1,33 @@ +import { useEffect, useRef } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrChip } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function ChipTypes() { + const sampleRef = useRef(null); + + // The chips only show their look, so inert keeps them out of the tab order and ignores pointer input. + useEffect(() => { + if (sampleRef.current) { + sampleRef.current.inert = true; + } + }, []); + + return ( +
+
+ Default + Chip +
+
+ Primary + Chip +
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/chip/types/tsconfig.json b/samples/inputs/chip/types/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/chip/types/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/chip/types/vite.config.js b/samples/inputs/chip/types/vite.config.js new file mode 100644 index 0000000000..342e2b8e11 --- /dev/null +++ b/samples/inputs/chip/types/vite.config.js @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + build: { outDir: 'build' }, + server: { open: false }, +}); From af8f82ecfdd739892331fad857f87e66934a4472 Mon Sep 17 00:00:00 2001 From: Hristo Hristov <57346540+Hristo313@users.noreply.github.com> Date: Fri, 23 Oct 2026 10:46:35 +0300 Subject: [PATCH 14/15] feat(rating): update samples content (#1119) --- samples/inputs/rating/basic/src/index.css | 5 -- samples/inputs/rating/basic/src/index.tsx | 16 ------ samples/inputs/rating/custom/src/index.css | 5 -- samples/inputs/rating/custom/src/index.tsx | 43 ---------------- samples/inputs/rating/empty/src/index.css | 2 - samples/inputs/rating/empty/src/index.tsx | 43 ---------------- .../rating/interaction-states/README.md | 50 +++++++++++++++++++ .../rating/interaction-states/index.html | 11 ++++ .../rating/interaction-states/package.json | 42 ++++++++++++++++ .../rating/interaction-states/src/index.css | 33 ++++++++++++ .../rating/interaction-states/src/index.tsx | 25 ++++++++++ .../tsconfig.json | 0 .../vite.config.js | 0 .../rating/{custom => layout}/README.md | 6 +-- .../rating/{basic => layout}/index.html | 2 +- .../rating/{custom => layout}/package.json | 4 +- samples/inputs/rating/layout/src/index.css | 32 ++++++++++++ samples/inputs/rating/layout/src/index.tsx | 25 ++++++++++ .../rating/{custom => layout}/tsconfig.json | 0 .../rating/{custom => layout}/vite.config.js | 0 samples/inputs/rating/overview/README.md | 50 +++++++++++++++++++ .../rating/{empty => overview}/index.html | 2 +- .../package.json | 4 +- samples/inputs/rating/overview/src/index.css | 20 ++++++++ samples/inputs/rating/overview/src/index.tsx | 24 +++++++++ .../rating/{empty => overview}/tsconfig.json | 0 .../rating/{empty => overview}/vite.config.js | 0 .../rating/single-selection/src/index.css | 2 - .../rating/single-selection/src/index.tsx | 37 -------------- .../inputs/rating/{basic => size}/README.md | 6 +-- .../{single-selection => size}/index.html | 2 +- .../rating/{basic => size}/package.json | 4 +- samples/inputs/rating/size/src/index.css | 44 ++++++++++++++++ samples/inputs/rating/size/src/index.tsx | 29 +++++++++++ .../{single-selection => size}/tsconfig.json | 0 .../{single-selection => size}/vite.config.js | 0 .../inputs/rating/{empty => states}/README.md | 6 +-- .../rating/{custom => states}/index.html | 2 +- .../rating/{empty => states}/package.json | 4 +- samples/inputs/rating/states/src/index.css | 32 ++++++++++++ samples/inputs/rating/states/src/index.tsx | 25 ++++++++++ samples/inputs/rating/states/tsconfig.json | 24 +++++++++ samples/inputs/rating/states/vite.config.js | 12 +++++ samples/inputs/rating/styling/index.html | 2 +- samples/inputs/rating/styling/package.json | 4 +- samples/inputs/rating/styling/src/index.css | 42 ++++++++++------ samples/inputs/rating/styling/src/index.tsx | 32 ++++++++++-- .../README.md | 6 +-- .../inputs/rating/tailwind-styling/index.html | 11 ++++ .../rating/tailwind-styling/package.json | 44 ++++++++++++++++ .../rating/tailwind-styling/src/index.css | 23 +++++++++ .../rating/tailwind-styling/src/index.tsx | 38 ++++++++++++++ .../rating/tailwind-styling/tsconfig.json | 24 +++++++++ .../rating/tailwind-styling/vite.config.js | 13 +++++ 54 files changed, 713 insertions(+), 199 deletions(-) delete mode 100644 samples/inputs/rating/basic/src/index.css delete mode 100644 samples/inputs/rating/basic/src/index.tsx delete mode 100644 samples/inputs/rating/custom/src/index.css delete mode 100644 samples/inputs/rating/custom/src/index.tsx delete mode 100644 samples/inputs/rating/empty/src/index.css delete mode 100644 samples/inputs/rating/empty/src/index.tsx create mode 100644 samples/inputs/rating/interaction-states/README.md create mode 100644 samples/inputs/rating/interaction-states/index.html create mode 100644 samples/inputs/rating/interaction-states/package.json create mode 100644 samples/inputs/rating/interaction-states/src/index.css create mode 100644 samples/inputs/rating/interaction-states/src/index.tsx rename samples/inputs/rating/{basic => interaction-states}/tsconfig.json (100%) rename samples/inputs/rating/{basic => interaction-states}/vite.config.js (100%) rename samples/inputs/rating/{custom => layout}/README.md (92%) rename samples/inputs/rating/{basic => layout}/index.html (87%) rename samples/inputs/rating/{custom => layout}/package.json (87%) create mode 100644 samples/inputs/rating/layout/src/index.css create mode 100644 samples/inputs/rating/layout/src/index.tsx rename samples/inputs/rating/{custom => layout}/tsconfig.json (100%) rename samples/inputs/rating/{custom => layout}/vite.config.js (100%) create mode 100644 samples/inputs/rating/overview/README.md rename samples/inputs/rating/{empty => overview}/index.html (87%) rename samples/inputs/rating/{single-selection => overview}/package.json (91%) create mode 100644 samples/inputs/rating/overview/src/index.css create mode 100644 samples/inputs/rating/overview/src/index.tsx rename samples/inputs/rating/{empty => overview}/tsconfig.json (100%) rename samples/inputs/rating/{empty => overview}/vite.config.js (100%) delete mode 100644 samples/inputs/rating/single-selection/src/index.css delete mode 100644 samples/inputs/rating/single-selection/src/index.tsx rename samples/inputs/rating/{basic => size}/README.md (88%) rename samples/inputs/rating/{single-selection => size}/index.html (87%) rename samples/inputs/rating/{basic => size}/package.json (87%) create mode 100644 samples/inputs/rating/size/src/index.css create mode 100644 samples/inputs/rating/size/src/index.tsx rename samples/inputs/rating/{single-selection => size}/tsconfig.json (100%) rename samples/inputs/rating/{single-selection => size}/vite.config.js (100%) rename samples/inputs/rating/{empty => states}/README.md (88%) rename samples/inputs/rating/{custom => states}/index.html (86%) rename samples/inputs/rating/{empty => states}/package.json (87%) create mode 100644 samples/inputs/rating/states/src/index.css create mode 100644 samples/inputs/rating/states/src/index.tsx create mode 100644 samples/inputs/rating/states/tsconfig.json create mode 100644 samples/inputs/rating/states/vite.config.js rename samples/inputs/rating/{single-selection => tailwind-styling}/README.md (91%) create mode 100644 samples/inputs/rating/tailwind-styling/index.html create mode 100644 samples/inputs/rating/tailwind-styling/package.json create mode 100644 samples/inputs/rating/tailwind-styling/src/index.css create mode 100644 samples/inputs/rating/tailwind-styling/src/index.tsx create mode 100644 samples/inputs/rating/tailwind-styling/tsconfig.json create mode 100644 samples/inputs/rating/tailwind-styling/vite.config.js diff --git a/samples/inputs/rating/basic/src/index.css b/samples/inputs/rating/basic/src/index.css deleted file mode 100644 index 8f7f70c8e0..0000000000 --- a/samples/inputs/rating/basic/src/index.css +++ /dev/null @@ -1,5 +0,0 @@ -/* shared styles are loaded from: */ -/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ -.size-large { - --ig-size: var(--ig-size-large); -} \ No newline at end of file diff --git a/samples/inputs/rating/basic/src/index.tsx b/samples/inputs/rating/basic/src/index.tsx deleted file mode 100644 index 8dfe45ae3b..0000000000 --- a/samples/inputs/rating/basic/src/index.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import ReactDOM from 'react-dom/client'; -import './index.css'; -import { IgrRating } from 'igniteui-react'; -import 'igniteui-webcomponents/themes/light/bootstrap.css'; - -export default function RatingOverview() { - return ( -
- -
- ); -} - -// rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')!); -root.render(); diff --git a/samples/inputs/rating/custom/src/index.css b/samples/inputs/rating/custom/src/index.css deleted file mode 100644 index 8f7f70c8e0..0000000000 --- a/samples/inputs/rating/custom/src/index.css +++ /dev/null @@ -1,5 +0,0 @@ -/* shared styles are loaded from: */ -/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ -.size-large { - --ig-size: var(--ig-size-large); -} \ No newline at end of file diff --git a/samples/inputs/rating/custom/src/index.tsx b/samples/inputs/rating/custom/src/index.tsx deleted file mode 100644 index 3f8db09b47..0000000000 --- a/samples/inputs/rating/custom/src/index.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import ReactDOM from 'react-dom/client'; -import './index.css'; -import { IgrRating, IgrRatingSymbol, IgrIcon, registerIconFromText } from 'igniteui-react'; -import 'igniteui-webcomponents/themes/light/bootstrap.css'; - -const emptyHeart = ' '; -const heartIcon = ' '; - -registerIconFromText("heart", heartIcon, "material"); -registerIconFromText("emptyHeart", emptyHeart, "material"); - -export default function RatingCustomSymbols() { - return ( -
- - -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- ); -} - -// rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')!); -root.render(); diff --git a/samples/inputs/rating/empty/src/index.css b/samples/inputs/rating/empty/src/index.css deleted file mode 100644 index 1f53b8aa05..0000000000 --- a/samples/inputs/rating/empty/src/index.css +++ /dev/null @@ -1,2 +0,0 @@ -/* shared styles are loaded from: */ -/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ \ No newline at end of file diff --git a/samples/inputs/rating/empty/src/index.tsx b/samples/inputs/rating/empty/src/index.tsx deleted file mode 100644 index 29d0f3eaad..0000000000 --- a/samples/inputs/rating/empty/src/index.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import ReactDOM from 'react-dom/client'; -import './index.css'; -import { IgrRating, IgrRatingSymbol, IgrIcon, registerIconFromText } from 'igniteui-react'; -import 'igniteui-webcomponents/themes/light/bootstrap.css'; - -const bandageIcon = 'Bandage IconA picture depicting a bandage.'; -const bacteriaIcon = 'Bacteria IconA picture depicting a bacteria.'; - -registerIconFromText("bandage", bandageIcon, "material"); -registerIconFromText("bacteria", bacteriaIcon,"material"); - -export default function RatingEmptyAndSelected() { - return ( -
- - -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- ); -} - -// rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')!); -root.render(); diff --git a/samples/inputs/rating/interaction-states/README.md b/samples/inputs/rating/interaction-states/README.md new file mode 100644 index 0000000000..c7b5415421 --- /dev/null +++ b/samples/inputs/rating/interaction-states/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Interaction States feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. + + + + + + View Docs + + + View Code + + + Run Sample + + + + +## Branches + +> **_NOTE:_** You should use [master](https://github.com/IgniteUI/igniteui-react-examples/tree/master) branch of this repository if you want to run samples on your computer. Use the [vnext](https://github.com/IgniteUI/igniteui-react-examples/tree/vnext) branch only when you want to contribute new samples to this repository. + +## Instructions + +Follow these instructions to run this example: + + +``` +git clone https://github.com/IgniteUI/igniteui-react-examples.git +cd ./igniteui-react-examples +git checkout master +cd ./samples/inputs/rating/interaction-states +``` + +open above folder in VS Code or type: +``` +code . +``` + +In terminal window, run: +``` +npm install +npm start +``` + +Then open http://localhost:4200/ in your browser + + +## Learn More + +To learn more about **Ignite UI for React** components, check out the [React documentation](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html). diff --git a/samples/inputs/rating/interaction-states/index.html b/samples/inputs/rating/interaction-states/index.html new file mode 100644 index 0000000000..1cbb958ef9 --- /dev/null +++ b/samples/inputs/rating/interaction-states/index.html @@ -0,0 +1,11 @@ + + + + RatingInteractionStates + + + +
+ + + \ No newline at end of file diff --git a/samples/inputs/rating/interaction-states/package.json b/samples/inputs/rating/interaction-states/package.json new file mode 100644 index 0000000000..f7c11ac987 --- /dev/null +++ b/samples/inputs/rating/interaction-states/package.json @@ -0,0 +1,42 @@ +{ + "name": "react-rating-interaction-states", + "description": "This project provides example of Rating Interaction States using Infragistics React components", + "author": "Infragistics", + "homepage": ".", + "version": "1.4.0", + "private": true, + "scripts": { + "start": "vite --port 4200", + "build": "tsc && node --max-old-space-size=4096 node_modules/vite/bin/vite build", + "preview": "vite preview", + "test": "vitest" + }, + "dependencies": { + "igniteui-dockmanager": "^2.2.1", + "igniteui-react": "19.9.0", + "igniteui-react-core": "19.6.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", + "tslib": "^2.4.0" + }, + "devDependencies": { + "@types/jest": "^30.0.0", + "@types/node": "^24.7.1", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "@vitest/browser": "^5.0.2", + "typescript": "^5.9.3", + "vite": "^8.3.1", + "vitest": "^5.0.2", + "vitest-canvas-mock": "^1.2.0", + "worker-loader": "^3.0.8" + }, + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] +} diff --git a/samples/inputs/rating/interaction-states/src/index.css b/samples/inputs/rating/interaction-states/src/index.css new file mode 100644 index 0000000000..2a8fb3ad05 --- /dev/null +++ b/samples/inputs/rating/interaction-states/src/index.css @@ -0,0 +1,33 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; +} + +.states { + display: flex; + align-items: center; + gap: 3.75rem; +} + +.state { + display: flex; + align-items: center; + gap: 1.875rem; +} + +.state-label { + font: 400 14px / 24px "Aktiv Grotesk", sans-serif; + letter-spacing: 0.1px; + color: var(--ig-gray-600); +} + +igc-rating { + --ig-rating-label-color: var(--ig-gray-700); + --ig-rating-disabled-label-color: var(--ig-gray-500); +} diff --git a/samples/inputs/rating/interaction-states/src/index.tsx b/samples/inputs/rating/interaction-states/src/index.tsx new file mode 100644 index 0000000000..37de16cdbc --- /dev/null +++ b/samples/inputs/rating/interaction-states/src/index.tsx @@ -0,0 +1,25 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingInteractionStates() { + return ( +
+
+
+ Enabled + +
+
+ Disabled + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/basic/tsconfig.json b/samples/inputs/rating/interaction-states/tsconfig.json similarity index 100% rename from samples/inputs/rating/basic/tsconfig.json rename to samples/inputs/rating/interaction-states/tsconfig.json diff --git a/samples/inputs/rating/basic/vite.config.js b/samples/inputs/rating/interaction-states/vite.config.js similarity index 100% rename from samples/inputs/rating/basic/vite.config.js rename to samples/inputs/rating/interaction-states/vite.config.js diff --git a/samples/inputs/rating/custom/README.md b/samples/inputs/rating/layout/README.md similarity index 92% rename from samples/inputs/rating/custom/README.md rename to samples/inputs/rating/layout/README.md index 82641d9dbc..06bf14481d 100644 --- a/samples/inputs/rating/custom/README.md +++ b/samples/inputs/rating/layout/README.md @@ -1,4 +1,4 @@ -This folder contains implementation of React application with example of Custom feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. +This folder contains implementation of React application with example of Layout feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -9,7 +9,7 @@ This folder contains implementation of React application with example of Custom View Code - + Run Sample @@ -28,7 +28,7 @@ Follow these instructions to run this example: git clone https://github.com/IgniteUI/igniteui-react-examples.git cd ./igniteui-react-examples git checkout master -cd ./samples/inputs/rating/custom +cd ./samples/inputs/rating/layout ``` open above folder in VS Code or type: diff --git a/samples/inputs/rating/basic/index.html b/samples/inputs/rating/layout/index.html similarity index 87% rename from samples/inputs/rating/basic/index.html rename to samples/inputs/rating/layout/index.html index ebd5a6e42e..b0071e526f 100644 --- a/samples/inputs/rating/basic/index.html +++ b/samples/inputs/rating/layout/index.html @@ -1,7 +1,7 @@ - Rating Overview + RatingLayout diff --git a/samples/inputs/rating/custom/package.json b/samples/inputs/rating/layout/package.json similarity index 87% rename from samples/inputs/rating/custom/package.json rename to samples/inputs/rating/layout/package.json index b812800f3b..0cb81562c2 100644 --- a/samples/inputs/rating/custom/package.json +++ b/samples/inputs/rating/layout/package.json @@ -1,6 +1,6 @@ { - "name": "react-button-overview", - "description": "This project provides example of Button Overview using Infragistics React components", + "name": "react-rating-layout", + "description": "This project provides example of Rating Layout using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/inputs/rating/layout/src/index.css b/samples/inputs/rating/layout/src/index.css new file mode 100644 index 0000000000..63ea945eb1 --- /dev/null +++ b/samples/inputs/rating/layout/src/index.css @@ -0,0 +1,32 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; +} + +.layouts { + display: flex; + align-items: center; + gap: 3.75rem; +} + +.layout { + display: flex; + align-items: center; + gap: 1.875rem; +} + +.layout-label { + font: 500 14px / 24px "Aktiv Grotesk", sans-serif; + letter-spacing: 0.1px; + color: var(--ig-gray-600); +} + +igc-rating { + --ig-rating-label-color: var(--ig-gray-700); +} diff --git a/samples/inputs/rating/layout/src/index.tsx b/samples/inputs/rating/layout/src/index.tsx new file mode 100644 index 0000000000..ca22b91068 --- /dev/null +++ b/samples/inputs/rating/layout/src/index.tsx @@ -0,0 +1,25 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingLayout() { + return ( +
+
+
+ Label / On + +
+
+ Label / Off + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/custom/tsconfig.json b/samples/inputs/rating/layout/tsconfig.json similarity index 100% rename from samples/inputs/rating/custom/tsconfig.json rename to samples/inputs/rating/layout/tsconfig.json diff --git a/samples/inputs/rating/custom/vite.config.js b/samples/inputs/rating/layout/vite.config.js similarity index 100% rename from samples/inputs/rating/custom/vite.config.js rename to samples/inputs/rating/layout/vite.config.js diff --git a/samples/inputs/rating/overview/README.md b/samples/inputs/rating/overview/README.md new file mode 100644 index 0000000000..504c2ce7ab --- /dev/null +++ b/samples/inputs/rating/overview/README.md @@ -0,0 +1,50 @@ +This folder contains implementation of React application with example of Overview feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. + + + + + + View Docs + + + View Code + + + Run Sample + + + + +## Branches + +> **_NOTE:_** You should use [master](https://github.com/IgniteUI/igniteui-react-examples/tree/master) branch of this repository if you want to run samples on your computer. Use the [vnext](https://github.com/IgniteUI/igniteui-react-examples/tree/vnext) branch only when you want to contribute new samples to this repository. + +## Instructions + +Follow these instructions to run this example: + + +``` +git clone https://github.com/IgniteUI/igniteui-react-examples.git +cd ./igniteui-react-examples +git checkout master +cd ./samples/inputs/rating/overview +``` + +open above folder in VS Code or type: +``` +code . +``` + +In terminal window, run: +``` +npm install +npm start +``` + +Then open http://localhost:4200/ in your browser + + +## Learn More + +To learn more about **Ignite UI for React** components, check out the [React documentation](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html). diff --git a/samples/inputs/rating/empty/index.html b/samples/inputs/rating/overview/index.html similarity index 87% rename from samples/inputs/rating/empty/index.html rename to samples/inputs/rating/overview/index.html index 7332773b51..e1a9491016 100644 --- a/samples/inputs/rating/empty/index.html +++ b/samples/inputs/rating/overview/index.html @@ -1,7 +1,7 @@ - Empty & Selected + RatingOverview diff --git a/samples/inputs/rating/single-selection/package.json b/samples/inputs/rating/overview/package.json similarity index 91% rename from samples/inputs/rating/single-selection/package.json rename to samples/inputs/rating/overview/package.json index b812800f3b..8a1f172635 100644 --- a/samples/inputs/rating/single-selection/package.json +++ b/samples/inputs/rating/overview/package.json @@ -1,6 +1,6 @@ { - "name": "react-button-overview", - "description": "This project provides example of Button Overview using Infragistics React components", + "name": "react-rating-overview", + "description": "This project provides example of Rating Overview using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/inputs/rating/overview/src/index.css b/samples/inputs/rating/overview/src/index.css new file mode 100644 index 0000000000..a927098155 --- /dev/null +++ b/samples/inputs/rating/overview/src/index.css @@ -0,0 +1,20 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; +} + +.rating-card { + width: 15rem; + box-shadow: var(--ig-elevation-2); +} + +.rating-card igc-card-content { + display: flex; + padding-bottom: 0.5rem; +} diff --git a/samples/inputs/rating/overview/src/index.tsx b/samples/inputs/rating/overview/src/index.tsx new file mode 100644 index 0000000000..f8a65d1497 --- /dev/null +++ b/samples/inputs/rating/overview/src/index.tsx @@ -0,0 +1,24 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrCard, IgrCardContent, IgrCardHeader, IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingOverview() { + return ( +
+ + + Rate this product + Your opinion matters to us! + + + + + +
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/empty/tsconfig.json b/samples/inputs/rating/overview/tsconfig.json similarity index 100% rename from samples/inputs/rating/empty/tsconfig.json rename to samples/inputs/rating/overview/tsconfig.json diff --git a/samples/inputs/rating/empty/vite.config.js b/samples/inputs/rating/overview/vite.config.js similarity index 100% rename from samples/inputs/rating/empty/vite.config.js rename to samples/inputs/rating/overview/vite.config.js diff --git a/samples/inputs/rating/single-selection/src/index.css b/samples/inputs/rating/single-selection/src/index.css deleted file mode 100644 index 1f53b8aa05..0000000000 --- a/samples/inputs/rating/single-selection/src/index.css +++ /dev/null @@ -1,2 +0,0 @@ -/* shared styles are loaded from: */ -/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ \ No newline at end of file diff --git a/samples/inputs/rating/single-selection/src/index.tsx b/samples/inputs/rating/single-selection/src/index.tsx deleted file mode 100644 index 96e9ac7b07..0000000000 --- a/samples/inputs/rating/single-selection/src/index.tsx +++ /dev/null @@ -1,37 +0,0 @@ -import ReactDOM from 'react-dom/client'; -import './index.css'; -import { IgrRating, IgrRatingSymbol } from 'igniteui-react'; -import 'igniteui-webcomponents/themes/light/bootstrap.css'; - -export default function RatingSingleSelection() { - return ( -
- - - 😣 - 😣 - - - 😔 - 😔 - - - 😐 - 😐 - - - 🙂 - 🙂 - - - 😆 - 😆 - - -
- ); -} - -// rendering above component to the React DOM -const root = ReactDOM.createRoot(document.getElementById('root')!); -root.render(); diff --git a/samples/inputs/rating/basic/README.md b/samples/inputs/rating/size/README.md similarity index 88% rename from samples/inputs/rating/basic/README.md rename to samples/inputs/rating/size/README.md index d4216aa096..f1480dedbd 100644 --- a/samples/inputs/rating/basic/README.md +++ b/samples/inputs/rating/size/README.md @@ -1,4 +1,4 @@ -This folder contains implementation of React application with example of Basic feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. +This folder contains implementation of React application with example of Size feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -9,7 +9,7 @@ This folder contains implementation of React application with example of Basic f View Code - + Run Sample @@ -28,7 +28,7 @@ Follow these instructions to run this example: git clone https://github.com/IgniteUI/igniteui-react-examples.git cd ./igniteui-react-examples git checkout master -cd ./samples/inputs/rating/basic +cd ./samples/inputs/rating/size ``` open above folder in VS Code or type: diff --git a/samples/inputs/rating/single-selection/index.html b/samples/inputs/rating/size/index.html similarity index 87% rename from samples/inputs/rating/single-selection/index.html rename to samples/inputs/rating/size/index.html index a60019c75a..0ee48c86f0 100644 --- a/samples/inputs/rating/single-selection/index.html +++ b/samples/inputs/rating/size/index.html @@ -1,7 +1,7 @@ - Single Selection + RatingSize diff --git a/samples/inputs/rating/basic/package.json b/samples/inputs/rating/size/package.json similarity index 87% rename from samples/inputs/rating/basic/package.json rename to samples/inputs/rating/size/package.json index b812800f3b..27a9104dbb 100644 --- a/samples/inputs/rating/basic/package.json +++ b/samples/inputs/rating/size/package.json @@ -1,6 +1,6 @@ { - "name": "react-button-overview", - "description": "This project provides example of Button Overview using Infragistics React components", + "name": "react-rating-size", + "description": "This project provides example of Rating Size using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/inputs/rating/size/src/index.css b/samples/inputs/rating/size/src/index.css new file mode 100644 index 0000000000..e781b2e477 --- /dev/null +++ b/samples/inputs/rating/size/src/index.css @@ -0,0 +1,44 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; +} + +.sizes { + display: flex; + align-items: center; + gap: 3.75rem; +} + +.size { + display: flex; + align-items: center; + gap: 1.875rem; +} + +.size-label { + font: 500 14px / 24px "Aktiv Grotesk", sans-serif; + letter-spacing: 0.1px; + color: var(--ig-gray-600); +} + +igc-rating { + --ig-rating-label-color: var(--ig-gray-700); +} + +.size-small { + --ig-size: var(--ig-size-small); +} + +.size-medium { + --ig-size: var(--ig-size-medium); +} + +.size-large { + --ig-size: var(--ig-size-large); +} diff --git a/samples/inputs/rating/size/src/index.tsx b/samples/inputs/rating/size/src/index.tsx new file mode 100644 index 0000000000..4056606a99 --- /dev/null +++ b/samples/inputs/rating/size/src/index.tsx @@ -0,0 +1,29 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingSize() { + return ( +
+
+
+ Small + +
+
+ Medium + +
+
+ Large + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/single-selection/tsconfig.json b/samples/inputs/rating/size/tsconfig.json similarity index 100% rename from samples/inputs/rating/single-selection/tsconfig.json rename to samples/inputs/rating/size/tsconfig.json diff --git a/samples/inputs/rating/single-selection/vite.config.js b/samples/inputs/rating/size/vite.config.js similarity index 100% rename from samples/inputs/rating/single-selection/vite.config.js rename to samples/inputs/rating/size/vite.config.js diff --git a/samples/inputs/rating/empty/README.md b/samples/inputs/rating/states/README.md similarity index 88% rename from samples/inputs/rating/empty/README.md rename to samples/inputs/rating/states/README.md index 785130114c..7d659e9b02 100644 --- a/samples/inputs/rating/empty/README.md +++ b/samples/inputs/rating/states/README.md @@ -1,4 +1,4 @@ -This folder contains implementation of React application with example of Empty feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. +This folder contains implementation of React application with example of States feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -9,7 +9,7 @@ This folder contains implementation of React application with example of Empty f View Code - + Run Sample @@ -28,7 +28,7 @@ Follow these instructions to run this example: git clone https://github.com/IgniteUI/igniteui-react-examples.git cd ./igniteui-react-examples git checkout master -cd ./samples/inputs/rating/empty +cd ./samples/inputs/rating/states ``` open above folder in VS Code or type: diff --git a/samples/inputs/rating/custom/index.html b/samples/inputs/rating/states/index.html similarity index 86% rename from samples/inputs/rating/custom/index.html rename to samples/inputs/rating/states/index.html index 3352f7c248..424c8ae128 100644 --- a/samples/inputs/rating/custom/index.html +++ b/samples/inputs/rating/states/index.html @@ -1,7 +1,7 @@ - Using Custom Symbols + RatingStates diff --git a/samples/inputs/rating/empty/package.json b/samples/inputs/rating/states/package.json similarity index 87% rename from samples/inputs/rating/empty/package.json rename to samples/inputs/rating/states/package.json index b812800f3b..5e75de8953 100644 --- a/samples/inputs/rating/empty/package.json +++ b/samples/inputs/rating/states/package.json @@ -1,6 +1,6 @@ { - "name": "react-button-overview", - "description": "This project provides example of Button Overview using Infragistics React components", + "name": "react-rating-states", + "description": "This project provides example of Rating States using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/inputs/rating/states/src/index.css b/samples/inputs/rating/states/src/index.css new file mode 100644 index 0000000000..2c90ebd459 --- /dev/null +++ b/samples/inputs/rating/states/src/index.css @@ -0,0 +1,32 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; +} + +.states { + display: flex; + align-items: center; + gap: 3.75rem; +} + +.state { + display: flex; + align-items: center; + gap: 1.875rem; +} + +.state-label { + font: 500 14px / 24px "Aktiv Grotesk", sans-serif; + letter-spacing: 0.1px; + color: var(--ig-gray-600); +} + +igc-rating { + --ig-rating-label-color: var(--ig-gray-700); +} diff --git a/samples/inputs/rating/states/src/index.tsx b/samples/inputs/rating/states/src/index.tsx new file mode 100644 index 0000000000..33b96719af --- /dev/null +++ b/samples/inputs/rating/states/src/index.tsx @@ -0,0 +1,25 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingStates() { + return ( +
+
+
+ Empty State + +
+
+ Full State + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/states/tsconfig.json b/samples/inputs/rating/states/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/rating/states/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, + "isolatedModules": true, + "skipLibCheck": true, + "noEmit": true + }, + "include": [ + "src" + ] +} diff --git a/samples/inputs/rating/states/vite.config.js b/samples/inputs/rating/states/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/inputs/rating/states/vite.config.js @@ -0,0 +1,12 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; + +export default defineConfig({ + plugins: [react()], + build: { + outDir: 'build' + }, + server: { + open: false + }, +}); \ No newline at end of file diff --git a/samples/inputs/rating/styling/index.html b/samples/inputs/rating/styling/index.html index 32270cc1a2..805c2ba96f 100644 --- a/samples/inputs/rating/styling/index.html +++ b/samples/inputs/rating/styling/index.html @@ -1,7 +1,7 @@ - Styling + RatingStyling diff --git a/samples/inputs/rating/styling/package.json b/samples/inputs/rating/styling/package.json index b812800f3b..c6611ce54d 100644 --- a/samples/inputs/rating/styling/package.json +++ b/samples/inputs/rating/styling/package.json @@ -1,6 +1,6 @@ { - "name": "react-button-overview", - "description": "This project provides example of Button Overview using Infragistics React components", + "name": "react-rating-styling", + "description": "This project provides example of Rating Styling using Infragistics React components", "author": "Infragistics", "homepage": ".", "version": "1.4.0", diff --git a/samples/inputs/rating/styling/src/index.css b/samples/inputs/rating/styling/src/index.css index 9c67266cbe..78c59c2777 100644 --- a/samples/inputs/rating/styling/src/index.css +++ b/samples/inputs/rating/styling/src/index.css @@ -1,28 +1,38 @@ /* shared styles are loaded from: */ /* https://dl.infragistics.com/x/css/samples/shared.v8.css */ -igc-rating { - --symbol-size: 44px; - --symbol-full-color: hsla(var(--ig-warn-A400), var(--ig-warn-a)); - --symbol-empty-color: hsla(var(--ig-warn-A400), var(--ig-warn-a)); +.sample { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 1rem; } -igc-rating[disabled] { - --symbol-full-color: hsla(var(--ig-gray-400), var(--ig-gray-a)); - --symbol-empty-color: hsla(var(--ig-gray-400), var(--ig-gray-a)); +.examples { + display: flex; + align-items: center; + gap: 3.75rem; } -igc-rating::part(label) { - font-size: 18px; - font-weight: 600; - text-transform: var(--ig-overline-text-transform); - color: hsla(var(--ig-gray-600), var(--ig-gray-a)); +.example { + display: flex; + align-items: center; + gap: 1.875rem; } -igc-rating::part(symbols) { - gap: 8px; +.example-label { + font: 500 14px / 24px "Aktiv Grotesk", sans-serif; + letter-spacing: 0.1px; + color: #556c86; } -.size-large { - --ig-size: var(--ig-size-large); +.heart-rating { + --ig-rating-symbol-full-color: #d9357f; + --ig-rating-symbol-empty-color: #d9357f; +} + +.star-rating { + --ig-rating-symbol-full-color: #faa419; + --ig-rating-symbol-empty-color: #8a8a8a; } diff --git a/samples/inputs/rating/styling/src/index.tsx b/samples/inputs/rating/styling/src/index.tsx index a8c5d75980..3dda7674ea 100644 --- a/samples/inputs/rating/styling/src/index.tsx +++ b/samples/inputs/rating/styling/src/index.tsx @@ -1,12 +1,38 @@ +import { useEffect } from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; -import { IgrRating } from 'igniteui-react'; +import { IgrIcon, IgrRating, IgrRatingSymbol, registerIconFromText } from 'igniteui-react'; import 'igniteui-webcomponents/themes/light/bootstrap.css'; +const icons = [ + { name: 'favorite', text: '' }, + { name: 'favorite_border', text: '' }, +]; + export default function RatingStyling() { + useEffect(() => { + icons.forEach((icon) => registerIconFromText(icon.name, icon.text, 'material')); + }, []); + return ( -
- +
+
+
+ Custom icon and color + + {[1, 2, 3, 4, 5].map((symbol) => ( + + + + + ))} + +
+
+ 10 stars + +
+
); } diff --git a/samples/inputs/rating/single-selection/README.md b/samples/inputs/rating/tailwind-styling/README.md similarity index 91% rename from samples/inputs/rating/single-selection/README.md rename to samples/inputs/rating/tailwind-styling/README.md index 060516b800..11bf5e720f 100644 --- a/samples/inputs/rating/single-selection/README.md +++ b/samples/inputs/rating/tailwind-styling/README.md @@ -1,4 +1,4 @@ -This folder contains implementation of React application with example of Single Selection feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. +This folder contains implementation of React application with example of Tailwind Styling feature using [Rating](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started.html) component. @@ -9,7 +9,7 @@ This folder contains implementation of React application with example of Single View Code - + Run Sample @@ -28,7 +28,7 @@ Follow these instructions to run this example: git clone https://github.com/IgniteUI/igniteui-react-examples.git cd ./igniteui-react-examples git checkout master -cd ./samples/inputs/rating/single-selection +cd ./samples/inputs/rating/tailwind-styling ``` open above folder in VS Code or type: diff --git a/samples/inputs/rating/tailwind-styling/index.html b/samples/inputs/rating/tailwind-styling/index.html new file mode 100644 index 0000000000..c1db140e73 --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/index.html @@ -0,0 +1,11 @@ + + + + RatingTailwindStyling + + + +
+ + + diff --git a/samples/inputs/rating/tailwind-styling/package.json b/samples/inputs/rating/tailwind-styling/package.json new file mode 100644 index 0000000000..2e09c41a69 --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/package.json @@ -0,0 +1,44 @@ +{ + "name": "react-rating-tailwind-styling", + "description": "This project provides example of Rating Tailwind Styling using Infragistics React components", + "author": "Infragistics", + "homepage": ".", + "version": "1.4.0", + "private": true, + "scripts": { + "start": "vite --port 4200", + "build": "tsc && node --max-old-space-size=4096 node_modules/vite/bin/vite build", + "preview": "vite preview", + "test": "vitest" + }, + "dependencies": { + "igniteui-dockmanager": "^2.2.1", + "igniteui-react": "19.9.0", + "igniteui-react-core": "19.6.0", + "igniteui-webcomponents": "~7.4.1", + "react": "^19.3.0", + "react-dom": "^19.3.0", + "tslib": "^2.4.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.1.14", + "@types/jest": "^30.0.0", + "@types/node": "^24.7.1", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.1", + "@vitest/browser": "^5.0.2", + "tailwindcss": "^4.1.14", + "typescript": "^5.9.3", + "vite": "^8.3.1", + "vitest": "^5.0.2", + "vitest-canvas-mock": "^1.2.0", + "worker-loader": "^3.0.8" + }, + "browserslist": [ + ">0.2%", + "not dead", + "not ie <= 11", + "not op_mini all" + ] +} diff --git a/samples/inputs/rating/tailwind-styling/src/index.css b/samples/inputs/rating/tailwind-styling/src/index.css new file mode 100644 index 0000000000..0514ec0b79 --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/src/index.css @@ -0,0 +1,23 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +/* Keep this order. An @import after the Tailwind imports is dropped, and in + the samples browser one before the @layer statement drops the Tailwind + imports, so Aktiv Grotesk goes between them. */ +@layer theme, base, components, utilities; +@import url("https://use.typekit.net/bng2zgw.css"); +@import "tailwindcss/theme.css" layer(theme); +@import "tailwindcss/utilities.css" layer(utilities); +@source "./index.tsx"; + +@theme { + --color-product-ink: #00142b; + --color-product-muted: #556c86; + --color-product-border: #d2dbe8; + --color-product-primary: #0176ff; + --color-product-primary-hover: #005dcc; + --color-product-primary-active: #004699; + --color-rating-full: #faa419; + --color-rating-empty: #8a8a8a; + --color-rating-label: #616161; +} diff --git a/samples/inputs/rating/tailwind-styling/src/index.tsx b/samples/inputs/rating/tailwind-styling/src/index.tsx new file mode 100644 index 0000000000..f24b1fb544 --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/src/index.tsx @@ -0,0 +1,38 @@ +import ReactDOM from 'react-dom/client'; +import './index.css'; +import { IgrButton, IgrRating } from 'igniteui-react'; +import 'igniteui-webcomponents/themes/light/bootstrap.css'; + +export default function RatingTailwindStyling() { + return ( +
+
+
+ Wireless headphones +
+ Wireless Headphones + Great sound quality and battery life! +
+ $89 +
+
+ + + Submit review + +
+
+
+ ); +} + +// rendering above component to the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')!); +root.render(); diff --git a/samples/inputs/rating/tailwind-styling/tsconfig.json b/samples/inputs/rating/tailwind-styling/tsconfig.json new file mode 100644 index 0000000000..e27a22be9b --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "es2020", + "lib": [ + "es2020", + "dom", + "dom.iterable" + ], + "module": "esnext", + "moduleResolution": "bundler", + "jsx": "react-jsx", + "types": [ + "vite/client" + ], + "strict": true, + "resolveJsonModule": true, + "isolatedModules": true, + "skipLibCheck": true, + "noEmit": true + }, + "include": [ + "src" + ] +} diff --git a/samples/inputs/rating/tailwind-styling/vite.config.js b/samples/inputs/rating/tailwind-styling/vite.config.js new file mode 100644 index 0000000000..4043727956 --- /dev/null +++ b/samples/inputs/rating/tailwind-styling/vite.config.js @@ -0,0 +1,13 @@ +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; +import tailwindcss from '@tailwindcss/vite'; + +export default defineConfig({ + plugins: [react(), tailwindcss()], + build: { + outDir: 'build', + }, + server: { + open: false, + }, +}); From 0fa650a34f0d2bb1b94b71bc32e7a8622607569a Mon Sep 17 00:00:00 2001 From: Adrian Petrov <99720888+adrianptrv@users.noreply.github.com> Date: Fri, 23 Oct 2026 12:05:35 +0300 Subject: [PATCH 15/15] feat(grids): add 'theming' and 'playground' samples (#1121) * feat(grid): add theming and playground samples * chore: sync sample package versions --------- Co-authored-by: Simeon Simeonoff Co-authored-by: Simeon Simeonoff --- .../theming/.devcontainer/devcontainer.json | 4 + samples/grids/grid/theming/.eslintrc.js | 78 + samples/grids/grid/theming/ReadMe.md | 56 + samples/grids/grid/theming/index.html | 12 + samples/grids/grid/theming/package.json | 49 + .../grids/grid/theming/sandbox.config.json | 5 + .../grids/grid/theming/src/InvoicesData.ts | 346 +++ samples/grids/grid/theming/src/index.css | 246 ++ samples/grids/grid/theming/src/index.tsx | 153 + samples/grids/grid/theming/tsconfig.json | 44 + samples/grids/grid/theming/vite.config.js | 12 + .../theming/.devcontainer/devcontainer.json | 4 + .../hierarchical-grid/theming/.eslintrc.js | 78 + .../grids/hierarchical-grid/theming/ReadMe.md | 56 + .../hierarchical-grid/theming/index.html | 12 + .../hierarchical-grid/theming/package.json | 49 + .../theming/sandbox.config.json | 5 + .../theming/src/SingersData.ts | 1630 +++++++++++ .../hierarchical-grid/theming/src/index.css | 256 ++ .../hierarchical-grid/theming/src/index.tsx | 214 ++ .../hierarchical-grid/theming/tsconfig.json | 44 + .../hierarchical-grid/theming/vite.config.js | 12 + .../theming/.devcontainer/devcontainer.json | 4 + samples/grids/pivot-grid/theming/.eslintrc.js | 78 + samples/grids/pivot-grid/theming/ReadMe.md | 56 + samples/grids/pivot-grid/theming/index.html | 12 + samples/grids/pivot-grid/theming/package.json | 49 + .../pivot-grid/theming/sandbox.config.json | 5 + .../pivot-grid/theming/src/PivotDataFlat.ts | 525 ++++ .../grids/pivot-grid/theming/src/index.css | 245 ++ .../grids/pivot-grid/theming/src/index.tsx | 107 + .../grids/pivot-grid/theming/tsconfig.json | 44 + .../grids/pivot-grid/theming/vite.config.js | 12 + .../.devcontainer/devcontainer.json | 4 + .../grid-theme-playground/.eslintrc.js | 78 + .../grid-theme-playground/ReadMe.md | 56 + .../grid-theme-playground/index.html | 12 + .../grid-theme-playground/package.json | 50 + .../grid-theme-playground/sandbox.config.json | 5 + .../src/PlaygroundData.ts | 2555 +++++++++++++++++ .../grid-theme-playground/src/index.css | 283 ++ .../grid-theme-playground/src/index.tsx | 778 +++++ .../grid-theme-playground/tsconfig.json | 44 + .../grid-theme-playground/vite.config.js | 12 + .../theming/.devcontainer/devcontainer.json | 4 + samples/grids/tree-grid/theming/.eslintrc.js | 78 + samples/grids/tree-grid/theming/ReadMe.md | 56 + samples/grids/tree-grid/theming/index.html | 12 + samples/grids/tree-grid/theming/package.json | 49 + .../tree-grid/theming/sandbox.config.json | 5 + .../theming/src/EmployeesFlatAvatars.ts | 43 + samples/grids/tree-grid/theming/src/index.css | 261 ++ samples/grids/tree-grid/theming/src/index.tsx | 118 + samples/grids/tree-grid/theming/tsconfig.json | 44 + .../grids/tree-grid/theming/vite.config.js | 12 + 55 files changed, 9061 insertions(+) create mode 100644 samples/grids/grid/theming/.devcontainer/devcontainer.json create mode 100644 samples/grids/grid/theming/.eslintrc.js create mode 100644 samples/grids/grid/theming/ReadMe.md create mode 100644 samples/grids/grid/theming/index.html create mode 100644 samples/grids/grid/theming/package.json create mode 100644 samples/grids/grid/theming/sandbox.config.json create mode 100644 samples/grids/grid/theming/src/InvoicesData.ts create mode 100644 samples/grids/grid/theming/src/index.css create mode 100644 samples/grids/grid/theming/src/index.tsx create mode 100644 samples/grids/grid/theming/tsconfig.json create mode 100644 samples/grids/grid/theming/vite.config.js create mode 100644 samples/grids/hierarchical-grid/theming/.devcontainer/devcontainer.json create mode 100644 samples/grids/hierarchical-grid/theming/.eslintrc.js create mode 100644 samples/grids/hierarchical-grid/theming/ReadMe.md create mode 100644 samples/grids/hierarchical-grid/theming/index.html create mode 100644 samples/grids/hierarchical-grid/theming/package.json create mode 100644 samples/grids/hierarchical-grid/theming/sandbox.config.json create mode 100644 samples/grids/hierarchical-grid/theming/src/SingersData.ts create mode 100644 samples/grids/hierarchical-grid/theming/src/index.css create mode 100644 samples/grids/hierarchical-grid/theming/src/index.tsx create mode 100644 samples/grids/hierarchical-grid/theming/tsconfig.json create mode 100644 samples/grids/hierarchical-grid/theming/vite.config.js create mode 100644 samples/grids/pivot-grid/theming/.devcontainer/devcontainer.json create mode 100644 samples/grids/pivot-grid/theming/.eslintrc.js create mode 100644 samples/grids/pivot-grid/theming/ReadMe.md create mode 100644 samples/grids/pivot-grid/theming/index.html create mode 100644 samples/grids/pivot-grid/theming/package.json create mode 100644 samples/grids/pivot-grid/theming/sandbox.config.json create mode 100644 samples/grids/pivot-grid/theming/src/PivotDataFlat.ts create mode 100644 samples/grids/pivot-grid/theming/src/index.css create mode 100644 samples/grids/pivot-grid/theming/src/index.tsx create mode 100644 samples/grids/pivot-grid/theming/tsconfig.json create mode 100644 samples/grids/pivot-grid/theming/vite.config.js create mode 100644 samples/grids/playground/grid-theme-playground/.devcontainer/devcontainer.json create mode 100644 samples/grids/playground/grid-theme-playground/.eslintrc.js create mode 100644 samples/grids/playground/grid-theme-playground/ReadMe.md create mode 100644 samples/grids/playground/grid-theme-playground/index.html create mode 100644 samples/grids/playground/grid-theme-playground/package.json create mode 100644 samples/grids/playground/grid-theme-playground/sandbox.config.json create mode 100644 samples/grids/playground/grid-theme-playground/src/PlaygroundData.ts create mode 100644 samples/grids/playground/grid-theme-playground/src/index.css create mode 100644 samples/grids/playground/grid-theme-playground/src/index.tsx create mode 100644 samples/grids/playground/grid-theme-playground/tsconfig.json create mode 100644 samples/grids/playground/grid-theme-playground/vite.config.js create mode 100644 samples/grids/tree-grid/theming/.devcontainer/devcontainer.json create mode 100644 samples/grids/tree-grid/theming/.eslintrc.js create mode 100644 samples/grids/tree-grid/theming/ReadMe.md create mode 100644 samples/grids/tree-grid/theming/index.html create mode 100644 samples/grids/tree-grid/theming/package.json create mode 100644 samples/grids/tree-grid/theming/sandbox.config.json create mode 100644 samples/grids/tree-grid/theming/src/EmployeesFlatAvatars.ts create mode 100644 samples/grids/tree-grid/theming/src/index.css create mode 100644 samples/grids/tree-grid/theming/src/index.tsx create mode 100644 samples/grids/tree-grid/theming/tsconfig.json create mode 100644 samples/grids/tree-grid/theming/vite.config.js diff --git a/samples/grids/grid/theming/.devcontainer/devcontainer.json b/samples/grids/grid/theming/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..e0b8e9c925 --- /dev/null +++ b/samples/grids/grid/theming/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:22" +} \ No newline at end of file diff --git a/samples/grids/grid/theming/.eslintrc.js b/samples/grids/grid/theming/.eslintrc.js new file mode 100644 index 0000000000..7168b71441 --- /dev/null +++ b/samples/grids/grid/theming/.eslintrc.js @@ -0,0 +1,78 @@ +// 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" + } + } + ] + }; \ No newline at end of file diff --git a/samples/grids/grid/theming/ReadMe.md b/samples/grids/grid/theming/ReadMe.md new file mode 100644 index 0000000000..a3784fd758 --- /dev/null +++ b/samples/grids/grid/theming/ReadMe.md @@ -0,0 +1,56 @@ + + + +This folder contains implementation of React application with example of Theming feature using [Grid](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/grids/grid/theming +``` + +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/grids/grid/theming/index.html b/samples/grids/grid/theming/index.html new file mode 100644 index 0000000000..7ccd41dace --- /dev/null +++ b/samples/grids/grid/theming/index.html @@ -0,0 +1,12 @@ + + + + Sample | Ignite UI | React | infragistics + + + + +
+ + + \ No newline at end of file diff --git a/samples/grids/grid/theming/package.json b/samples/grids/grid/theming/package.json new file mode 100644 index 0000000000..9ec13a8ebc --- /dev/null +++ b/samples/grids/grid/theming/package.json @@ -0,0 +1,49 @@ +{ + "name": "example-ignite-ui-react", + "description": "This project provides example of using Ignite UI for React components", + "author": "Infragistics", + "version": "1.4.0", + "license": "", + "homepage": ".", + "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", + "lint": "eslint ./src/**/*.{ts,tsx}" + }, + "dependencies": { + "igniteui-dockmanager": "^2.2.1", + "igniteui-react": "19.9.0", + "igniteui-react-core": "19.6.0", + "igniteui-react-grids": "19.10.0", + "igniteui-webcomponents": "~7.4.1", + "lit-html": "^3.2.0", + "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", + "eslint": "^8.33.0", + "eslint-config-react": "^1.1.7", + "eslint-plugin-react": "^7.20.0", + "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/grids/grid/theming/sandbox.config.json b/samples/grids/grid/theming/sandbox.config.json new file mode 100644 index 0000000000..07f53508eb --- /dev/null +++ b/samples/grids/grid/theming/sandbox.config.json @@ -0,0 +1,5 @@ +{ + "infiniteLoopProtection": false, + "hardReloadOnChange": false, + "view": "browser" +} \ No newline at end of file diff --git a/samples/grids/grid/theming/src/InvoicesData.ts b/samples/grids/grid/theming/src/InvoicesData.ts new file mode 100644 index 0000000000..4d3a954530 --- /dev/null +++ b/samples/grids/grid/theming/src/InvoicesData.ts @@ -0,0 +1,346 @@ +export class InvoicesDataItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public ShipCountry: string; + public ShipCity: string; + public ShipName: string; + public Salesperson: string; + public UnitPrice: number; + public Quantity: number; + +} +export class InvoicesData extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Margaret Peacock`, UnitPrice: 43.9, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Margaret Peacock`, UnitPrice: 10, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Margaret Peacock`, UnitPrice: 18, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Nancy Davolio`, UnitPrice: 55, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Nancy Davolio`, UnitPrice: 45.6, Quantity: 2 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Janet Leverling`, UnitPrice: 21.5, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Nancy Davolio`, UnitPrice: 25, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Janet Leverling`, UnitPrice: 13.25, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Nancy Davolio`, UnitPrice: 13, Quantity: 2 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfreds Futterkiste`, Salesperson: `Michael Suyama`, UnitPrice: 45.6, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfreds Futterkiste`, Salesperson: `Michael Suyama`, UnitPrice: 18, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfreds Futterkiste`, Salesperson: `Michael Suyama`, UnitPrice: 12, Quantity: 2 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Robert King`, UnitPrice: 28.8, Quantity: 1 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Robert King`, UnitPrice: 12, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Janet Leverling`, UnitPrice: 23.25, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Janet Leverling`, UnitPrice: 14, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Janet Leverling`, UnitPrice: 34, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Janet Leverling`, UnitPrice: 32, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Margaret Peacock`, UnitPrice: 21, Quantity: 2 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Margaret Peacock`, UnitPrice: 6, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Margaret Peacock`, UnitPrice: 9.2, Quantity: 7 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Margaret Peacock`, UnitPrice: 34.8, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 16.8, Quantity: 24 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Robert King`, UnitPrice: 39, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Robert King`, UnitPrice: 14, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Robert King`, UnitPrice: 32.8, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 2.5, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 17, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 7.75, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 19, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 14, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Margaret Peacock`, UnitPrice: 21, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Margaret Peacock`, UnitPrice: 18.4, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Margaret Peacock`, UnitPrice: 19.5, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Margaret Peacock`, UnitPrice: 55, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Robert King`, UnitPrice: 46, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Robert King`, UnitPrice: 12.75, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Nancy Davolio`, UnitPrice: 31.23, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Nancy Davolio`, UnitPrice: 2.5, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Michael Suyama`, UnitPrice: 3.6, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Michael Suyama`, UnitPrice: 15.6, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Laura Callahan`, UnitPrice: 4.8, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Laura Callahan`, UnitPrice: 13, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Laura Callahan`, UnitPrice: 30.4, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 9.5, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 53, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 7, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 32.8, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 15, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 24, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 19.5, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 21, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 12.5, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 34, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 21.5, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 9.65, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 7, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 18, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 14, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 16.25, Quantity: 24 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Anne Dodsworth`, UnitPrice: 12.5, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Anne Dodsworth`, UnitPrice: 19, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 12, Quantity: 28 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Anne Dodsworth`, UnitPrice: 81, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Anne Dodsworth`, UnitPrice: 12.5, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 10.2, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 12, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 15, Quantity: 28 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 19, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 15.5, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 44, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 35.1, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 12, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Andrew Fuller`, UnitPrice: 3.6, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Andrew Fuller`, UnitPrice: 19.2, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Andrew Fuller`, UnitPrice: 6.2, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 64.8, Quantity: 28 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 27.2, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 31.2, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 24.9, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 14.4, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 7.7, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 7.45, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 18.4, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 32.8, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 34, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 21.5, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 21.5, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 23.25, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 45.6, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 7, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 9.65, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 6, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 18.4, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 10, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Margaret Peacock`, UnitPrice: 9.2, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Margaret Peacock`, UnitPrice: 20, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 7.75, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 17.45, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 32, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 7.75, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 22, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 18, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 7.45, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 263.5, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Margaret Peacock`, UnitPrice: 9.5, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 31, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 45.6, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 18, Quantity: 35 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 9.5, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 18, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 31.23, Quantity: 35 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 123.79, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 19, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 4.5, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 25.89, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Anne Dodsworth`, UnitPrice: 7.45, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Margaret Peacock`, UnitPrice: 45.6, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Janet Leverling`, UnitPrice: 19.5, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Janet Leverling`, UnitPrice: 18, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Laura Callahan`, UnitPrice: 21, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Laura Callahan`, UnitPrice: 10, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Laura Callahan`, UnitPrice: 18, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Anne Dodsworth`, UnitPrice: 62.5, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Michael Suyama`, UnitPrice: 10, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Michael Suyama`, UnitPrice: 9.5, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `Spain`, ShipCity: `Madrid`, ShipName: `Bólido Comidas preparadas`, Salesperson: `Margaret Peacock`, UnitPrice: 6.2, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Spain`, ShipCity: `Madrid`, ShipName: `Bólido Comidas preparadas`, Salesperson: `Anne Dodsworth`, UnitPrice: 7, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Spain`, ShipCity: `Madrid`, ShipName: `Bólido Comidas preparadas`, Salesperson: `Margaret Peacock`, UnitPrice: 39, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Spain`, ShipCity: `Madrid`, ShipName: `Bólido Comidas preparadas`, Salesperson: `Margaret Peacock`, UnitPrice: 123.79, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Anne Dodsworth`, UnitPrice: 5.9, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 11.2, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 42.4, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 5.9, Quantity: 24 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 50, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 7.2, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 26.6, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 19, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 31, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 21.5, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 18, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 31, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 18, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Robert King`, UnitPrice: 12, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Robert King`, UnitPrice: 33.25, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Laura Callahan`, UnitPrice: 34.8, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Laura Callahan`, UnitPrice: 6, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 50, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 7.7, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 36.8, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Andrew Fuller`, UnitPrice: 18.4, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Andrew Fuller`, UnitPrice: 14, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Andrew Fuller`, UnitPrice: 53, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Steven Buchanan`, UnitPrice: 17.45, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Steven Buchanan`, UnitPrice: 12.5, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Steven Buchanan`, UnitPrice: 21.05, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Anne Dodsworth`, UnitPrice: 25, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Anne Dodsworth`, UnitPrice: 17.45, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Anne Dodsworth`, UnitPrice: 39, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 18.4, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Laura Callahan`, UnitPrice: 17.45, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Laura Callahan`, UnitPrice: 49.3, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Laura Callahan`, UnitPrice: 7.75, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 22, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 30, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 40, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 9.5, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 38, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 19.5, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 36, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 25, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 23.25, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 9.2, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 24.8, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 19.2, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 39.4, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 12, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 2, Quantity: 49 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 44, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 10, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 34, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 34.8, Quantity: 35 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Michael Suyama`, UnitPrice: 38, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Andrew Fuller`, UnitPrice: 25, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Andrew Fuller`, UnitPrice: 31, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Andrew Fuller`, UnitPrice: 39, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Andrew Fuller`, UnitPrice: 49.3, Quantity: 60 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Nancy Davolio`, UnitPrice: 40, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Nancy Davolio`, UnitPrice: 7.75, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Anne Dodsworth`, UnitPrice: 7.7, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Anne Dodsworth`, UnitPrice: 15.5, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Anne Dodsworth`, UnitPrice: 44, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 31.2, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 14.7, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 7.6, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 18, Quantity: 60 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 34, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Michael Suyama`, UnitPrice: 21, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Michael Suyama`, UnitPrice: 19.45, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Nancy Davolio`, UnitPrice: 4.5, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Nancy Davolio`, UnitPrice: 49.3, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Robert King`, UnitPrice: 8, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Robert King`, UnitPrice: 26.6, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Andrew Fuller`, UnitPrice: 24, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Andrew Fuller`, UnitPrice: 30.4, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Janet Leverling`, UnitPrice: 8, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Janet Leverling`, UnitPrice: 14.7, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Janet Leverling`, UnitPrice: 42.4, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Anne Dodsworth`, UnitPrice: 15, Quantity: 7 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Anne Dodsworth`, UnitPrice: 34.8, Quantity: 1 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Michael Suyama`, UnitPrice: 6, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Michael Suyama`, UnitPrice: 10, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Michael Suyama`, UnitPrice: 2.5, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Michael Suyama`, UnitPrice: 20, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Janet Leverling`, UnitPrice: 55, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Nancy Davolio`, UnitPrice: 30, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Nancy Davolio`, UnitPrice: 46, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Argentina`, ShipCity: `Buenos Aires`, ShipName: `Cactus Comidas para llevar`, Salesperson: `Laura Callahan`, UnitPrice: 12.5, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Argentina`, ShipCity: `Buenos Aires`, ShipName: `Cactus Comidas para llevar`, Salesperson: `Laura Callahan`, UnitPrice: 2.5, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Argentina`, ShipCity: `Buenos Aires`, ShipName: `Cactus Comidas para llevar`, Salesperson: `Laura Callahan`, UnitPrice: 14, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Centro comercial Moctezuma`, Salesperson: `Margaret Peacock`, UnitPrice: 8, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Centro comercial Moctezuma`, Salesperson: `Margaret Peacock`, UnitPrice: 20.8, Quantity: 1 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Steven Buchanan`, UnitPrice: 8, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 26.6, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 38, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Nancy Davolio`, UnitPrice: 6, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Nancy Davolio`, UnitPrice: 14, Quantity: 28 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Nancy Davolio`, UnitPrice: 49.3, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Nancy Davolio`, UnitPrice: 36, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Margaret Peacock`, UnitPrice: 26, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Margaret Peacock`, UnitPrice: 38, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Margaret Peacock`, UnitPrice: 43.9, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Janet Leverling`, UnitPrice: 43.9, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 31, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 34, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Robert King`, UnitPrice: 10, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Robert King`, UnitPrice: 53, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Steven Buchanan`, UnitPrice: 3.6, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Steven Buchanan`, UnitPrice: 19.2, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 14.4, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 8, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Margaret Peacock`, UnitPrice: 38, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Margaret Peacock`, UnitPrice: 49.3, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Janet Leverling`, UnitPrice: 19, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Rio de Janeiro`, ShipName: `Comércio Mineiro`, Salesperson: `Laura Callahan`, UnitPrice: 17, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Laura Callahan`, UnitPrice: 99, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Rio de Janeiro`, ShipName: `Comércio Mineiro`, Salesperson: `Laura Callahan`, UnitPrice: 16, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Laura Callahan`, UnitPrice: 10.4, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Margaret Peacock`, UnitPrice: 16.8, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Margaret Peacock`, UnitPrice: 9.6, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Rio de Janeiro`, ShipName: `Comércio Mineiro`, Salesperson: `Margaret Peacock`, UnitPrice: 30.4, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Rio de Janeiro`, ShipName: `Comércio Mineiro`, Salesperson: `Nancy Davolio`, UnitPrice: 12, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Andrew Fuller`, UnitPrice: 19.45, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Andrew Fuller`, UnitPrice: 28.5, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Laura Callahan`, UnitPrice: 15.2, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Laura Callahan`, UnitPrice: 16.8, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Laura Callahan`, UnitPrice: 27.8, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Andrew Fuller`, UnitPrice: 4.8, Quantity: 1 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Andrew Fuller`, UnitPrice: 7.2, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Robert King`, UnitPrice: 21.35, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Robert King`, UnitPrice: 97, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 14.7, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 30.4, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Andrew Fuller`, UnitPrice: 36.4, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Andrew Fuller`, UnitPrice: 36.8, Quantity: 24 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Andrew Fuller`, UnitPrice: 26.2, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Andrew Fuller`, UnitPrice: 6.2, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Margaret Peacock`, UnitPrice: 7.2, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Michael Suyama`, UnitPrice: 10, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Michael Suyama`, UnitPrice: 19.2, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Michael Suyama`, UnitPrice: 28.8, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 19, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 2.5, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 38, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 32, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 18, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Nancy Davolio`, UnitPrice: 12.5, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Nancy Davolio`, UnitPrice: 24, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Nancy Davolio`, UnitPrice: 33.25, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Margaret Peacock`, UnitPrice: 14.4, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Robert King`, UnitPrice: 10, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Robert King`, UnitPrice: 32, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Robert King`, UnitPrice: 28.5, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Margaret Peacock`, UnitPrice: 36, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Margaret Peacock`, UnitPrice: 15, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 9.2, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 21, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Margaret Peacock`, UnitPrice: 10, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Margaret Peacock`, UnitPrice: 6.2, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Margaret Peacock`, UnitPrice: 14.4, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Janet Leverling`, UnitPrice: 4.8, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Robert King`, UnitPrice: 21, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Nancy Davolio`, UnitPrice: 9.65, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Nancy Davolio`, UnitPrice: 11.2, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Nancy Davolio`, UnitPrice: 28.8, Quantity: 7 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 18, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 31, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 10, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Andrew Fuller`, UnitPrice: 7, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 39, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 14, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 9.65, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Nancy Davolio`, UnitPrice: 28.8, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Nancy Davolio`, UnitPrice: 17.2, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Nancy Davolio`, UnitPrice: 99, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Nancy Davolio`, UnitPrice: 14.4, Quantity: 35 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Nancy Davolio`, UnitPrice: 16, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Robert King`, UnitPrice: 25.89, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Robert King`, UnitPrice: 17, Quantity: 24 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 22, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 21, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 30, Quantity: 60 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 46, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 34.8, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 31.23, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 2.5, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 21.05, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 21.5, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 30, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 24, Quantity: 35 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 34, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Robert King`, UnitPrice: 18, Quantity: 25 }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/grids/grid/theming/src/index.css b/samples/grids/grid/theming/src/index.css new file mode 100644 index 0000000000..018b8ef7db --- /dev/null +++ b/samples/grids/grid/theming/src/index.css @@ -0,0 +1,246 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.themed-grid { + --ig-grid-grid-elevation: var(--ig-elevation-2); + --ig-grid-drag-elevation: var(--ig-elevation-5); + --ig-grid-grouparea-color: color-mix(in srgb, var(--ig-grid-header-text-color) 60%, var(--ig-grid-header-background)); + --ig-grid-grouparea-background: var(--ig-grid-header-background); + --ig-grid-drop-area-text-color: color-mix(in srgb, var(--ig-grid-header-text-color) 80%, var(--ig-grid-header-background)); + --ig-grid-drop-area-icon-color: var(--ig-grid-drop-area-text-color); + --ig-grid-drop-area-background: lch(from var(--ig-grid-header-background) calc(l + (50 - l) * 0.1 + sign(50 - l) * 5) c h); + --ig-grid-drop-area-on-drop-background: lch(from var(--ig-grid-header-background) calc(l + (50 - l) * 0.1 + sign(50 - l) * 5) c h); + --ig-grid-header-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-sortable-header-icon-hover-color: var(--ig-grid-accent-color); + --ig-grid-sorted-header-icon-color: hsl(from var(--ig-grid-accent-color) h s l/0.7); + --ig-grid-header-border-width: 0.0625rem; + --ig-grid-header-border-style: solid; + --ig-grid-header-border-color: color-mix(in srgb, var(--ig-grid-header-text-color) 20%, var(--ig-grid-header-background)); + --ig-grid-action-border-color: color-mix(in srgb, var(--ig-grid-foreground) 20%, var(--ig-grid-background)); + --ig-grid-ghost-header-background: var(--ig-grid-header-background); + --ig-grid-ghost-header-text-color: var(--ig-grid-header-text-color); + --ig-grid-ghost-header-icon-color: var(--ig-grid-header-text-color); + --ig-grid-excel-filtering-header-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-subheader-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-icon-color: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-hover-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-hover-icon-color: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-selected-icon-color: var(--ig-grid-accent-color); + --ig-grid-excel-filtering-actions-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-background)); + --ig-grid-excel-filtering-actions-disabled-foreground: color-mix(in srgb, var(--ig-grid-foreground) 50%, var(--ig-grid-background)); + --ig-grid-excel-filtering-border-color: color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)); + --ig-grid-grid-border-color: transparent; + --ig-grid-content-background: var(--ig-grid-background); + --ig-grid-content-text-color: var(--ig-grid-foreground); + --ig-grid-row-odd-background: var(--ig-grid-background); + --ig-grid-row-even-background: var(--ig-grid-background); + --ig-grid-body-column-border-color-odd: var(--ig-grid-background); + --ig-grid-body-column-border-color-even: var(--ig-grid-background); + --ig-grid-row-odd-text-color: var(--ig-grid-foreground); + --ig-grid-row-even-text-color: inherit; + --ig-grid-tree-selected-filtered-row-text-color: var(--ig-secondary-300); + --ig-grid-row-selected-text-color: var(--ig-grid-foreground); + --ig-grid-row-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-row-odd-background)); + --ig-grid-body-column-hover-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-row-odd-background)); + --ig-grid-row-hover-text-color: var(--ig-grid-foreground); + --ig-grid-row-border-width: 0.0625rem; + --ig-grid-row-border-style: solid; + --ig-grid-row-border-color: hsl(from color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)) h s l/0.38); + --ig-grid-row-drag-color: var(--ig-grid-foreground); + --ig-grid-pinned-border-width: 0.125rem; + --ig-grid-pinned-border-style: solid; + --ig-grid-pinned-border-color: color-mix(in srgb, var(--ig-grid-foreground) 20%, var(--ig-grid-background)); + --ig-grid-cell-active-border-width: 0.0625rem; + --ig-grid-cell-active-border-color: var(--ig-grid-accent-color); + --ig-grid-cell-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 24%, var(--ig-grid-background)); + --ig-grid-tree-selected-filtered-cell-text-color: var(--ig-secondary-500); + --ig-grid-cell-selected-text-color: var(--ig-grid-foreground); + --ig-grid-cell-editing-background: var(--ig-grid-background); + --ig-grid-cell-editing-foreground: var(--ig-grid-foreground); + --ig-grid-cell-editing-focus-foreground: var(--ig-grid-foreground); + --ig-grid-edit-mode-color: var(--ig-grid-accent-color); + --ig-grid-edited-row-indicator: color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)); + --ig-grid-cell-new-color: var(--ig-grid-foreground); + --ig-grid-cell-edited-value-color: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-cell-disabled-color: color-mix(in srgb, var(--ig-grid-foreground) 50%, var(--ig-grid-background)); + --ig-grid-resize-line-color: var(--ig-grid-accent-color); + --ig-grid-drop-indicator-color: var(--ig-grid-accent-color); + --ig-grid-group-label-column-name-text: var(--ig-grid-accent-color); + --ig-grid-group-label-icon: var(--ig-grid-accent-color); + --ig-grid-group-label-text: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-expand-all-icon-color: color-mix(in srgb, var(--ig-grid-foreground) 70%, var(--ig-grid-background)); + --ig-grid-expand-all-icon-hover-color: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-expand-icon-color: color-mix(in srgb, var(--ig-grid-foreground) 60%, var(--ig-grid-background)); + --ig-grid-expand-icon-hover-color: color-mix(in srgb, var(--ig-grid-foreground) 70%, var(--ig-grid-background)); + --ig-grid-active-expand-icon-color: var(--ig-gray-500); + --ig-grid-active-expand-icon-hover-color: var(--ig-primary-500); + --ig-grid-group-count-background: color-mix(in srgb, var(--ig-grid-foreground) 12%, var(--ig-grid-background)); + --ig-grid-group-count-text-color: var(--ig-grid-foreground); + --ig-grid-group-row-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-group-row-selected-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-filtering-header-background: var(--ig-grid-background); + --ig-grid-filtering-header-text-color: var(--ig-grid-foreground); + --ig-grid-filtering-row-background: var(--ig-grid-background); + --ig-grid-filtering-row-text-color: var(--ig-grid-foreground); + --ig-grid-filtering-dialog-background: var(--ig-grid-background); + --ig-grid-tree-filtered-text-color: var(--ig-gray-500); + --ig-grid-row-highlight: var(--ig-grid-accent-color); + --ig-grid-row-ghost-background: var(--ig-grid-background); + --ig-grid-row-ghost-border-color: hsl(from color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)) h s l/0.38); + --ig-grid-drop-area-border-radius: clamp(0rem, calc(var(--ig-radius-factor, 1) * 1rem), 1rem); + --ig-grid-summaries-border-color: var(--ig-gray-400); + --ig-grid-summaries-patch-background: color-mix(in srgb, var(--ig-grid-foreground) 12%, var(--ig-grid-background)); + --ig-grid-active-state-border-style: solid; + --ig-grid-header-text-color: var(--ig-grid-foreground); + --ig-grid-header-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-header-background)); + --ig-grid-header-selected-text-color: var(--ig-grid-header-text-color); + --ig-grid-row-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-background)); + --ig-grid-row-selected-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 16%, var(--ig-grid-background)); + --ig-grid-row-selected-hover-text-color: var(--ig-grid-foreground); + --ig-grid-body-column-selected-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 16%, var(--ig-grid-background)); + --ig-grid-body-column-hover-selected-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-background)); + --ig-grid-cell-selected-within-background: color-mix(in srgb, var(--ig-grid-accent-color) 24%, var(--ig-grid-background)); + --ig-grid-cell-selected-within-text-color: var(--ig-grid-foreground); + --ig-grid-foreground: hsla(from color(from var(--ig-grid-background) var(--y-contrast)) h 0 l/1); +} + +.theme-studio { + --ig-size: var(--ig-size-large); + --ig-radius-factor: 0.6; + + --ig-grid-background: #faf4ed; + --ig-grid-foreground: #575279; + --ig-grid-accent-color: #907aa9; + --ig-grid-header-background: #fffaf3; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-header-border-color: #dfdad9; + --ig-grid-row-border-color: #f2e9e1; + --ig-grid-grid-border-color: #dfdad9; + --ig-grid-grid-elevation: 0 0.0625rem 0.1875rem rgba(87, 82, 121, 0.1), 0 0.0625rem 0.125rem rgba(87, 82, 121, 0.06); +} + +.theme-ledger { + --ig-size: var(--ig-size-small); + --ig-radius-factor: 0; + + --ig-grid-background: #eceff4; + --ig-grid-foreground: #2e3440; + --ig-grid-accent-color: #5e81ac; + --ig-grid-header-background: #d8dee9; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-row-odd-background: #eceff4; + --ig-grid-row-even-background: #e5e9f0; + --ig-grid-body-column-border-color-odd: #d8dee9; + --ig-grid-body-column-border-color-even: #d8dee9; + --ig-grid-row-border-color: #d8dee9; + --ig-grid-grid-border-color: #c8d0dc; +} + +.theme-editorial { + --ig-size: var(--ig-size-large); + --ig-radius-factor: 0; + + --ig-grid-background: #333c43; + --ig-grid-foreground: #d3c6aa; + --ig-grid-accent-color: #a7c080; + --ig-grid-header-background: #3a464c; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-row-border-color: #333c43; + --ig-grid-grid-border-color: #333c43; +} + +.theme-midnight { + --ig-size: var(--ig-size-medium); + --ig-radius-factor: 0.25; + + --ig-grid-background: #282a36; + --ig-grid-foreground: #f8f8f2; + --ig-grid-accent-color: #bd93f9; + --ig-grid-header-background: #21222c; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-body-column-border-color-odd: #44475a; + --ig-grid-body-column-border-color-even: #44475a; + --ig-grid-row-border-color: #44475a; + --ig-grid-grid-border-color: #44475a; +} + +.grid-theming-sample { + display: flex; + flex-direction: column; + gap: 1rem; + padding: 0.5rem; + box-sizing: border-box; +} + +.theme-picker { + display: flex; + flex-direction: column; + gap: 0.375rem; + align-self: flex-start; +} + +.theme-picker__label { + font-size: 0.75rem; + font-weight: 500; + letter-spacing: 0.04em; + color: var(--ig-gray-700); +} + +.theme-picker .theme-picker__hint { + margin: 0; + font-size: 0.75rem; + line-height: 1.45; + color: var(--ig-gray-600); +} + +.theme-picker__hint code { + font-family: 'JetBrains Mono', 'Fira Code', Consolas, monospace; + font-size: 0.6875rem; + font-variant-ligatures: none; +} + +.theme-swatch { + display: inline-block; + min-width: 0.875rem; + aspect-ratio: 1; + border-radius: 50%; + border: 0.0625rem solid var(--ig-gray-300); + vertical-align: -0.125rem; + background: linear-gradient(135deg, var(--swatch-bg) 0 50%, var(--swatch-accent) 50% 100%); +} + +.theme-swatch--studio { + --swatch-bg: #faf4ed; + --swatch-accent: #907aa9; +} + +.theme-swatch--ledger { + --swatch-bg: #eceff4; + --swatch-accent: #5e81ac; +} + +.theme-swatch--editorial { + --swatch-bg: #333c43; + --swatch-accent: #a7c080; +} + +.theme-swatch--midnight { + --swatch-bg: #282a36; + --swatch-accent: #bd93f9; +} + +igc-button-group { + --item-text-color: unset; + --elevation: unset; + + width: fit-content; +} + +igc-toggle-button { + max-width: 7.875rem; +} + +igx-grid-excel-style-filtering { + --ig-size: 3; +} \ No newline at end of file diff --git a/samples/grids/grid/theming/src/index.tsx b/samples/grids/grid/theming/src/index.tsx new file mode 100644 index 0000000000..10512bde19 --- /dev/null +++ b/samples/grids/grid/theming/src/index.tsx @@ -0,0 +1,153 @@ +import React, { useState } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; + +import { + IgrGrid, + IgrGridToolbar, + IgrGridToolbarTitle, + IgrGridToolbarActions, + IgrGridToolbarPinning, + IgrGridToolbarHiding, + IgrColumn, + IgrPaginator, + IgrNumberSummaryOperand, + IgrSummaryResult, +} from 'igniteui-react-grids'; +import { IgrButtonGroup, IgrToggleButton } from 'igniteui-react'; +import { InvoicesData } from './InvoicesData'; + +import 'igniteui-react-grids/grids/themes/light/material.css'; + +class CompactSummary extends IgrNumberSummaryOperand { + public operate(data?: any[]): IgrSummaryResult[] { + return super + .operate(data) + .filter((r: IgrSummaryResult) => r.key === 'count' || r.key === 'sum'); + } +} + +const invoicesData = new InvoicesData(); + +const formatCurrency = (value: number): string => '$' + value.toFixed(2); + +export default function GridTheming() { + const [activeTheme, setActiveTheme] = useState('theme-studio'); + + return ( +
+
+
+ Pick a theme + ) => setActiveTheme(e.detail)} + > + + Studio + + + Ledger + + + + Editorial + + + + Midnight + + +

+ Custom themes, not built-in: each is a set of{' '} + --ig-grid-* variables with its own background and + accent. +

+
+
+ + + Invoices + + + + + + + + + + + + + +
+
+
+ ); +} + +// rendering above component in the React DOM +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render(); diff --git a/samples/grids/grid/theming/tsconfig.json b/samples/grids/grid/theming/tsconfig.json new file mode 100644 index 0000000000..8c0d146f95 --- /dev/null +++ b/samples/grids/grid/theming/tsconfig.json @@ -0,0 +1,44 @@ +{ + "compilerOptions": { + "resolveJsonModule": true, + "esModuleInterop": true, + "baseUrl": ".", + "outDir": "build/dist", + "module": "esnext", + "target": "es5", + "lib": [ + "es6", + "dom" + ], + "sourceMap": true, + "allowJs": true, + "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, + "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/grids/grid/theming/vite.config.js b/samples/grids/grid/theming/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/grids/grid/theming/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/grids/hierarchical-grid/theming/.devcontainer/devcontainer.json b/samples/grids/hierarchical-grid/theming/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..e0b8e9c925 --- /dev/null +++ b/samples/grids/hierarchical-grid/theming/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:22" +} \ No newline at end of file diff --git a/samples/grids/hierarchical-grid/theming/.eslintrc.js b/samples/grids/hierarchical-grid/theming/.eslintrc.js new file mode 100644 index 0000000000..7168b71441 --- /dev/null +++ b/samples/grids/hierarchical-grid/theming/.eslintrc.js @@ -0,0 +1,78 @@ +// 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" + } + } + ] + }; \ No newline at end of file diff --git a/samples/grids/hierarchical-grid/theming/ReadMe.md b/samples/grids/hierarchical-grid/theming/ReadMe.md new file mode 100644 index 0000000000..293e0f5320 --- /dev/null +++ b/samples/grids/hierarchical-grid/theming/ReadMe.md @@ -0,0 +1,56 @@ + + + +This folder contains implementation of React application with example of Theming feature using [Hierarchical Grid](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/grids/hierarchical-grid/theming +``` + +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/grids/hierarchical-grid/theming/index.html b/samples/grids/hierarchical-grid/theming/index.html new file mode 100644 index 0000000000..7ccd41dace --- /dev/null +++ b/samples/grids/hierarchical-grid/theming/index.html @@ -0,0 +1,12 @@ + + + + Sample | Ignite UI | React | infragistics + + + + +
+ + + \ No newline at end of file diff --git a/samples/grids/hierarchical-grid/theming/package.json b/samples/grids/hierarchical-grid/theming/package.json new file mode 100644 index 0000000000..9ec13a8ebc --- /dev/null +++ b/samples/grids/hierarchical-grid/theming/package.json @@ -0,0 +1,49 @@ +{ + "name": "example-ignite-ui-react", + "description": "This project provides example of using Ignite UI for React components", + "author": "Infragistics", + "version": "1.4.0", + "license": "", + "homepage": ".", + "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", + "lint": "eslint ./src/**/*.{ts,tsx}" + }, + "dependencies": { + "igniteui-dockmanager": "^2.2.1", + "igniteui-react": "19.9.0", + "igniteui-react-core": "19.6.0", + "igniteui-react-grids": "19.10.0", + "igniteui-webcomponents": "~7.4.1", + "lit-html": "^3.2.0", + "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", + "eslint": "^8.33.0", + "eslint-config-react": "^1.1.7", + "eslint-plugin-react": "^7.20.0", + "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/grids/hierarchical-grid/theming/sandbox.config.json b/samples/grids/hierarchical-grid/theming/sandbox.config.json new file mode 100644 index 0000000000..07f53508eb --- /dev/null +++ b/samples/grids/hierarchical-grid/theming/sandbox.config.json @@ -0,0 +1,5 @@ +{ + "infiniteLoopProtection": false, + "hardReloadOnChange": false, + "view": "browser" +} \ No newline at end of file diff --git a/samples/grids/hierarchical-grid/theming/src/SingersData.ts b/samples/grids/hierarchical-grid/theming/src/SingersData.ts new file mode 100644 index 0000000000..a614fca4ca --- /dev/null +++ b/samples/grids/hierarchical-grid/theming/src/SingersData.ts @@ -0,0 +1,1630 @@ +export class SingersDataItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public ID: number; + public Artist: string; + public Photo: string; + public Debut: number; + public GrammyNominations: number; + public GrammyAwards: number; + public HasGrammyAward: boolean; + public Tours: SingersDataItem_ToursItem[]; + public Albums: SingersDataItem_AlbumsItem[]; + +} +export class SingersDataItem_ToursItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public Tour: string; + public StartedOn: string; + public Location: string; + public Headliner: string; + public TouredBy: string; + +} +export class SingersDataItem_AlbumsItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public Album: string; + public LaunchDate: string; + public BillboardReview: number; + public USBillboard200: number; + public Artist: string; + public Songs: SingersDataItem_AlbumsItem_SongsItem[]; + +} +export class SingersDataItem_AlbumsItem_SongsItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public Number: number; + public Title: string; + public Released: string; + public Genre: string; + public Album: string; + +} +export class SingersData extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new SingersDataItem( + { + ID: 0, + Artist: `Naomí Yepes`, + Photo: `https://dl.infragistics.com/x/img/people/names/naomi.png`, + Debut: 2011, + GrammyNominations: 6, + GrammyAwards: 0, + HasGrammyAward: false, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Faithful Tour`, + StartedOn: `Sep 12`, + Location: `Worldwide`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `City Jam Sessions`, + StartedOn: `Aug 13`, + Location: `North America`, + Headliner: `YES`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Christmas NYC 2013`, + StartedOn: `Dec 13`, + Location: `United States`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Christmas NYC 2014`, + StartedOn: `Dec 14`, + Location: `North America`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Watermelon Tour`, + StartedOn: `Feb 15`, + Location: `Worldwide`, + Headliner: `YES`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Christmas NYC 2016`, + StartedOn: `Dec 16`, + Location: `United States`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `The Dragon Tour`, + StartedOn: `Feb 17`, + Location: `Worldwide`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Organic Sessions`, + StartedOn: `Aug 18`, + Location: `United States, England`, + Headliner: `YES`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Hope World Tour`, + StartedOn: `Mar 19`, + Location: `Worldwide`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Initiation`, + LaunchDate: `September 3, 2013`, + BillboardReview: 86, + USBillboard200: 1, + Artist: `Naomí Yepes`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Dream Driven`, + LaunchDate: `August 25, 2014`, + BillboardReview: 81, + USBillboard200: 1, + Artist: `Naomí Yepes`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `Intro`, + Released: `29 Apr 2021`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Ferocious`, + Released: `28 Apr 2014`, + Genre: `Dance-pop R&B`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Going crazy`, + Released: `10 Feb 2015`, + Genre: `Dance-pop EDM`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Future past`, + Released: `14 Jul 2021`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Roaming like them`, + Released: `2 Jul 2014`, + Genre: `Electro house Electropop`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Last Wishes`, + Released: `12 Aug 2014`, + Genre: `R&B`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Stay where you are`, + Released: `14 Aug 1998`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Imaginarium`, + Released: `15 Sep 2013`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Tell me`, + Released: `30 Sep 2014`, + Genre: `Synth-pop R&B`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Shredded into pieces`, + Released: `2 Sep 2011`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 11, + Title: `Capture this moment`, + Released: `5 Jan 2011`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 12, + Title: `Dream Driven`, + Released: `12 Dec 1999`, + Genre: `*`, + Album: `Dream Driven` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `The dragon journey`, + LaunchDate: `May 20, 2016`, + BillboardReview: 60, + USBillboard200: 2, + Artist: `Naomí Yepes`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Organic me`, + LaunchDate: `August 17, 2018`, + BillboardReview: 82, + USBillboard200: 1, + Artist: `Naomí Yepes`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `I Love`, + Released: `11 May 2019`, + Genre: `Crunk reggaeton`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Early Morning Compass`, + Released: `15 Jan 2020`, + Genre: `mystical parody-bap `, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Key Fields Forever`, + Released: `2 Jan 2020`, + Genre: `Dance-pop EDM`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Stand by Your Goblins`, + Released: `20 Nov 2019`, + Genre: `*`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Mad to Walk`, + Released: `12 May 2019`, + Genre: `Electro house Electropop`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Alice's Waiting`, + Released: `28 Jan 2020`, + Genre: `R&B`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `We Shall Kiss`, + Released: `30 Oct 2019`, + Genre: `*`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Behind Single Ants`, + Released: `2 Oct 2019`, + Genre: `*`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Soap Autopsy`, + Released: `8 Aug 2019`, + Genre: `Synth-pop R&B`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Have You Met Rich?`, + Released: `1 Jul 2019`, + Genre: `ethno-tunes`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 11, + Title: `Livin' on a Banana`, + Released: `22 Nov 2019`, + Genre: `Crunk reggaeton`, + Album: `Organic me` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Curiosity`, + LaunchDate: `December 7, 2019`, + BillboardReview: 75, + USBillboard200: 12, + Artist: `Naomí Yepes`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 1, + Artist: `Babila Ebwélé`, + Photo: `https://dl.infragistics.com/x/img/people/names/babila.png`, + Debut: 2009, + GrammyNominations: 0, + GrammyAwards: 11, + HasGrammyAward: true, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `The last straw`, + StartedOn: `May 09`, + Location: `Europe, Asia`, + Headliner: `NO`, + TouredBy: `Babila Ebwélé` + }), + new SingersDataItem_ToursItem( + { + Tour: `No foundations`, + StartedOn: `Jun 04`, + Location: `United States, Europe`, + Headliner: `YES`, + TouredBy: `Babila Ebwélé` + }), + new SingersDataItem_ToursItem( + { + Tour: `Crazy eyes`, + StartedOn: `Jun 08`, + Location: `North America`, + Headliner: `NO`, + TouredBy: `Babila Ebwélé` + }), + new SingersDataItem_ToursItem( + { + Tour: `Zero gravity`, + StartedOn: `Apr 19`, + Location: `United States`, + Headliner: `NO`, + TouredBy: `Babila Ebwélé` + }), + new SingersDataItem_ToursItem( + { + Tour: `Battle with myself`, + StartedOn: `Mar 08`, + Location: `North America`, + Headliner: `YES`, + TouredBy: `Babila Ebwélé` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Pushing up daisies`, + LaunchDate: `May 31, 2000`, + BillboardReview: 86, + USBillboard200: 42, + Artist: `Babila Ebwélé`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `Wood Shavings Forever`, + Released: `9 Jun 2019`, + Genre: `*`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Early Morning Drive`, + Released: `20 May 2019`, + Genre: `*`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Don't Natter`, + Released: `10 Jun 2019`, + Genre: `adult calypso-industrial`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Stairway to Balloons`, + Released: `18 Jun 2019`, + Genre: `calypso and mariachi`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `The Number of your Apple`, + Released: `29 Oct 2019`, + Genre: `*`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Your Delightful Heart`, + Released: `24 Feb 2019`, + Genre: `*`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Nice Weather For Balloons`, + Released: `1 Aug 2019`, + Genre: `rap-hop`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `The Girl From Cornwall`, + Released: `4 May 2019`, + Genre: `enigmatic rock-and-roll`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Here Without Jack`, + Released: `24 Oct 2019`, + Genre: `*`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Born Rancid`, + Released: `19 Mar 2019`, + Genre: `*`, + Album: `Pushing up daisies` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Death's dead`, + LaunchDate: `June 8, 2016`, + BillboardReview: 85, + USBillboard200: 95, + Artist: `Babila Ebwélé`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `Men Sound Better With You`, + Released: `20 Oct 2019`, + Genre: `rap-hop`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Ghost in My Rod`, + Released: `5 Oct 2019`, + Genre: `enigmatic rock-and-roll`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Bed of Men`, + Released: `14 Nov 2019`, + Genre: `whimsical comedy-grass `, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Don't Push`, + Released: `2 Jan 2020`, + Genre: `unblack electronic-trip-hop`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Nice Weather For Men`, + Released: `18 Dec 2019`, + Genre: `*`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Rancid Rhapsody`, + Released: `10 Mar 2019`, + Genre: `*`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Push, Push, Push!`, + Released: `21 Feb 2019`, + Genre: `*`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `My Name is Sarah`, + Released: `15 Nov 2019`, + Genre: `*`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `The Girl From My Hotel`, + Released: `6 Nov 2019`, + Genre: `*`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Free Box`, + Released: `18 Apr 2019`, + Genre: `splitter-funk`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 11, + Title: `Hotel Cardiff`, + Released: `30 Dec 2019`, + Genre: `guilty pleasure ebm`, + Album: `Death's dead` + })] + + })] + + }), + new SingersDataItem( + { + ID: 2, + Artist: `Ahmad Nazeri`, + Photo: `https://dl.infragistics.com/x/img/people/names/ahmad.png`, + Debut: 2004, + GrammyNominations: 3, + GrammyAwards: 1, + HasGrammyAward: true, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Emergency`, + LaunchDate: `March 6, 2004`, + BillboardReview: 98, + USBillboard200: 69, + Artist: `Ahmad Nazeri`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Bursting bubbles`, + LaunchDate: `April 17, 2006`, + BillboardReview: 69, + USBillboard200: 39, + Artist: `Ahmad Nazeri`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 3, + Artist: `Kimmy McIlmorie`, + Photo: `https://dl.infragistics.com/x/img/people/names/kimmy.png`, + Debut: 2007, + GrammyNominations: 21, + GrammyAwards: 3, + HasGrammyAward: true, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Here we go again`, + LaunchDate: `November 18, 2017`, + BillboardReview: 68, + USBillboard200: 1, + Artist: `Kimmy McIlmorie`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 4, + Artist: `Mar Rueda`, + Photo: `https://dl.infragistics.com/x/img/people/names/mar.png`, + Debut: 1996, + GrammyNominations: 14, + GrammyAwards: 2, + HasGrammyAward: true, + Tours: [ + ] + , + Albums: [ + ] + + }), + new SingersDataItem( + { + ID: 5, + Artist: `Izabella Tabakova`, + Photo: `https://dl.infragistics.com/x/img/people/names/izabella.png`, + Debut: 2017, + GrammyNominations: 7, + GrammyAwards: 11, + HasGrammyAward: true, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Final breath`, + StartedOn: `Jun 13`, + Location: `Europe`, + Headliner: `YES`, + TouredBy: `Izabella Tabakova` + }), + new SingersDataItem_ToursItem( + { + Tour: `Once bitten`, + StartedOn: `Dec 18`, + Location: `Australia, United States`, + Headliner: `NO`, + TouredBy: `Izabella Tabakova` + }), + new SingersDataItem_ToursItem( + { + Tour: `Code word`, + StartedOn: `Sep 19`, + Location: `United States, Europe`, + Headliner: `NO`, + TouredBy: `Izabella Tabakova` + }), + new SingersDataItem_ToursItem( + { + Tour: `Final draft`, + StartedOn: `Sep 17`, + Location: `United States, Europe`, + Headliner: `YES`, + TouredBy: `Izabella Tabakova` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Once bitten`, + LaunchDate: `July 16, 2007`, + BillboardReview: 79, + USBillboard200: 53, + Artist: `Izabella Tabakova`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `Whole Lotta Super Cats`, + Released: `21 May 2019`, + Genre: `*`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Enter Becky`, + Released: `16 Jan 2020`, + Genre: `*`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Your Cheatin' Flamingo`, + Released: `14 Jan 2020`, + Genre: `*`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Mad to Kiss`, + Released: `6 Nov 2019`, + Genre: `Synth-pop R&B`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Hotel Prague`, + Released: `20 Oct 2019`, + Genre: `ethno-tunes`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Jail on My Mind`, + Released: `31 May 2019`, + Genre: `Crunk reggaeton`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Amazing Blues`, + Released: `29 May 2019`, + Genre: `mystical parody-bap `, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Goody Two Iron Filings`, + Released: `4 Jul 2019`, + Genre: `Electro house Electropop`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `I Love in Your Arms`, + Released: `7 Jun 2019`, + Genre: `R&B`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Truly Madly Amazing`, + Released: `12 Sep 2019`, + Genre: `ethno-tunes`, + Album: `Once bitten` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Your graciousness`, + LaunchDate: `November 17, 2004`, + BillboardReview: 69, + USBillboard200: 30, + Artist: `Izabella Tabakova`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `We Shall Tickle`, + Released: `31 Aug 2019`, + Genre: `old emo-garage `, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Snail Boogie`, + Released: `14 Jun 2019`, + Genre: `*`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Amazing Liz`, + Released: `15 Oct 2019`, + Genre: `*`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `When Sexy Aardvarks Cry`, + Released: `1 Oct 2019`, + Genre: `whimsical comedy-grass `, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Stand By Dave`, + Released: `18 Aug 2019`, + Genre: `unblack electronic-trip-hop`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `The Golf Course is Your Land`, + Released: `2 Apr 2019`, + Genre: `*`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Where Have All the Men Gone?`, + Released: `29 Apr 2019`, + Genre: `*`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Rhythm of the Leg`, + Released: `5 Aug 2019`, + Genre: `ethno-tunes`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Baby, I Need Your Hats`, + Released: `5 Dec 2019`, + Genre: `neuro-tunes`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Stand by Your Cat`, + Released: `25 Jul 2019`, + Genre: `*`, + Album: `Your graciousness` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Dark matters`, + LaunchDate: `November 3, 2002`, + BillboardReview: 79, + USBillboard200: 85, + Artist: `Izabella Tabakova`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 6, + Artist: `Nguyễn Diệp Chi`, + Photo: `https://dl.infragistics.com/x/img/people/names/nguyen.png`, + Debut: 1992, + GrammyNominations: 4, + GrammyAwards: 2, + HasGrammyAward: true, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Library of liberty`, + LaunchDate: `December 22, 2003`, + BillboardReview: 93, + USBillboard200: 5, + Artist: `Nguyễn Diệp Chi`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 7, + Artist: `Eva Lee`, + Photo: `https://dl.infragistics.com/x/img/people/names/eva.png`, + Debut: 2008, + GrammyNominations: 2, + GrammyAwards: 0, + HasGrammyAward: false, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Just a tease`, + LaunchDate: `May 3, 2001`, + BillboardReview: 91, + USBillboard200: 29, + Artist: `Eva Lee`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 8, + Artist: `Siri Jakobsson`, + Photo: `https://dl.infragistics.com/x/img/people/names/siri.png`, + Debut: 1990, + GrammyNominations: 2, + GrammyAwards: 8, + HasGrammyAward: true, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Basket case`, + StartedOn: `Jan 07`, + Location: `Europe, Asia`, + Headliner: `NO`, + TouredBy: `Siri Jakobsson` + }), + new SingersDataItem_ToursItem( + { + Tour: `The bigger fish`, + StartedOn: `Dec 07`, + Location: `United States, Europe`, + Headliner: `YES`, + TouredBy: `Siri Jakobsson` + }), + new SingersDataItem_ToursItem( + { + Tour: `Missed the boat`, + StartedOn: `Jun 09`, + Location: `Europe, Asia`, + Headliner: `NO`, + TouredBy: `Siri Jakobsson` + }), + new SingersDataItem_ToursItem( + { + Tour: `Equivalent exchange`, + StartedOn: `Feb 06`, + Location: `United States, Europe`, + Headliner: `YES`, + TouredBy: `Siri Jakobsson` + }), + new SingersDataItem_ToursItem( + { + Tour: `Damage control`, + StartedOn: `Oct 11`, + Location: `Australia, United States`, + Headliner: `NO`, + TouredBy: `Siri Jakobsson` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Under the bus`, + LaunchDate: `May 14, 2000`, + BillboardReview: 67, + USBillboard200: 67, + Artist: `Siri Jakobsson`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `Jack Broke My Heart At Tesco's`, + Released: `19 Jan 2020`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Cat Deep, Hats High`, + Released: `5 Dec 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `In Snail We Trust`, + Released: `31 May 2019`, + Genre: `hardcore opera`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Liz's Waiting`, + Released: `22 Jul 2019`, + Genre: `emotional C-jam `, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Lifeless Blues`, + Released: `14 Jun 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `I Spin`, + Released: `26 Mar 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Ring of Rock`, + Released: `12 Dec 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Livin' on a Rock`, + Released: `17 Apr 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Your Lifeless Heart`, + Released: `15 Sep 2019`, + Genre: `adult calypso-industrial`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `The High Street on My Mind`, + Released: `11 Nov 2019`, + Genre: `calypso and mariachi`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 11, + Title: `Behind Ugly Curtains`, + Released: `8 May 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 12, + Title: `Where Have All the Curtains Gone?`, + Released: `28 Jun 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 13, + Title: `Ghost in My Apple`, + Released: `14 Dec 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 14, + Title: `I Chatter`, + Released: `30 Nov 2019`, + Genre: `*`, + Album: `Under the bus` + })] + + })] + + }), + new SingersDataItem( + { + ID: 9, + Artist: `Pablo Cambeiro`, + Photo: `https://dl.infragistics.com/x/img/people/names/pablo.png`, + Debut: 2011, + GrammyNominations: 5, + GrammyAwards: 0, + HasGrammyAward: false, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Beads`, + StartedOn: `May 11`, + Location: `Worldwide`, + Headliner: `NO`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Concept art`, + StartedOn: `Dec 18`, + Location: `United States`, + Headliner: `YES`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Glass shoe`, + StartedOn: `Jan 20`, + Location: `Worldwide`, + Headliner: `YES`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Pushing buttons`, + StartedOn: `Feb 15`, + Location: `Europe, Asia`, + Headliner: `NO`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Dark matters`, + StartedOn: `Jan 04`, + Location: `Australia, United States`, + Headliner: `YES`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Greener grass`, + StartedOn: `Sep 09`, + Location: `United States, Europe`, + Headliner: `NO`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Apparatus`, + StartedOn: `Nov 16`, + Location: `Europe`, + Headliner: `NO`, + TouredBy: `Pablo Cambeiro` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Fluke`, + LaunchDate: `August 4, 2017`, + BillboardReview: 93, + USBillboard200: 98, + Artist: `Pablo Cambeiro`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Crowd control`, + LaunchDate: `August 26, 2003`, + BillboardReview: 68, + USBillboard200: 84, + Artist: `Pablo Cambeiro`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `My Bed on My Mind`, + Released: `25 Mar 2019`, + Genre: `ethno-tunes`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Bright Blues`, + Released: `28 Sep 2019`, + Genre: `neuro-tunes`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Sail, Sail, Sail!`, + Released: `5 Mar 2019`, + Genre: `*`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Hotel My Bed`, + Released: `22 Mar 2019`, + Genre: `*`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Gonna Make You Mash`, + Released: `18 May 2019`, + Genre: `*`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Straight Outta America`, + Released: `16 Jan 2020`, + Genre: `hardcore opera`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `I Drive`, + Released: `23 Feb 2019`, + Genre: `emotional C-jam `, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Like a Teddy`, + Released: `31 Aug 2019`, + Genre: `*`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Teddy Boogie`, + Released: `30 Nov 2019`, + Genre: `*`, + Album: `Crowd control` + })] + + })] + + }), + new SingersDataItem( + { + ID: 10, + Artist: `Athar Malakooti`, + Photo: `https://dl.infragistics.com/x/img/people/names/athar.png`, + Debut: 2017, + GrammyNominations: 0, + GrammyAwards: 0, + HasGrammyAward: false, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Pushing up daisies`, + LaunchDate: `February 24, 2016`, + BillboardReview: 74, + USBillboard200: 77, + Artist: `Athar Malakooti`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 11, + Artist: `Marti Valencia`, + Photo: `https://dl.infragistics.com/x/img/people/names/marti.png`, + Debut: 2004, + GrammyNominations: 1, + GrammyAwards: 1, + HasGrammyAward: true, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Cat eat cat world`, + StartedOn: `Sep 00`, + Location: `Worldwide`, + Headliner: `YES`, + TouredBy: `Marti Valencia` + }), + new SingersDataItem_ToursItem( + { + Tour: `Final straw`, + StartedOn: `Sep 06`, + Location: `United States, Europe`, + Headliner: `NO`, + TouredBy: `Marti Valencia` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Nemesis`, + LaunchDate: `June 30, 2004`, + BillboardReview: 94, + USBillboard200: 9, + Artist: `Marti Valencia`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `First chance`, + LaunchDate: `January 7, 2019`, + BillboardReview: 96, + USBillboard200: 19, + Artist: `Marti Valencia`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `My Name is Jason`, + Released: `12 Jul 2019`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Amazing Andy`, + Released: `5 Mar 2019`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `The Number of your Knight`, + Released: `4 Dec 2019`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `I Sail`, + Released: `3 Mar 2019`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Goody Two Hands`, + Released: `11 Oct 2019`, + Genre: `Electro house Electropop`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Careful With That Knife`, + Released: `18 Dec 2019`, + Genre: `R&B`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Four Single Ants`, + Released: `18 Jan 2020`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Kiss Forever`, + Released: `10 Aug 2019`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Rich's Waiting`, + Released: `15 Mar 2019`, + Genre: `Synth-pop R&B`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Japan is Your Land`, + Released: `7 Mar 2019`, + Genre: `ethno-tunes`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 11, + Title: `Pencils in My Banana`, + Released: `21 Jun 2019`, + Genre: `Crunk reggaeton`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 12, + Title: `I Sail in Your Arms`, + Released: `30 Apr 2019`, + Genre: `Synth-pop R&B`, + Album: `First chance` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `God's advocate`, + LaunchDate: `April 29, 2007`, + BillboardReview: 66, + USBillboard200: 37, + Artist: `Marti Valencia`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 12, + Artist: `Alicia Stanger`, + Photo: `https://dl.infragistics.com/x/img/people/names/alicia.png`, + Debut: 2010, + GrammyNominations: 1, + GrammyAwards: 0, + HasGrammyAward: false, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Forever alone`, + LaunchDate: `November 3, 2005`, + BillboardReview: 82, + USBillboard200: 7, + Artist: `Alicia Stanger`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 13, + Artist: `Peter Taylor`, + Photo: `https://dl.infragistics.com/x/img/people/names/peter.png`, + Debut: 2005, + GrammyNominations: 0, + GrammyAwards: 2, + HasGrammyAward: true, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Love`, + StartedOn: `Jun 04`, + Location: `Europe, Asia`, + Headliner: `YES`, + TouredBy: `Peter Taylor` + }), + new SingersDataItem_ToursItem( + { + Tour: `Fault of treasures`, + StartedOn: `Oct 13`, + Location: `North America`, + Headliner: `NO`, + TouredBy: `Peter Taylor` + }), + new SingersDataItem_ToursItem( + { + Tour: `For eternity`, + StartedOn: `Mar 05`, + Location: `United States`, + Headliner: `YES`, + TouredBy: `Peter Taylor` + }), + new SingersDataItem_ToursItem( + { + Tour: `Time flies`, + StartedOn: `Jun 03`, + Location: `North America`, + Headliner: `NO`, + TouredBy: `Peter Taylor` + }), + new SingersDataItem_ToursItem( + { + Tour: `Highest difficulty`, + StartedOn: `Nov 01`, + Location: `Worldwide`, + Headliner: `YES`, + TouredBy: `Peter Taylor` + }), + new SingersDataItem_ToursItem( + { + Tour: `Sleeping dogs`, + StartedOn: `May 04`, + Location: `United States, Europe`, + Headliner: `NO`, + TouredBy: `Peter Taylor` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Decisions decisions`, + LaunchDate: `April 10, 2008`, + BillboardReview: 85, + USBillboard200: 35, + Artist: `Peter Taylor`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Climate changed`, + LaunchDate: `June 20, 2015`, + BillboardReview: 66, + USBillboard200: 89, + Artist: `Peter Taylor`, + Songs: [ + ] + + })] + + }), + ]; + super(...(newItems.slice(0, items))); + } + } +} diff --git a/samples/grids/hierarchical-grid/theming/src/index.css b/samples/grids/hierarchical-grid/theming/src/index.css new file mode 100644 index 0000000000..fd0fd0eebe --- /dev/null +++ b/samples/grids/hierarchical-grid/theming/src/index.css @@ -0,0 +1,256 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.themed-grid { + --ig-grid-grid-elevation: var(--ig-elevation-2); + --ig-grid-drag-elevation: var(--ig-elevation-5); + --ig-grid-grouparea-color: color-mix(in srgb, var(--ig-grid-header-text-color) 60%, var(--ig-grid-header-background)); + --ig-grid-grouparea-background: var(--ig-grid-header-background); + --ig-grid-drop-area-text-color: color-mix(in srgb, var(--ig-grid-header-text-color) 80%, var(--ig-grid-header-background)); + --ig-grid-drop-area-icon-color: var(--ig-grid-drop-area-text-color); + --ig-grid-drop-area-background: lch(from var(--ig-grid-header-background) calc(l + (50 - l) * 0.1 + sign(50 - l) * 5) c h); + --ig-grid-drop-area-on-drop-background: lch(from var(--ig-grid-header-background) calc(l + (50 - l) * 0.1 + sign(50 - l) * 5) c h); + --ig-grid-header-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-sortable-header-icon-hover-color: var(--ig-grid-accent-color); + --ig-grid-sorted-header-icon-color: hsl(from var(--ig-grid-accent-color) h s l/0.7); + --ig-grid-header-border-width: 0.0625rem; + --ig-grid-header-border-style: solid; + --ig-grid-header-border-color: color-mix(in srgb, var(--ig-grid-header-text-color) 20%, var(--ig-grid-header-background)); + --ig-grid-action-border-color: color-mix(in srgb, var(--ig-grid-foreground) 20%, var(--ig-grid-background)); + --ig-grid-ghost-header-background: var(--ig-grid-header-background); + --ig-grid-ghost-header-text-color: var(--ig-grid-header-text-color); + --ig-grid-ghost-header-icon-color: var(--ig-grid-header-text-color); + --ig-grid-excel-filtering-header-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-subheader-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-icon-color: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-hover-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-hover-icon-color: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-selected-icon-color: var(--ig-grid-accent-color); + --ig-grid-excel-filtering-actions-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-background)); + --ig-grid-excel-filtering-actions-disabled-foreground: color-mix(in srgb, var(--ig-grid-foreground) 50%, var(--ig-grid-background)); + --ig-grid-excel-filtering-border-color: color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)); + --ig-grid-grid-border-color: transparent; + --ig-grid-content-background: var(--ig-grid-background); + --ig-grid-content-text-color: var(--ig-grid-foreground); + --ig-grid-row-odd-background: var(--ig-grid-background); + --ig-grid-row-even-background: var(--ig-grid-background); + --ig-grid-body-column-border-color-odd: var(--ig-grid-background); + --ig-grid-body-column-border-color-even: var(--ig-grid-background); + --ig-grid-row-odd-text-color: var(--ig-grid-foreground); + --ig-grid-row-even-text-color: inherit; + --ig-grid-tree-selected-filtered-row-text-color: var(--ig-secondary-300); + --ig-grid-row-selected-text-color: var(--ig-grid-foreground); + --ig-grid-row-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-row-odd-background)); + --ig-grid-body-column-hover-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-row-odd-background)); + --ig-grid-row-hover-text-color: var(--ig-grid-foreground); + --ig-grid-row-border-width: 0.0625rem; + --ig-grid-row-border-style: solid; + --ig-grid-row-border-color: hsl(from color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)) h s l/0.38); + --ig-grid-row-drag-color: var(--ig-grid-foreground); + --ig-grid-pinned-border-width: 0.125rem; + --ig-grid-pinned-border-style: solid; + --ig-grid-pinned-border-color: color-mix(in srgb, var(--ig-grid-foreground) 20%, var(--ig-grid-background)); + --ig-grid-cell-active-border-width: 0.0625rem; + --ig-grid-cell-active-border-color: var(--ig-grid-accent-color); + --ig-grid-cell-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 24%, var(--ig-grid-background)); + --ig-grid-tree-selected-filtered-cell-text-color: var(--ig-secondary-500); + --ig-grid-cell-selected-text-color: var(--ig-grid-foreground); + --ig-grid-cell-editing-background: var(--ig-grid-background); + --ig-grid-cell-editing-foreground: var(--ig-grid-foreground); + --ig-grid-cell-editing-focus-foreground: var(--ig-grid-foreground); + --ig-grid-edit-mode-color: var(--ig-grid-accent-color); + --ig-grid-edited-row-indicator: color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)); + --ig-grid-cell-new-color: var(--ig-grid-foreground); + --ig-grid-cell-edited-value-color: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-cell-disabled-color: color-mix(in srgb, var(--ig-grid-foreground) 50%, var(--ig-grid-background)); + --ig-grid-resize-line-color: var(--ig-grid-accent-color); + --ig-grid-drop-indicator-color: var(--ig-grid-accent-color); + --ig-grid-group-label-column-name-text: var(--ig-grid-accent-color); + --ig-grid-group-label-icon: var(--ig-grid-accent-color); + --ig-grid-group-label-text: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-expand-all-icon-color: color-mix(in srgb, var(--ig-grid-foreground) 70%, var(--ig-grid-background)); + --ig-grid-expand-all-icon-hover-color: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-expand-icon-color: color-mix(in srgb, var(--ig-grid-foreground) 60%, var(--ig-grid-background)); + --ig-grid-expand-icon-hover-color: color-mix(in srgb, var(--ig-grid-foreground) 70%, var(--ig-grid-background)); + --ig-grid-active-expand-icon-color: var(--ig-gray-500); + --ig-grid-active-expand-icon-hover-color: var(--ig-primary-500); + --ig-grid-group-count-background: color-mix(in srgb, var(--ig-grid-foreground) 12%, var(--ig-grid-background)); + --ig-grid-group-count-text-color: var(--ig-grid-foreground); + --ig-grid-group-row-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-group-row-selected-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-filtering-header-background: var(--ig-grid-background); + --ig-grid-filtering-header-text-color: var(--ig-grid-foreground); + --ig-grid-filtering-row-background: var(--ig-grid-background); + --ig-grid-filtering-row-text-color: var(--ig-grid-foreground); + --ig-grid-filtering-dialog-background: var(--ig-grid-background); + --ig-grid-tree-filtered-text-color: var(--ig-gray-500); + --ig-grid-row-highlight: var(--ig-grid-accent-color); + --ig-grid-row-ghost-background: var(--ig-grid-background); + --ig-grid-row-ghost-border-color: hsl(from color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)) h s l/0.38); + --ig-grid-drop-area-border-radius: clamp(0rem, calc(var(--ig-radius-factor, 1) * 1rem), 1rem); + --ig-grid-summaries-border-color: var(--ig-gray-400); + --ig-grid-summaries-patch-background: color-mix(in srgb, var(--ig-grid-foreground) 12%, var(--ig-grid-background)); + --ig-grid-active-state-border-style: solid; + --ig-grid-header-text-color: var(--ig-grid-foreground); + --ig-grid-header-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-header-background)); + --ig-grid-header-selected-text-color: var(--ig-grid-header-text-color); + --ig-grid-row-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-background)); + --ig-grid-row-selected-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 16%, var(--ig-grid-background)); + --ig-grid-row-selected-hover-text-color: var(--ig-grid-foreground); + --ig-grid-body-column-selected-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 16%, var(--ig-grid-background)); + --ig-grid-body-column-hover-selected-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-background)); + --ig-grid-cell-selected-within-background: color-mix(in srgb, var(--ig-grid-accent-color) 24%, var(--ig-grid-background)); + --ig-grid-cell-selected-within-text-color: var(--ig-grid-foreground); + --ig-grid-foreground: hsla(from color(from var(--ig-grid-background) var(--y-contrast)) h 0 l/1); +} + +.theme-studio { + --ig-size: var(--ig-size-large); + --ig-radius-factor: 0.6; + + --ig-grid-background: #faf4ed; + --ig-grid-foreground: #575279; + --ig-grid-accent-color: #907aa9; + --ig-grid-header-background: #fffaf3; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-header-border-color: #dfdad9; + --ig-grid-row-border-color: #f2e9e1; + --ig-grid-grid-border-color: #dfdad9; + --ig-grid-grid-elevation: 0 0.0625rem 0.1875rem rgba(87, 82, 121, 0.1), 0 0.0625rem 0.125rem rgba(87, 82, 121, 0.06); +} + +.theme-ledger { + --ig-size: var(--ig-size-small); + --ig-radius-factor: 0; + + --ig-grid-background: #eceff4; + --ig-grid-foreground: #2e3440; + --ig-grid-accent-color: #5e81ac; + --ig-grid-header-background: #d8dee9; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-row-odd-background: #eceff4; + --ig-grid-row-even-background: #e5e9f0; + --ig-grid-body-column-border-color-odd: #d8dee9; + --ig-grid-body-column-border-color-even: #d8dee9; + --ig-grid-row-border-color: #d8dee9; + --ig-grid-grid-border-color: #c8d0dc; +} + +.theme-editorial { + --ig-size: var(--ig-size-large); + --ig-radius-factor: 0; + + --ig-grid-background: #333c43; + --ig-grid-foreground: #d3c6aa; + --ig-grid-accent-color: #a7c080; + --ig-grid-header-background: #3a464c; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-row-border-color: #333c43; + --ig-grid-grid-border-color: #333c43; +} + +.theme-midnight { + --ig-size: var(--ig-size-medium); + --ig-radius-factor: 0.25; + + --ig-grid-background: #282a36; + --ig-grid-foreground: #f8f8f2; + --ig-grid-accent-color: #bd93f9; + --ig-grid-header-background: #21222c; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-body-column-border-color-odd: #44475a; + --ig-grid-body-column-border-color-even: #44475a; + --ig-grid-row-border-color: #44475a; + --ig-grid-grid-border-color: #44475a; +} + +.grid-theming-sample { + display: flex; + flex-direction: column; + gap: 1rem; + box-sizing: border-box; +} + +.theme-picker { + display: flex; + flex-direction: column; + gap: 0.375rem; + align-self: flex-start; +} + +.theme-picker__label { + font-size: 0.75rem; + font-weight: 500; + letter-spacing: 0.04em; + color: var(--ig-gray-700); +} + +.theme-picker .theme-picker__hint { + margin: 0; + font-size: 0.75rem; + line-height: 1.45; + color: var(--ig-gray-600); +} + +.theme-picker__hint code { + font-family: 'JetBrains Mono', 'Fira Code', Consolas, monospace; + font-size: 0.6875rem; + font-variant-ligatures: none; +} + +.theme-swatch { + display: inline-block; + min-width: 0.875rem; + aspect-ratio: 1; + border-radius: 50%; + border: 0.0625rem solid var(--ig-gray-300); + vertical-align: -0.125rem; + background: linear-gradient(135deg, var(--swatch-bg) 0 50%, var(--swatch-accent) 50% 100%); +} + +.theme-swatch--studio { + --swatch-bg: #faf4ed; + --swatch-accent: #907aa9; +} + +.theme-swatch--ledger { + --swatch-bg: #eceff4; + --swatch-accent: #5e81ac; +} + +.theme-swatch--editorial { + --swatch-bg: #333c43; + --swatch-accent: #a7c080; +} + +.theme-swatch--midnight { + --swatch-bg: #282a36; + --swatch-accent: #bd93f9; +} + +igc-button-group { + --item-text-color: unset; + --elevation: unset; + + width: fit-content; +} + +igc-toggle-button { + max-width: 7.875rem; +} + +igx-grid-excel-style-filtering { + --ig-size: 3; +} + +.themed-grid .igx-grid__td .photo { + vertical-align: middle; + max-block-size: 1.5rem; + border-radius: 50%; + width: fit-content; +} + +.cell__inner_2 { + margin: 0.0625rem; +} diff --git a/samples/grids/hierarchical-grid/theming/src/index.tsx b/samples/grids/hierarchical-grid/theming/src/index.tsx new file mode 100644 index 0000000000..9d241a905a --- /dev/null +++ b/samples/grids/hierarchical-grid/theming/src/index.tsx @@ -0,0 +1,214 @@ +import React, { useState } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; + +import { + IgrHierarchicalGrid, + IgrColumn, + IgrRowIsland, + IgrCellTemplateContext, +} from 'igniteui-react-grids'; +import { IgrButtonGroup, IgrToggleButton } from 'igniteui-react'; +import { SingersData } from './SingersData'; + +import 'igniteui-react-grids/grids/themes/light/material.css'; + +const singersData = new SingersData(); + +const photoCellTemplate = (props: { dataContext: IgrCellTemplateContext }) => { + return ( +
+ +
+ ); +}; + +const debutFormatter = (value: number) => value; + +export default function HierarchicalGridTheming() { + const [activeTheme, setActiveTheme] = useState('theme-studio'); + + return ( +
+
+
+ Pick a theme + ) => setActiveTheme(e.detail)} + > + + Studio + + + Ledger + + + + Editorial + + + + Midnight + + +

+ Custom themes, not built-in: each is a set of{' '} + --ig-grid-* variables with its own background and + accent. +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ ); +} + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render(); diff --git a/samples/grids/hierarchical-grid/theming/tsconfig.json b/samples/grids/hierarchical-grid/theming/tsconfig.json new file mode 100644 index 0000000000..8c0d146f95 --- /dev/null +++ b/samples/grids/hierarchical-grid/theming/tsconfig.json @@ -0,0 +1,44 @@ +{ + "compilerOptions": { + "resolveJsonModule": true, + "esModuleInterop": true, + "baseUrl": ".", + "outDir": "build/dist", + "module": "esnext", + "target": "es5", + "lib": [ + "es6", + "dom" + ], + "sourceMap": true, + "allowJs": true, + "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, + "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/grids/hierarchical-grid/theming/vite.config.js b/samples/grids/hierarchical-grid/theming/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/grids/hierarchical-grid/theming/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/grids/pivot-grid/theming/.devcontainer/devcontainer.json b/samples/grids/pivot-grid/theming/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..e0b8e9c925 --- /dev/null +++ b/samples/grids/pivot-grid/theming/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:22" +} \ No newline at end of file diff --git a/samples/grids/pivot-grid/theming/.eslintrc.js b/samples/grids/pivot-grid/theming/.eslintrc.js new file mode 100644 index 0000000000..7168b71441 --- /dev/null +++ b/samples/grids/pivot-grid/theming/.eslintrc.js @@ -0,0 +1,78 @@ +// 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" + } + } + ] + }; \ No newline at end of file diff --git a/samples/grids/pivot-grid/theming/ReadMe.md b/samples/grids/pivot-grid/theming/ReadMe.md new file mode 100644 index 0000000000..665b3cd218 --- /dev/null +++ b/samples/grids/pivot-grid/theming/ReadMe.md @@ -0,0 +1,56 @@ + + + +This folder contains implementation of React application with example of Theming feature using [Pivot Grid](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/grids/pivot-grid/theming +``` + +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/grids/pivot-grid/theming/index.html b/samples/grids/pivot-grid/theming/index.html new file mode 100644 index 0000000000..7ccd41dace --- /dev/null +++ b/samples/grids/pivot-grid/theming/index.html @@ -0,0 +1,12 @@ + + + + Sample | Ignite UI | React | infragistics + + + + +
+ + + \ No newline at end of file diff --git a/samples/grids/pivot-grid/theming/package.json b/samples/grids/pivot-grid/theming/package.json new file mode 100644 index 0000000000..9ec13a8ebc --- /dev/null +++ b/samples/grids/pivot-grid/theming/package.json @@ -0,0 +1,49 @@ +{ + "name": "example-ignite-ui-react", + "description": "This project provides example of using Ignite UI for React components", + "author": "Infragistics", + "version": "1.4.0", + "license": "", + "homepage": ".", + "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", + "lint": "eslint ./src/**/*.{ts,tsx}" + }, + "dependencies": { + "igniteui-dockmanager": "^2.2.1", + "igniteui-react": "19.9.0", + "igniteui-react-core": "19.6.0", + "igniteui-react-grids": "19.10.0", + "igniteui-webcomponents": "~7.4.1", + "lit-html": "^3.2.0", + "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", + "eslint": "^8.33.0", + "eslint-config-react": "^1.1.7", + "eslint-plugin-react": "^7.20.0", + "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/grids/pivot-grid/theming/sandbox.config.json b/samples/grids/pivot-grid/theming/sandbox.config.json new file mode 100644 index 0000000000..07f53508eb --- /dev/null +++ b/samples/grids/pivot-grid/theming/sandbox.config.json @@ -0,0 +1,5 @@ +{ + "infiniteLoopProtection": false, + "hardReloadOnChange": false, + "view": "browser" +} \ No newline at end of file diff --git a/samples/grids/pivot-grid/theming/src/PivotDataFlat.ts b/samples/grids/pivot-grid/theming/src/PivotDataFlat.ts new file mode 100644 index 0000000000..1c18d0b07a --- /dev/null +++ b/samples/grids/pivot-grid/theming/src/PivotDataFlat.ts @@ -0,0 +1,525 @@ +export class PivotDataFlatItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public ProductName: string; + public ProductUnitPrice: number; + public SellerName: string; + public SellerCity: string; + public Date: string; + public Value: number; + public NumberOfUnits: number; + +} +export class PivotDataFlat extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 12.8, SellerName: `Stanley Brooker`, SellerCity: `Seattle`, Date: `01/01/2007`, Value: 94.4, NumberOfUnits: 282 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 49.6, SellerName: `Elisa Longbottom`, SellerCity: `Sofia`, Date: `01/05/2007`, Value: 70.8, NumberOfUnits: 296 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 3.6, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `01/06/2007`, Value: 35.8, NumberOfUnits: 68 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 85.6, SellerName: `David Haley`, SellerCity: `London`, Date: `01/07/2007`, Value: 41.4, NumberOfUnits: 293 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 18.2, SellerName: `John Smith`, SellerCity: `Seattle`, Date: `01/08/2007`, Value: 60.6, NumberOfUnits: 240 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 68.4, SellerName: `Larry Lieb`, SellerCity: `Tokyo`, Date: `01/12/2007`, Value: 38, NumberOfUnits: 456 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 16.2, SellerName: `Walter Pang`, SellerCity: `Sofia`, Date: `02/09/2007`, Value: 89.2, NumberOfUnits: 492 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 35.2, SellerName: `Benjamin Dupree`, SellerCity: `Tokyo`, Date: `02/16/2007`, Value: 2, NumberOfUnits: 78 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 73.2, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `02/17/2007`, Value: 4.6, NumberOfUnits: 150 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 73.6, SellerName: `Nicholas Carmona`, SellerCity: `London`, Date: `02/19/2007`, Value: 36.2, NumberOfUnits: 262 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 47.2, SellerName: `Monica Freitag`, SellerCity: `Sofia`, Date: `02/21/2007`, Value: 18.8, NumberOfUnits: 125 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 51.4, SellerName: `Kathe Pettel`, SellerCity: `Sofia`, Date: `03/04/2007`, Value: 11.6, NumberOfUnits: 42 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 27.6, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `03/04/2007`, Value: 41.4, NumberOfUnits: 282 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 22.4, SellerName: `Antonio Charbonneau`, SellerCity: `Berlin`, Date: `03/17/2007`, Value: 59.8, NumberOfUnits: 305 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 85.4, SellerName: `Glenn Landeros`, SellerCity: `Tokyo`, Date: `03/23/2007`, Value: 31.4, NumberOfUnits: 265 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 80.8, SellerName: `Elisa Longbottom`, SellerCity: `Mellvile`, Date: `03/25/2007`, Value: 90.4, NumberOfUnits: 350 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 64.6, SellerName: `Glenn Landeros`, SellerCity: `Mellvile`, Date: `03/27/2007`, Value: 95.4, NumberOfUnits: 82 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 50, SellerName: `Harry Tyler`, SellerCity: `New York`, Date: `04/02/2007`, Value: 1.4, NumberOfUnits: 67 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 16.4, SellerName: `Brandon Mckim`, SellerCity: `Mellvile`, Date: `04/04/2007`, Value: 25.4, NumberOfUnits: 370 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 50, SellerName: `Monica Freitag`, SellerCity: `Berlin`, Date: `04/12/2007`, Value: 46.4, NumberOfUnits: 228 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 44.8, SellerName: `Bryan Culver`, SellerCity: `Tokyo`, Date: `04/15/2007`, Value: 82.2, NumberOfUnits: 272 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 44.4, SellerName: `Russell Shorter`, SellerCity: `Berlin`, Date: `04/18/2007`, Value: 84, NumberOfUnits: 227 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 39.4, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `04/18/2007`, Value: 94.4, NumberOfUnits: 248 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 36.6, SellerName: `Benjamin Meekins`, SellerCity: `Tokyo`, Date: `04/21/2007`, Value: 45.8, NumberOfUnits: 414 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 75.8, SellerName: `Walter Pang`, SellerCity: `London`, Date: `04/25/2007`, Value: 97.6, NumberOfUnits: 43 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 57.8, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `04/26/2007`, Value: 21, NumberOfUnits: 71 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 40.2, SellerName: `Stanley Brooker`, SellerCity: `New York`, Date: `05/14/2007`, Value: 72, NumberOfUnits: 321 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 49.6, SellerName: `Elisa Longbottom`, SellerCity: `London`, Date: `05/17/2007`, Value: 49.6, NumberOfUnits: 329 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 56.6, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `05/17/2007`, Value: 72.8, NumberOfUnits: 88 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 67.2, SellerName: `Glenn Landeros`, SellerCity: `New York`, Date: `05/26/2007`, Value: 56.2, NumberOfUnits: 366 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 14.6, SellerName: `Walter Pang`, SellerCity: `Sofia`, Date: `06/02/2007`, Value: 81.4, NumberOfUnits: 450 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 89.4, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `06/06/2007`, Value: 19, NumberOfUnits: 475 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 33.8, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `06/11/2007`, Value: 55, NumberOfUnits: 195 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 54.2, SellerName: `Harold Garvin`, SellerCity: `Sofia`, Date: `06/17/2007`, Value: 71.6, NumberOfUnits: 458 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 18.4, SellerName: `Benjamin Dupree`, SellerCity: `Sofia`, Date: `07/04/2007`, Value: 24.2, NumberOfUnits: 7 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 96.2, SellerName: `Elisa Longbottom`, SellerCity: `New York`, Date: `07/08/2007`, Value: 57.6, NumberOfUnits: 158 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 23, SellerName: `Benjamin Meekins`, SellerCity: `Tokyo`, Date: `07/09/2007`, Value: 58.8, NumberOfUnits: 34 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 52.8, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `07/10/2007`, Value: 32.4, NumberOfUnits: 412 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 62.2, SellerName: `John Smith`, SellerCity: `Sofia`, Date: `07/15/2007`, Value: 85, NumberOfUnits: 10 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 10.8, SellerName: `Antonio Charbonneau`, SellerCity: `New York`, Date: `07/16/2007`, Value: 52.2, NumberOfUnits: 466 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 4.8, SellerName: `Stanley Brooker`, SellerCity: `London`, Date: `07/20/2007`, Value: 34.2, NumberOfUnits: 248 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 43.8, SellerName: `Brandon Mckim`, SellerCity: `Mellvile`, Date: `07/24/2007`, Value: 45.6, NumberOfUnits: 307 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 76.4, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `07/26/2007`, Value: 26.2, NumberOfUnits: 445 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 34.4, SellerName: `Bryan Culver`, SellerCity: `New York`, Date: `08/01/2007`, Value: 89.2, NumberOfUnits: 480 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 68.6, SellerName: `Howard Sprouse`, SellerCity: `Berlin`, Date: `08/02/2007`, Value: 38.2, NumberOfUnits: 390 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 65.2, SellerName: `Larry Lieb`, SellerCity: `Mellvile`, Date: `08/05/2007`, Value: 23.2, NumberOfUnits: 388 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 45, SellerName: `Russell Shorter`, SellerCity: `Seattle`, Date: `08/19/2007`, Value: 23.4, NumberOfUnits: 37 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 93.6, SellerName: `John Smith`, SellerCity: `New York`, Date: `08/24/2007`, Value: 17.4, NumberOfUnits: 237 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 94.4, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `08/26/2007`, Value: 54.6, NumberOfUnits: 396 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 72.4, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `08/26/2007`, Value: 61, NumberOfUnits: 3 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 80.6, SellerName: `Russell Shorter`, SellerCity: `New York`, Date: `09/02/2007`, Value: 85.2, NumberOfUnits: 330 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 65.4, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `09/04/2007`, Value: 51.2, NumberOfUnits: 143 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 30.6, SellerName: `Bryan Culver`, SellerCity: `Seattle`, Date: `09/05/2007`, Value: 55.2, NumberOfUnits: 318 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 7.6, SellerName: `Alfredo Fetuchini`, SellerCity: `Seattle`, Date: `09/06/2007`, Value: 41.8, NumberOfUnits: 393 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 47, SellerName: `Harold Garvin`, SellerCity: `Seattle`, Date: `09/10/2007`, Value: 9.2, NumberOfUnits: 129 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 38, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `09/17/2007`, Value: 25.6, NumberOfUnits: 426 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 2.6, SellerName: `Harry Tyler`, SellerCity: `London`, Date: `09/18/2007`, Value: 36.4, NumberOfUnits: 217 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 77.6, SellerName: `John Smith`, SellerCity: `New York`, Date: `09/20/2007`, Value: 28, NumberOfUnits: 152 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 97.2, SellerName: `Benjamin Meekins`, SellerCity: `Seattle`, Date: `09/25/2007`, Value: 21.8, NumberOfUnits: 452 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 19.8, SellerName: `Carl Costello`, SellerCity: `Seattle`, Date: `10/02/2007`, Value: 98.4, NumberOfUnits: 499 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 32.8, SellerName: `Mark Slater`, SellerCity: `Seattle`, Date: `10/06/2007`, Value: 79.6, NumberOfUnits: 169 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 22, SellerName: `Nicholas Carmona`, SellerCity: `Berlin`, Date: `10/14/2007`, Value: 69.6, NumberOfUnits: 386 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 35.6, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `10/14/2007`, Value: 27.8, NumberOfUnits: 454 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 47, SellerName: `Elisa Longbottom`, SellerCity: `New York`, Date: `10/25/2007`, Value: 82.2, NumberOfUnits: 334 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 41.2, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `10/26/2007`, Value: 54.4, NumberOfUnits: 107 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 13.8, SellerName: `Mark Slater`, SellerCity: `Sofia`, Date: `11/07/2007`, Value: 86.2, NumberOfUnits: 275 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 64.2, SellerName: `Monica Freitag`, SellerCity: `London`, Date: `11/09/2007`, Value: 37.8, NumberOfUnits: 241 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 1.2, SellerName: `Larry Lieb`, SellerCity: `London`, Date: `11/11/2007`, Value: 75.2, NumberOfUnits: 177 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 57.8, SellerName: `Monica Freitag`, SellerCity: `Sofia`, Date: `11/13/2007`, Value: 58.6, NumberOfUnits: 494 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 39.6, SellerName: `Lydia Burson`, SellerCity: `Mellvile`, Date: `11/19/2007`, Value: 40.8, NumberOfUnits: 451 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 5.2, SellerName: `Stanley Brooker`, SellerCity: `Tokyo`, Date: `01/01/2008`, Value: 91.8, NumberOfUnits: 125 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 53.4, SellerName: `Kathe Pettel`, SellerCity: `London`, Date: `01/02/2008`, Value: 31, NumberOfUnits: 103 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 52.2, SellerName: `Larry Lieb`, SellerCity: `New York`, Date: `01/03/2008`, Value: 43, NumberOfUnits: 224 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 17.8, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `01/07/2008`, Value: 47.6, NumberOfUnits: 498 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 80.8, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `01/08/2008`, Value: 15.6, NumberOfUnits: 142 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 95.4, SellerName: `Larry Lieb`, SellerCity: `Berlin`, Date: `01/21/2008`, Value: 87.2, NumberOfUnits: 487 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 21.8, SellerName: `David Haley`, SellerCity: `Mellvile`, Date: `01/27/2008`, Value: 14.6, NumberOfUnits: 331 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 30, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `02/03/2008`, Value: 99.2, NumberOfUnits: 418 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 39.8, SellerName: `Benjamin Meekins`, SellerCity: `New York`, Date: `02/04/2008`, Value: 61, NumberOfUnits: 214 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 40.4, SellerName: `Elisa Longbottom`, SellerCity: `Mellvile`, Date: `02/05/2008`, Value: 81.8, NumberOfUnits: 229 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 35.2, SellerName: `Alfredo Fetuchini`, SellerCity: `London`, Date: `02/05/2008`, Value: 54.4, NumberOfUnits: 16 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 41.8, SellerName: `Harry Tyler`, SellerCity: `Sofia`, Date: `02/08/2008`, Value: 18, NumberOfUnits: 216 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 0.8, SellerName: `Harry Tyler`, SellerCity: `Sofia`, Date: `02/09/2008`, Value: 85, NumberOfUnits: 486 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 37.6, SellerName: `Elisa Longbottom`, SellerCity: `Tokyo`, Date: `02/13/2008`, Value: 45.2, NumberOfUnits: 172 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 20.8, SellerName: `Antonio Charbonneau`, SellerCity: `New York`, Date: `02/21/2008`, Value: 60.6, NumberOfUnits: 102 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 70.8, SellerName: `Kathe Pettel`, SellerCity: `Seattle`, Date: `02/24/2008`, Value: 43, NumberOfUnits: 36 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 53.4, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `02/25/2008`, Value: 11, NumberOfUnits: 71 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 25, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `02/25/2008`, Value: 17, NumberOfUnits: 53 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 64.6, SellerName: `Antonio Charbonneau`, SellerCity: `Tokyo`, Date: `02/25/2008`, Value: 99, NumberOfUnits: 104 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 9.6, SellerName: `Brandon Mckim`, SellerCity: `Tokyo`, Date: `02/26/2008`, Value: 96.2, NumberOfUnits: 294 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 41.2, SellerName: `Antonio Charbonneau`, SellerCity: `Sofia`, Date: `03/03/2008`, Value: 93.8, NumberOfUnits: 454 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 37, SellerName: `Stanley Brooker`, SellerCity: `Berlin`, Date: `03/05/2008`, Value: 82.8, NumberOfUnits: 492 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 16.8, SellerName: `Harry Tyler`, SellerCity: `New York`, Date: `03/08/2008`, Value: 0.8, NumberOfUnits: 132 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 24.8, SellerName: `Alfredo Fetuchini`, SellerCity: `New York`, Date: `03/09/2008`, Value: 88.6, NumberOfUnits: 225 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 65.6, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `03/10/2008`, Value: 69.2, NumberOfUnits: 422 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 70.6, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `03/12/2008`, Value: 97.2, NumberOfUnits: 303 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 65.2, SellerName: `Carl Costello`, SellerCity: `London`, Date: `03/13/2008`, Value: 46.4, NumberOfUnits: 319 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 39.6, SellerName: `Harold Garvin`, SellerCity: `London`, Date: `03/14/2008`, Value: 48.6, NumberOfUnits: 262 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 50.8, SellerName: `Harold Garvin`, SellerCity: `Berlin`, Date: `03/23/2008`, Value: 91.8, NumberOfUnits: 345 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 88.4, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `04/03/2008`, Value: 87.4, NumberOfUnits: 407 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 47.4, SellerName: `Walter Pang`, SellerCity: `Berlin`, Date: `04/04/2008`, Value: 15.2, NumberOfUnits: 121 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 30.4, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `04/06/2008`, Value: 44.4, NumberOfUnits: 30 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 88.2, SellerName: `Harold Garvin`, SellerCity: `Berlin`, Date: `04/11/2008`, Value: 25.4, NumberOfUnits: 293 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 16.6, SellerName: `David Haley`, SellerCity: `Sofia`, Date: `04/12/2008`, Value: 55.2, NumberOfUnits: 271 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 95.2, SellerName: `Howard Sprouse`, SellerCity: `Sofia`, Date: `04/18/2008`, Value: 25.8, NumberOfUnits: 107 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 7.8, SellerName: `Bryan Culver`, SellerCity: `Mellvile`, Date: `04/18/2008`, Value: 54.6, NumberOfUnits: 87 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 94.8, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `04/23/2008`, Value: 79, NumberOfUnits: 319 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 37.2, SellerName: `Lydia Burson`, SellerCity: `New York`, Date: `04/24/2008`, Value: 21.6, NumberOfUnits: 346 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 99.4, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `05/07/2008`, Value: 77.8, NumberOfUnits: 382 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 96.2, SellerName: `Larry Lieb`, SellerCity: `New York`, Date: `05/11/2008`, Value: 35.4, NumberOfUnits: 334 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 26.2, SellerName: `Harold Garvin`, SellerCity: `Tokyo`, Date: `05/13/2008`, Value: 28.8, NumberOfUnits: 176 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 80.8, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `05/19/2008`, Value: 8.4, NumberOfUnits: 125 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 78.4, SellerName: `Russell Shorter`, SellerCity: `Mellvile`, Date: `05/19/2008`, Value: 15, NumberOfUnits: 458 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 94, SellerName: `Benjamin Meekins`, SellerCity: `Berlin`, Date: `05/25/2008`, Value: 68.6, NumberOfUnits: 331 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 96.6, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `05/27/2008`, Value: 71, NumberOfUnits: 39 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 37.6, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `06/06/2008`, Value: 97.2, NumberOfUnits: 238 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 47, SellerName: `Walter Pang`, SellerCity: `London`, Date: `06/07/2008`, Value: 5.8, NumberOfUnits: 84 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 80.2, SellerName: `Mark Slater`, SellerCity: `Tokyo`, Date: `06/08/2008`, Value: 24.8, NumberOfUnits: 363 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 43.6, SellerName: `Harry Tyler`, SellerCity: `New York`, Date: `06/08/2008`, Value: 59, NumberOfUnits: 479 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 56.4, SellerName: `Kathe Pettel`, SellerCity: `Sofia`, Date: `06/11/2008`, Value: 87.6, NumberOfUnits: 404 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 81.8, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `06/18/2008`, Value: 80.4, NumberOfUnits: 478 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 90.2, SellerName: `Benjamin Meekins`, SellerCity: `Sofia`, Date: `06/19/2008`, Value: 2.4, NumberOfUnits: 285 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 99.4, SellerName: `Kathe Pettel`, SellerCity: `Sofia`, Date: `06/22/2008`, Value: 82.6, NumberOfUnits: 15 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 30.8, SellerName: `Brandon Mckim`, SellerCity: `Berlin`, Date: `06/26/2008`, Value: 77.8, NumberOfUnits: 245 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 99.4, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `07/01/2008`, Value: 8.2, NumberOfUnits: 376 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 73.4, SellerName: `Claudia Kobayashi`, SellerCity: `New York`, Date: `07/02/2008`, Value: 48.6, NumberOfUnits: 40 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 43.6, SellerName: `Larry Lieb`, SellerCity: `London`, Date: `07/10/2008`, Value: 38, NumberOfUnits: 112 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 16.4, SellerName: `Antonio Charbonneau`, SellerCity: `New York`, Date: `07/15/2008`, Value: 9.8, NumberOfUnits: 224 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 71.4, SellerName: `Stanley Brooker`, SellerCity: `Tokyo`, Date: `07/16/2008`, Value: 66.4, NumberOfUnits: 145 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 94.6, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `07/21/2008`, Value: 46.6, NumberOfUnits: 272 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 50.8, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `07/27/2008`, Value: 90.2, NumberOfUnits: 278 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 12.8, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `07/27/2008`, Value: 89.2, NumberOfUnits: 253 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 35.8, SellerName: `Nicholas Carmona`, SellerCity: `New York`, Date: `08/01/2008`, Value: 28.4, NumberOfUnits: 255 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 17.2, SellerName: `David Haley`, SellerCity: `Seattle`, Date: `08/02/2008`, Value: 0.6, NumberOfUnits: 46 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 22.2, SellerName: `Benjamin Dupree`, SellerCity: `Tokyo`, Date: `08/08/2008`, Value: 58.6, NumberOfUnits: 279 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 63, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `08/08/2008`, Value: 91.8, NumberOfUnits: 89 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 83.8, SellerName: `Larry Lieb`, SellerCity: `Sofia`, Date: `08/14/2008`, Value: 52.6, NumberOfUnits: 17 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 14.2, SellerName: `Lydia Burson`, SellerCity: `Sofia`, Date: `08/21/2008`, Value: 54, NumberOfUnits: 470 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 34.6, SellerName: `Elisa Longbottom`, SellerCity: `Mellvile`, Date: `08/25/2008`, Value: 1.8, NumberOfUnits: 195 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 86.8, SellerName: `Lydia Burson`, SellerCity: `New York`, Date: `08/27/2008`, Value: 23.8, NumberOfUnits: 173 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 42.2, SellerName: `Benjamin Dupree`, SellerCity: `New York`, Date: `09/01/2008`, Value: 51.2, NumberOfUnits: 472 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 25.8, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `09/06/2008`, Value: 88.4, NumberOfUnits: 148 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 23.2, SellerName: `Walter Pang`, SellerCity: `Mellvile`, Date: `09/06/2008`, Value: 94.6, NumberOfUnits: 314 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 83.8, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `09/07/2008`, Value: 66.8, NumberOfUnits: 431 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 84.4, SellerName: `Walter Pang`, SellerCity: `Mellvile`, Date: `09/07/2008`, Value: 27.6, NumberOfUnits: 347 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 7.4, SellerName: `Harry Tyler`, SellerCity: `Berlin`, Date: `09/11/2008`, Value: 2.8, NumberOfUnits: 27 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 9.6, SellerName: `Elisa Longbottom`, SellerCity: `Berlin`, Date: `09/12/2008`, Value: 12, NumberOfUnits: 5 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 50.8, SellerName: `Larry Lieb`, SellerCity: `Mellvile`, Date: `09/19/2008`, Value: 16.6, NumberOfUnits: 191 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 80, SellerName: `Bryan Culver`, SellerCity: `New York`, Date: `09/25/2008`, Value: 84.4, NumberOfUnits: 421 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 62.2, SellerName: `Carl Costello`, SellerCity: `Seattle`, Date: `10/03/2008`, Value: 29, NumberOfUnits: 297 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 96.2, SellerName: `Glenn Landeros`, SellerCity: `New York`, Date: `10/04/2008`, Value: 15.8, NumberOfUnits: 128 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 47, SellerName: `Howard Sprouse`, SellerCity: `Mellvile`, Date: `10/13/2008`, Value: 37.4, NumberOfUnits: 210 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 35.8, SellerName: `Russell Shorter`, SellerCity: `London`, Date: `10/14/2008`, Value: 27, NumberOfUnits: 315 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 79, SellerName: `Benjamin Meekins`, SellerCity: `New York`, Date: `10/19/2008`, Value: 69.8, NumberOfUnits: 489 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 84.4, SellerName: `Walter Pang`, SellerCity: `Mellvile`, Date: `10/21/2008`, Value: 61.4, NumberOfUnits: 47 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 25.6, SellerName: `John Smith`, SellerCity: `Mellvile`, Date: `10/22/2008`, Value: 69.4, NumberOfUnits: 92 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 24, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `11/01/2008`, Value: 81.2, NumberOfUnits: 30 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 53.6, SellerName: `Stanley Brooker`, SellerCity: `Berlin`, Date: `11/01/2008`, Value: 15, NumberOfUnits: 132 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 68.2, SellerName: `Bryan Culver`, SellerCity: `London`, Date: `11/10/2008`, Value: 6.2, NumberOfUnits: 368 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 60, SellerName: `Kathe Pettel`, SellerCity: `New York`, Date: `11/11/2008`, Value: 39.2, NumberOfUnits: 482 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 5.8, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `11/11/2008`, Value: 48.8, NumberOfUnits: 22 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 96, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `11/20/2008`, Value: 87.2, NumberOfUnits: 159 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 59.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Berlin`, Date: `11/25/2008`, Value: 88.6, NumberOfUnits: 52 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 94, SellerName: `Harry Tyler`, SellerCity: `Tokyo`, Date: `01/05/2009`, Value: 79.8, NumberOfUnits: 194 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 12.8, SellerName: `David Haley`, SellerCity: `Berlin`, Date: `01/08/2009`, Value: 43, NumberOfUnits: 100 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 38, SellerName: `Benjamin Meekins`, SellerCity: `Berlin`, Date: `01/10/2009`, Value: 48.4, NumberOfUnits: 252 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 79.4, SellerName: `Kathe Pettel`, SellerCity: `Tokyo`, Date: `01/13/2009`, Value: 68.6, NumberOfUnits: 116 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 91, SellerName: `Elisa Longbottom`, SellerCity: `London`, Date: `01/14/2009`, Value: 27.6, NumberOfUnits: 259 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 100, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `01/19/2009`, Value: 56.8, NumberOfUnits: 217 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 43.4, SellerName: `Bryan Culver`, SellerCity: `Seattle`, Date: `01/22/2009`, Value: 36.6, NumberOfUnits: 48 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 0.8, SellerName: `Stanley Brooker`, SellerCity: `New York`, Date: `02/02/2009`, Value: 71.4, NumberOfUnits: 445 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 60.6, SellerName: `Kathe Pettel`, SellerCity: `Mellvile`, Date: `02/03/2009`, Value: 44.6, NumberOfUnits: 90 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 13.8, SellerName: `Harry Tyler`, SellerCity: `Sofia`, Date: `02/07/2009`, Value: 36.2, NumberOfUnits: 453 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 44.2, SellerName: `Harry Tyler`, SellerCity: `Mellvile`, Date: `02/07/2009`, Value: 85.6, NumberOfUnits: 450 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.4, SellerName: `Lydia Burson`, SellerCity: `Sofia`, Date: `02/07/2009`, Value: 48.2, NumberOfUnits: 152 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 8.8, SellerName: `Harry Tyler`, SellerCity: `Berlin`, Date: `02/16/2009`, Value: 46.6, NumberOfUnits: 119 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 79.2, SellerName: `Kathe Pettel`, SellerCity: `Tokyo`, Date: `02/16/2009`, Value: 29.2, NumberOfUnits: 463 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 18.6, SellerName: `Howard Sprouse`, SellerCity: `Tokyo`, Date: `02/17/2009`, Value: 19.8, NumberOfUnits: 150 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 28, SellerName: `Walter Pang`, SellerCity: `Berlin`, Date: `02/19/2009`, Value: 17.6, NumberOfUnits: 210 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 67.2, SellerName: `Kathe Pettel`, SellerCity: `Tokyo`, Date: `02/20/2009`, Value: 36.4, NumberOfUnits: 150 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 36, SellerName: `Benjamin Meekins`, SellerCity: `London`, Date: `02/21/2009`, Value: 74, NumberOfUnits: 97 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 34.2, SellerName: `Stanley Brooker`, SellerCity: `Berlin`, Date: `02/22/2009`, Value: 86.4, NumberOfUnits: 256 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 66.4, SellerName: `Russell Shorter`, SellerCity: `London`, Date: `02/24/2009`, Value: 53, NumberOfUnits: 172 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 15, SellerName: `Monica Freitag`, SellerCity: `Mellvile`, Date: `02/24/2009`, Value: 5.2, NumberOfUnits: 489 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 52, SellerName: `Claudia Kobayashi`, SellerCity: `Sofia`, Date: `02/27/2009`, Value: 9.2, NumberOfUnits: 222 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 98.4, SellerName: `Nicholas Carmona`, SellerCity: `Berlin`, Date: `03/03/2009`, Value: 81.4, NumberOfUnits: 300 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 72.8, SellerName: `Harry Tyler`, SellerCity: `London`, Date: `03/03/2009`, Value: 1.4, NumberOfUnits: 270 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 16.4, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `03/07/2009`, Value: 81.4, NumberOfUnits: 263 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 93.6, SellerName: `Elisa Longbottom`, SellerCity: `Mellvile`, Date: `03/10/2009`, Value: 22.8, NumberOfUnits: 28 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 42.2, SellerName: `Howard Sprouse`, SellerCity: `London`, Date: `03/15/2009`, Value: 20.4, NumberOfUnits: 237 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 55, SellerName: `Claudia Kobayashi`, SellerCity: `Tokyo`, Date: `03/16/2009`, Value: 64, NumberOfUnits: 171 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 97.4, SellerName: `Kathe Pettel`, SellerCity: `New York`, Date: `03/27/2009`, Value: 24, NumberOfUnits: 251 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 51, SellerName: `Antonio Charbonneau`, SellerCity: `London`, Date: `04/01/2009`, Value: 32.4, NumberOfUnits: 275 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 4.8, SellerName: `Brandon Mckim`, SellerCity: `London`, Date: `04/06/2009`, Value: 42, NumberOfUnits: 311 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 71, SellerName: `Monica Freitag`, SellerCity: `New York`, Date: `04/07/2009`, Value: 82.8, NumberOfUnits: 217 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 96.8, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `04/09/2009`, Value: 62.2, NumberOfUnits: 360 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 83.6, SellerName: `Howard Sprouse`, SellerCity: `Berlin`, Date: `04/12/2009`, Value: 51.6, NumberOfUnits: 35 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 96.4, SellerName: `Nicholas Carmona`, SellerCity: `New York`, Date: `04/15/2009`, Value: 81, NumberOfUnits: 294 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 70.8, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `04/16/2009`, Value: 36, NumberOfUnits: 436 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.6, SellerName: `Kathe Pettel`, SellerCity: `London`, Date: `04/20/2009`, Value: 82.6, NumberOfUnits: 78 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 29.6, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `04/22/2009`, Value: 94, NumberOfUnits: 301 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 70.6, SellerName: `Mark Slater`, SellerCity: `New York`, Date: `05/02/2009`, Value: 92.6, NumberOfUnits: 24 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 71.8, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `05/04/2009`, Value: 19.4, NumberOfUnits: 332 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 14.6, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `05/11/2009`, Value: 56.4, NumberOfUnits: 307 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 36.8, SellerName: `Harold Garvin`, SellerCity: `Seattle`, Date: `05/11/2009`, Value: 34.4, NumberOfUnits: 375 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 62.8, SellerName: `Benjamin Dupree`, SellerCity: `Mellvile`, Date: `05/12/2009`, Value: 2, NumberOfUnits: 499 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 13.8, SellerName: `Russell Shorter`, SellerCity: `London`, Date: `05/21/2009`, Value: 42.6, NumberOfUnits: 337 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 46.2, SellerName: `Larry Lieb`, SellerCity: `London`, Date: `05/24/2009`, Value: 55.4, NumberOfUnits: 284 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 95.4, SellerName: `Howard Sprouse`, SellerCity: `Berlin`, Date: `05/26/2009`, Value: 94.8, NumberOfUnits: 292 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 78.2, SellerName: `Howard Sprouse`, SellerCity: `Sofia`, Date: `05/26/2009`, Value: 60.2, NumberOfUnits: 424 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 99.4, SellerName: `Mark Slater`, SellerCity: `Mellvile`, Date: `06/05/2009`, Value: 29, NumberOfUnits: 271 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 87, SellerName: `Howard Sprouse`, SellerCity: `Mellvile`, Date: `06/10/2009`, Value: 94, NumberOfUnits: 6 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 13.6, SellerName: `Elisa Longbottom`, SellerCity: `Sofia`, Date: `06/12/2009`, Value: 95, NumberOfUnits: 44 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 99.8, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `06/12/2009`, Value: 74.2, NumberOfUnits: 277 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 17, SellerName: `Brandon Mckim`, SellerCity: `Seattle`, Date: `06/13/2009`, Value: 65.2, NumberOfUnits: 98 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 42.4, SellerName: `Elisa Longbottom`, SellerCity: `Mellvile`, Date: `06/22/2009`, Value: 68.6, NumberOfUnits: 443 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 79.6, SellerName: `Benjamin Dupree`, SellerCity: `Seattle`, Date: `06/26/2009`, Value: 81.4, NumberOfUnits: 409 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 26.4, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `07/02/2009`, Value: 68.2, NumberOfUnits: 240 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 34.2, SellerName: `Kathe Pettel`, SellerCity: `Seattle`, Date: `07/10/2009`, Value: 95.6, NumberOfUnits: 23 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 29.4, SellerName: `Larry Lieb`, SellerCity: `Mellvile`, Date: `07/12/2009`, Value: 36, NumberOfUnits: 109 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 86.8, SellerName: `Nicholas Carmona`, SellerCity: `Berlin`, Date: `07/13/2009`, Value: 30, NumberOfUnits: 117 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 58.4, SellerName: `Mark Slater`, SellerCity: `New York`, Date: `07/15/2009`, Value: 34.4, NumberOfUnits: 336 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 39.8, SellerName: `Antonio Charbonneau`, SellerCity: `Seattle`, Date: `07/18/2009`, Value: 92.4, NumberOfUnits: 372 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 10.2, SellerName: `Larry Lieb`, SellerCity: `Berlin`, Date: `07/19/2009`, Value: 90.4, NumberOfUnits: 403 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 17.8, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `07/19/2009`, Value: 66.2, NumberOfUnits: 144 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 21.6, SellerName: `Lydia Burson`, SellerCity: `Seattle`, Date: `07/19/2009`, Value: 41.8, NumberOfUnits: 395 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 33.6, SellerName: `Nicholas Carmona`, SellerCity: `New York`, Date: `07/20/2009`, Value: 16.6, NumberOfUnits: 236 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 48.8, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `07/20/2009`, Value: 86.8, NumberOfUnits: 160 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 81.8, SellerName: `David Haley`, SellerCity: `Sofia`, Date: `07/20/2009`, Value: 65.8, NumberOfUnits: 157 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 9.8, SellerName: `Glenn Landeros`, SellerCity: `Sofia`, Date: `07/25/2009`, Value: 0.2, NumberOfUnits: 255 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 88.6, SellerName: `Mark Slater`, SellerCity: `London`, Date: `08/16/2009`, Value: 43, NumberOfUnits: 284 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 89.4, SellerName: `Walter Pang`, SellerCity: `Tokyo`, Date: `08/17/2009`, Value: 15.8, NumberOfUnits: 333 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 24, SellerName: `Monica Freitag`, SellerCity: `Seattle`, Date: `08/17/2009`, Value: 51.6, NumberOfUnits: 48 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 19.4, SellerName: `Kathe Pettel`, SellerCity: `New York`, Date: `08/18/2009`, Value: 82.6, NumberOfUnits: 399 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 9.4, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `08/24/2009`, Value: 68.6, NumberOfUnits: 413 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 1.2, SellerName: `Monica Freitag`, SellerCity: `Sofia`, Date: `09/06/2009`, Value: 72, NumberOfUnits: 182 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 77, SellerName: `Russell Shorter`, SellerCity: `Mellvile`, Date: `09/06/2009`, Value: 45, NumberOfUnits: 156 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 80.8, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `09/09/2009`, Value: 92.4, NumberOfUnits: 293 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 22.8, SellerName: `Benjamin Dupree`, SellerCity: `Berlin`, Date: `10/01/2009`, Value: 100, NumberOfUnits: 16 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 78.2, SellerName: `Benjamin Meekins`, SellerCity: `Seattle`, Date: `10/01/2009`, Value: 16, NumberOfUnits: 106 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 73, SellerName: `Glenn Landeros`, SellerCity: `Tokyo`, Date: `10/06/2009`, Value: 91.6, NumberOfUnits: 16 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 22.2, SellerName: `John Smith`, SellerCity: `Tokyo`, Date: `10/07/2009`, Value: 1.8, NumberOfUnits: 187 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 42.8, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `10/10/2009`, Value: 21.8, NumberOfUnits: 137 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 46.2, SellerName: `Mark Slater`, SellerCity: `Seattle`, Date: `10/14/2009`, Value: 15, NumberOfUnits: 138 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 14.4, SellerName: `Mark Slater`, SellerCity: `Seattle`, Date: `10/24/2009`, Value: 65, NumberOfUnits: 256 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 40.2, SellerName: `Antonio Charbonneau`, SellerCity: `London`, Date: `10/24/2009`, Value: 11.2, NumberOfUnits: 353 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 17.2, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `11/01/2009`, Value: 95, NumberOfUnits: 359 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 52, SellerName: `Walter Pang`, SellerCity: `Tokyo`, Date: `11/04/2009`, Value: 43.2, NumberOfUnits: 134 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 91, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `11/09/2009`, Value: 25.2, NumberOfUnits: 263 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 88.6, SellerName: `Monica Freitag`, SellerCity: `Seattle`, Date: `11/11/2009`, Value: 41, NumberOfUnits: 313 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 46.6, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `11/16/2009`, Value: 20.4, NumberOfUnits: 115 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 20.4, SellerName: `Claudia Kobayashi`, SellerCity: `Berlin`, Date: `11/17/2009`, Value: 33, NumberOfUnits: 414 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 70.8, SellerName: `Kathe Pettel`, SellerCity: `New York`, Date: `11/21/2009`, Value: 3, NumberOfUnits: 53 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 81.6, SellerName: `John Smith`, SellerCity: `New York`, Date: `11/22/2009`, Value: 86.8, NumberOfUnits: 472 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 9.8, SellerName: `Harry Tyler`, SellerCity: `Mellvile`, Date: `11/23/2009`, Value: 53.6, NumberOfUnits: 199 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 29.8, SellerName: `Harold Garvin`, SellerCity: `Sofia`, Date: `11/24/2009`, Value: 27.4, NumberOfUnits: 241 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 33.2, SellerName: `Glenn Landeros`, SellerCity: `New York`, Date: `11/24/2009`, Value: 1.2, NumberOfUnits: 320 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 65.6, SellerName: `David Haley`, SellerCity: `London`, Date: `01/02/2010`, Value: 20.6, NumberOfUnits: 299 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 62.2, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `01/08/2010`, Value: 35.4, NumberOfUnits: 366 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 78.6, SellerName: `John Smith`, SellerCity: `New York`, Date: `01/10/2010`, Value: 27.8, NumberOfUnits: 290 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 11.6, SellerName: `Lydia Burson`, SellerCity: `Sofia`, Date: `01/11/2010`, Value: 61.8, NumberOfUnits: 350 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 33.4, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `01/14/2010`, Value: 33.8, NumberOfUnits: 469 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 96.2, SellerName: `Nicholas Carmona`, SellerCity: `Sofia`, Date: `01/21/2010`, Value: 75.6, NumberOfUnits: 352 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 92.2, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `01/25/2010`, Value: 38.8, NumberOfUnits: 47 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 93.2, SellerName: `Russell Shorter`, SellerCity: `Tokyo`, Date: `02/02/2010`, Value: 66.4, NumberOfUnits: 153 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 39, SellerName: `Antonio Charbonneau`, SellerCity: `Berlin`, Date: `02/02/2010`, Value: 28.6, NumberOfUnits: 211 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 99.4, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `02/04/2010`, Value: 67, NumberOfUnits: 267 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.4, SellerName: `Antonio Charbonneau`, SellerCity: `New York`, Date: `02/04/2010`, Value: 71.4, NumberOfUnits: 91 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 19.8, SellerName: `Claudia Kobayashi`, SellerCity: `Tokyo`, Date: `02/05/2010`, Value: 46, NumberOfUnits: 84 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 87.2, SellerName: `Howard Sprouse`, SellerCity: `Mellvile`, Date: `02/11/2010`, Value: 66.8, NumberOfUnits: 270 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 76.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Berlin`, Date: `02/12/2010`, Value: 87, NumberOfUnits: 496 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 52, SellerName: `John Smith`, SellerCity: `Seattle`, Date: `02/16/2010`, Value: 47.4, NumberOfUnits: 24 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 21.8, SellerName: `Walter Pang`, SellerCity: `Mellvile`, Date: `02/17/2010`, Value: 72.8, NumberOfUnits: 41 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 15.8, SellerName: `John Smith`, SellerCity: `Mellvile`, Date: `02/22/2010`, Value: 65.6, NumberOfUnits: 365 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 2.8, SellerName: `Brandon Mckim`, SellerCity: `Sofia`, Date: `03/01/2010`, Value: 68.6, NumberOfUnits: 202 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 52.4, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `03/01/2010`, Value: 79.4, NumberOfUnits: 225 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 0.4, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `03/03/2010`, Value: 70.2, NumberOfUnits: 206 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 22.4, SellerName: `Larry Lieb`, SellerCity: `Sofia`, Date: `03/11/2010`, Value: 54.8, NumberOfUnits: 158 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 94.8, SellerName: `Benjamin Meekins`, SellerCity: `London`, Date: `03/14/2010`, Value: 70.4, NumberOfUnits: 169 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 1.2, SellerName: `John Smith`, SellerCity: `New York`, Date: `03/15/2010`, Value: 19, NumberOfUnits: 4 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 12.2, SellerName: `Monica Freitag`, SellerCity: `New York`, Date: `03/15/2010`, Value: 12.8, NumberOfUnits: 232 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 58.8, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `03/16/2010`, Value: 78.8, NumberOfUnits: 421 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 44, SellerName: `David Haley`, SellerCity: `Seattle`, Date: `03/25/2010`, Value: 89.6, NumberOfUnits: 260 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 54.6, SellerName: `Brandon Mckim`, SellerCity: `Seattle`, Date: `04/02/2010`, Value: 92, NumberOfUnits: 194 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.6, SellerName: `Walter Pang`, SellerCity: `Tokyo`, Date: `04/05/2010`, Value: 35.4, NumberOfUnits: 491 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 11.2, SellerName: `Harold Garvin`, SellerCity: `London`, Date: `04/14/2010`, Value: 30, NumberOfUnits: 256 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 18.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `04/15/2010`, Value: 84.6, NumberOfUnits: 279 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 8.4, SellerName: `Carl Costello`, SellerCity: `Berlin`, Date: `04/15/2010`, Value: 99.6, NumberOfUnits: 287 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 78, SellerName: `Carl Costello`, SellerCity: `New York`, Date: `04/22/2010`, Value: 59, NumberOfUnits: 363 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 55.6, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `04/22/2010`, Value: 16.4, NumberOfUnits: 499 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 39.4, SellerName: `Lydia Burson`, SellerCity: `Berlin`, Date: `04/24/2010`, Value: 0.2, NumberOfUnits: 109 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 7.8, SellerName: `Benjamin Dupree`, SellerCity: `Berlin`, Date: `05/04/2010`, Value: 99.6, NumberOfUnits: 25 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 62.4, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `05/05/2010`, Value: 48, NumberOfUnits: 64 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 38.8, SellerName: `Howard Sprouse`, SellerCity: `London`, Date: `05/06/2010`, Value: 57.8, NumberOfUnits: 256 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 17.8, SellerName: `Benjamin Meekins`, SellerCity: `Mellvile`, Date: `05/07/2010`, Value: 15.4, NumberOfUnits: 50 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 57.8, SellerName: `Bryan Culver`, SellerCity: `Berlin`, Date: `05/07/2010`, Value: 58.6, NumberOfUnits: 437 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 21.4, SellerName: `Bryan Culver`, SellerCity: `Sofia`, Date: `05/19/2010`, Value: 41, NumberOfUnits: 253 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 10.2, SellerName: `Monica Freitag`, SellerCity: `London`, Date: `05/22/2010`, Value: 24, NumberOfUnits: 312 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 87.8, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `05/24/2010`, Value: 12.6, NumberOfUnits: 82 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 42.6, SellerName: `Harold Garvin`, SellerCity: `New York`, Date: `06/01/2010`, Value: 32.2, NumberOfUnits: 467 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 79.8, SellerName: `Alfredo Fetuchini`, SellerCity: `Sofia`, Date: `06/05/2010`, Value: 69.6, NumberOfUnits: 74 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 1.8, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `06/10/2010`, Value: 14.8, NumberOfUnits: 81 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 15, SellerName: `Kathe Pettel`, SellerCity: `Berlin`, Date: `06/25/2010`, Value: 18.8, NumberOfUnits: 88 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 43.4, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `06/26/2010`, Value: 44.4, NumberOfUnits: 126 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 16.2, SellerName: `Elisa Longbottom`, SellerCity: `Sofia`, Date: `06/27/2010`, Value: 77.8, NumberOfUnits: 112 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 59.2, SellerName: `Antonio Charbonneau`, SellerCity: `Sofia`, Date: `06/27/2010`, Value: 15.4, NumberOfUnits: 47 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 40, SellerName: `Claudia Kobayashi`, SellerCity: `Sofia`, Date: `07/05/2010`, Value: 29.4, NumberOfUnits: 218 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 27, SellerName: `Nicholas Carmona`, SellerCity: `New York`, Date: `07/05/2010`, Value: 30, NumberOfUnits: 34 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 14.4, SellerName: `Bryan Culver`, SellerCity: `Sofia`, Date: `07/13/2010`, Value: 83.4, NumberOfUnits: 492 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 53.4, SellerName: `Harry Tyler`, SellerCity: `Sofia`, Date: `07/16/2010`, Value: 41.6, NumberOfUnits: 464 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 21.4, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `07/17/2010`, Value: 83.4, NumberOfUnits: 118 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 24, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `07/18/2010`, Value: 94.2, NumberOfUnits: 442 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 37.6, SellerName: `Benjamin Meekins`, SellerCity: `London`, Date: `07/23/2010`, Value: 59.6, NumberOfUnits: 248 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 60.8, SellerName: `Lydia Burson`, SellerCity: `London`, Date: `07/23/2010`, Value: 83.6, NumberOfUnits: 472 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 78, SellerName: `Alfredo Fetuchini`, SellerCity: `New York`, Date: `07/24/2010`, Value: 84, NumberOfUnits: 140 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 47.6, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `07/26/2010`, Value: 86.6, NumberOfUnits: 118 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 58.2, SellerName: `Harry Tyler`, SellerCity: `Sofia`, Date: `07/27/2010`, Value: 64, NumberOfUnits: 176 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 98.4, SellerName: `Russell Shorter`, SellerCity: `Mellvile`, Date: `08/01/2010`, Value: 23.4, NumberOfUnits: 77 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 3, SellerName: `Glenn Landeros`, SellerCity: `Sofia`, Date: `08/08/2010`, Value: 74.4, NumberOfUnits: 105 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 98.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Tokyo`, Date: `08/21/2010`, Value: 60.8, NumberOfUnits: 160 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 79, SellerName: `Stanley Brooker`, SellerCity: `Seattle`, Date: `08/26/2010`, Value: 67, NumberOfUnits: 186 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 17.8, SellerName: `Harold Garvin`, SellerCity: `Seattle`, Date: `09/04/2010`, Value: 29, NumberOfUnits: 380 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 38.8, SellerName: `John Smith`, SellerCity: `Tokyo`, Date: `09/11/2010`, Value: 41.6, NumberOfUnits: 470 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 75.2, SellerName: `Benjamin Dupree`, SellerCity: `Mellvile`, Date: `09/13/2010`, Value: 42.8, NumberOfUnits: 348 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 55.4, SellerName: `Carl Costello`, SellerCity: `London`, Date: `09/14/2010`, Value: 29.4, NumberOfUnits: 151 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 51.4, SellerName: `Kathe Pettel`, SellerCity: `New York`, Date: `09/24/2010`, Value: 86.6, NumberOfUnits: 7 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 31.4, SellerName: `Monica Freitag`, SellerCity: `New York`, Date: `10/07/2010`, Value: 39, NumberOfUnits: 123 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 80, SellerName: `Mark Slater`, SellerCity: `Seattle`, Date: `10/08/2010`, Value: 8.8, NumberOfUnits: 374 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 94.8, SellerName: `Kathe Pettel`, SellerCity: `Mellvile`, Date: `10/11/2010`, Value: 96.8, NumberOfUnits: 178 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 42, SellerName: `Bryan Culver`, SellerCity: `Sofia`, Date: `10/22/2010`, Value: 31.4, NumberOfUnits: 354 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 46.6, SellerName: `Elisa Longbottom`, SellerCity: `New York`, Date: `10/25/2010`, Value: 85.6, NumberOfUnits: 459 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 27.2, SellerName: `Mark Slater`, SellerCity: `London`, Date: `11/02/2010`, Value: 46.4, NumberOfUnits: 78 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 30.2, SellerName: `Walter Pang`, SellerCity: `Berlin`, Date: `11/03/2010`, Value: 52.2, NumberOfUnits: 417 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 82.2, SellerName: `Walter Pang`, SellerCity: `Seattle`, Date: `11/12/2010`, Value: 15.4, NumberOfUnits: 208 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 13.2, SellerName: `Harold Garvin`, SellerCity: `Seattle`, Date: `11/19/2010`, Value: 48.6, NumberOfUnits: 359 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 8.8, SellerName: `Russell Shorter`, SellerCity: `New York`, Date: `11/25/2010`, Value: 24.6, NumberOfUnits: 392 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 78.4, SellerName: `John Smith`, SellerCity: `London`, Date: `01/01/2011`, Value: 37.6, NumberOfUnits: 241 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 50.6, SellerName: `Claudia Kobayashi`, SellerCity: `Seattle`, Date: `01/04/2011`, Value: 27.2, NumberOfUnits: 62 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 6.4, SellerName: `Elisa Longbottom`, SellerCity: `Tokyo`, Date: `01/06/2011`, Value: 89.6, NumberOfUnits: 485 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 47.4, SellerName: `Bryan Culver`, SellerCity: `Sofia`, Date: `01/14/2011`, Value: 5, NumberOfUnits: 470 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 6.2, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `01/23/2011`, Value: 78.6, NumberOfUnits: 197 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 57.6, SellerName: `Larry Lieb`, SellerCity: `Berlin`, Date: `01/26/2011`, Value: 59.8, NumberOfUnits: 353 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 37.6, SellerName: `Benjamin Meekins`, SellerCity: `Mellvile`, Date: `02/01/2011`, Value: 39.6, NumberOfUnits: 338 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 21, SellerName: `Claudia Kobayashi`, SellerCity: `New York`, Date: `02/08/2011`, Value: 93, NumberOfUnits: 17 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 11.8, SellerName: `Antonio Charbonneau`, SellerCity: `Berlin`, Date: `02/12/2011`, Value: 61.4, NumberOfUnits: 429 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 65, SellerName: `Alfredo Fetuchini`, SellerCity: `Tokyo`, Date: `02/14/2011`, Value: 24.4, NumberOfUnits: 385 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 20, SellerName: `Claudia Kobayashi`, SellerCity: `New York`, Date: `02/20/2011`, Value: 35.4, NumberOfUnits: 166 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 3.2, SellerName: `Lydia Burson`, SellerCity: `Seattle`, Date: `02/20/2011`, Value: 52.6, NumberOfUnits: 137 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 18.2, SellerName: `Russell Shorter`, SellerCity: `New York`, Date: `02/24/2011`, Value: 8.2, NumberOfUnits: 443 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 20.4, SellerName: `Carl Costello`, SellerCity: `Seattle`, Date: `02/26/2011`, Value: 87.4, NumberOfUnits: 40 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 20.6, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `03/05/2011`, Value: 7.4, NumberOfUnits: 138 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 23.8, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `03/09/2011`, Value: 18.2, NumberOfUnits: 15 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 76.4, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `03/09/2011`, Value: 74.6, NumberOfUnits: 469 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 93.4, SellerName: `Russell Shorter`, SellerCity: `London`, Date: `03/11/2011`, Value: 89, NumberOfUnits: 426 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 63, SellerName: `Benjamin Dupree`, SellerCity: `Seattle`, Date: `03/16/2011`, Value: 32.6, NumberOfUnits: 208 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 58.6, SellerName: `Brandon Mckim`, SellerCity: `Seattle`, Date: `03/21/2011`, Value: 51, NumberOfUnits: 155 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 82.4, SellerName: `Stanley Brooker`, SellerCity: `Seattle`, Date: `03/23/2011`, Value: 33.4, NumberOfUnits: 381 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 19.2, SellerName: `Nicholas Carmona`, SellerCity: `Tokyo`, Date: `04/12/2011`, Value: 75.2, NumberOfUnits: 5 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 53.6, SellerName: `Walter Pang`, SellerCity: `London`, Date: `04/12/2011`, Value: 14.6, NumberOfUnits: 221 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 97.4, SellerName: `Howard Sprouse`, SellerCity: `Sofia`, Date: `04/14/2011`, Value: 84.8, NumberOfUnits: 39 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 74.2, SellerName: `Mark Slater`, SellerCity: `New York`, Date: `04/16/2011`, Value: 51.4, NumberOfUnits: 468 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 8.2, SellerName: `Claudia Kobayashi`, SellerCity: `Seattle`, Date: `04/17/2011`, Value: 0.8, NumberOfUnits: 44 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 59.2, SellerName: `John Smith`, SellerCity: `Mellvile`, Date: `04/22/2011`, Value: 47.6, NumberOfUnits: 287 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 96.8, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `04/24/2011`, Value: 78.6, NumberOfUnits: 463 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 76.8, SellerName: `Walter Pang`, SellerCity: `Seattle`, Date: `04/24/2011`, Value: 63, NumberOfUnits: 335 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 73.4, SellerName: `Walter Pang`, SellerCity: `Berlin`, Date: `04/24/2011`, Value: 30.6, NumberOfUnits: 211 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 66.4, SellerName: `Benjamin Dupree`, SellerCity: `Seattle`, Date: `05/03/2011`, Value: 87.4, NumberOfUnits: 291 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 37, SellerName: `John Smith`, SellerCity: `Sofia`, Date: `05/05/2011`, Value: 40.2, NumberOfUnits: 1 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 21.4, SellerName: `Alfredo Fetuchini`, SellerCity: `Seattle`, Date: `05/06/2011`, Value: 46, NumberOfUnits: 120 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 20, SellerName: `Benjamin Dupree`, SellerCity: `Berlin`, Date: `05/06/2011`, Value: 72.6, NumberOfUnits: 382 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 16.6, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `05/07/2011`, Value: 7.8, NumberOfUnits: 63 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 41.8, SellerName: `Stanley Brooker`, SellerCity: `Seattle`, Date: `05/12/2011`, Value: 94.4, NumberOfUnits: 230 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 5, SellerName: `Larry Lieb`, SellerCity: `Tokyo`, Date: `05/13/2011`, Value: 31, NumberOfUnits: 362 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 10.8, SellerName: `Monica Freitag`, SellerCity: `New York`, Date: `05/17/2011`, Value: 59.8, NumberOfUnits: 430 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 66.2, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `05/23/2011`, Value: 91.2, NumberOfUnits: 204 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 61, SellerName: `Antonio Charbonneau`, SellerCity: `Berlin`, Date: `05/24/2011`, Value: 86.2, NumberOfUnits: 118 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 68.8, SellerName: `Walter Pang`, SellerCity: `Sofia`, Date: `06/01/2011`, Value: 14.6, NumberOfUnits: 17 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 40.8, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `06/03/2011`, Value: 9, NumberOfUnits: 312 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 97, SellerName: `Lydia Burson`, SellerCity: `Seattle`, Date: `06/12/2011`, Value: 95, NumberOfUnits: 283 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 67, SellerName: `Benjamin Dupree`, SellerCity: `Seattle`, Date: `06/13/2011`, Value: 27.6, NumberOfUnits: 460 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 67.2, SellerName: `Howard Sprouse`, SellerCity: `New York`, Date: `06/14/2011`, Value: 66.2, NumberOfUnits: 295 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 28.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `06/15/2011`, Value: 50.6, NumberOfUnits: 49 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 7.4, SellerName: `Russell Shorter`, SellerCity: `Tokyo`, Date: `06/24/2011`, Value: 8, NumberOfUnits: 127 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 39.2, SellerName: `Mark Slater`, SellerCity: `Seattle`, Date: `06/27/2011`, Value: 98.8, NumberOfUnits: 244 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 53.4, SellerName: `Harold Garvin`, SellerCity: `Tokyo`, Date: `07/01/2011`, Value: 11.2, NumberOfUnits: 188 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 25.6, SellerName: `Benjamin Dupree`, SellerCity: `Seattle`, Date: `07/06/2011`, Value: 56.2, NumberOfUnits: 458 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 70.4, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `07/08/2011`, Value: 82.4, NumberOfUnits: 448 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 7.6, SellerName: `Harold Garvin`, SellerCity: `Berlin`, Date: `07/27/2011`, Value: 30.6, NumberOfUnits: 226 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 21.6, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `08/01/2011`, Value: 69.6, NumberOfUnits: 474 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 37.6, SellerName: `David Haley`, SellerCity: `Sofia`, Date: `08/02/2011`, Value: 62.8, NumberOfUnits: 338 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 99.4, SellerName: `Benjamin Meekins`, SellerCity: `London`, Date: `08/02/2011`, Value: 75.2, NumberOfUnits: 88 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 72.2, SellerName: `Carl Costello`, SellerCity: `Berlin`, Date: `08/04/2011`, Value: 86.4, NumberOfUnits: 436 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 34.4, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `08/06/2011`, Value: 9.2, NumberOfUnits: 297 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 47, SellerName: `Russell Shorter`, SellerCity: `London`, Date: `08/07/2011`, Value: 5.2, NumberOfUnits: 240 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 26.4, SellerName: `Stanley Brooker`, SellerCity: `Sofia`, Date: `08/07/2011`, Value: 80.2, NumberOfUnits: 415 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 49.2, SellerName: `David Haley`, SellerCity: `Mellvile`, Date: `08/08/2011`, Value: 61.2, NumberOfUnits: 435 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 95.2, SellerName: `Monica Freitag`, SellerCity: `Berlin`, Date: `08/16/2011`, Value: 73.8, NumberOfUnits: 64 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 74.2, SellerName: `John Smith`, SellerCity: `Seattle`, Date: `08/23/2011`, Value: 40.8, NumberOfUnits: 21 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 82.6, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `08/25/2011`, Value: 55, NumberOfUnits: 467 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 42.8, SellerName: `Lydia Burson`, SellerCity: `Sofia`, Date: `09/02/2011`, Value: 28.2, NumberOfUnits: 98 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 83.6, SellerName: `Russell Shorter`, SellerCity: `Mellvile`, Date: `09/04/2011`, Value: 72.6, NumberOfUnits: 370 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 41.6, SellerName: `Walter Pang`, SellerCity: `Berlin`, Date: `09/05/2011`, Value: 81, NumberOfUnits: 94 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 74.2, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `09/09/2011`, Value: 95, NumberOfUnits: 106 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 75.4, SellerName: `Claudia Kobayashi`, SellerCity: `Sofia`, Date: `09/11/2011`, Value: 10, NumberOfUnits: 261 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 10.2, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `09/17/2011`, Value: 29.4, NumberOfUnits: 307 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 73, SellerName: `Harry Tyler`, SellerCity: `New York`, Date: `09/17/2011`, Value: 57, NumberOfUnits: 362 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 85.2, SellerName: `Benjamin Meekins`, SellerCity: `Tokyo`, Date: `09/24/2011`, Value: 24, NumberOfUnits: 330 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 77.6, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `09/26/2011`, Value: 91.8, NumberOfUnits: 23 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 50.4, SellerName: `David Haley`, SellerCity: `Berlin`, Date: `09/27/2011`, Value: 66.8, NumberOfUnits: 392 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 32.4, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `10/13/2011`, Value: 81.6, NumberOfUnits: 16 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 63, SellerName: `Lydia Burson`, SellerCity: `New York`, Date: `10/13/2011`, Value: 31, NumberOfUnits: 100 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 13.4, SellerName: `Carl Costello`, SellerCity: `Berlin`, Date: `10/22/2011`, Value: 85.6, NumberOfUnits: 132 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 0.4, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `10/22/2011`, Value: 74.4, NumberOfUnits: 22 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 66.2, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `11/02/2011`, Value: 88.2, NumberOfUnits: 96 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 50.2, SellerName: `Elisa Longbottom`, SellerCity: `Berlin`, Date: `11/03/2011`, Value: 31.4, NumberOfUnits: 76 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 68, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `11/04/2011`, Value: 91.2, NumberOfUnits: 492 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 6.6, SellerName: `Harry Tyler`, SellerCity: `Berlin`, Date: `11/08/2011`, Value: 51.6, NumberOfUnits: 49 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 35.6, SellerName: `Russell Shorter`, SellerCity: `Mellvile`, Date: `11/12/2011`, Value: 21, NumberOfUnits: 197 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 60, SellerName: `Howard Sprouse`, SellerCity: `Tokyo`, Date: `11/12/2011`, Value: 70.4, NumberOfUnits: 484 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 67.4, SellerName: `Russell Shorter`, SellerCity: `Tokyo`, Date: `11/13/2011`, Value: 14.4, NumberOfUnits: 182 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 52, SellerName: `Alfredo Fetuchini`, SellerCity: `London`, Date: `11/15/2011`, Value: 18.4, NumberOfUnits: 42 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 66.8, SellerName: `Brandon Mckim`, SellerCity: `New York`, Date: `11/19/2011`, Value: 52.8, NumberOfUnits: 109 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 56.2, SellerName: `Harold Garvin`, SellerCity: `Mellvile`, Date: `11/23/2011`, Value: 40.2, NumberOfUnits: 310 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 93.6, SellerName: `Monica Freitag`, SellerCity: `Sofia`, Date: `01/03/2012`, Value: 53.4, NumberOfUnits: 306 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 9.6, SellerName: `Harold Garvin`, SellerCity: `Seattle`, Date: `01/06/2012`, Value: 83, NumberOfUnits: 290 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 41.2, SellerName: `Monica Freitag`, SellerCity: `Tokyo`, Date: `01/10/2012`, Value: 29.8, NumberOfUnits: 499 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 9.8, SellerName: `Kathe Pettel`, SellerCity: `Berlin`, Date: `01/11/2012`, Value: 10.8, NumberOfUnits: 7 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 64.6, SellerName: `Nicholas Carmona`, SellerCity: `Sofia`, Date: `01/14/2012`, Value: 35, NumberOfUnits: 220 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 47.4, SellerName: `Elisa Longbottom`, SellerCity: `New York`, Date: `01/15/2012`, Value: 50.2, NumberOfUnits: 395 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 14.6, SellerName: `Lydia Burson`, SellerCity: `Sofia`, Date: `01/18/2012`, Value: 100, NumberOfUnits: 219 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 10.8, SellerName: `Larry Lieb`, SellerCity: `Mellvile`, Date: `01/18/2012`, Value: 92, NumberOfUnits: 229 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 65, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `01/22/2012`, Value: 55.8, NumberOfUnits: 111 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 48, SellerName: `Alfredo Fetuchini`, SellerCity: `London`, Date: `02/01/2012`, Value: 20.6, NumberOfUnits: 237 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 87.8, SellerName: `Claudia Kobayashi`, SellerCity: `Berlin`, Date: `02/13/2012`, Value: 17.2, NumberOfUnits: 114 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 55.4, SellerName: `Bryan Culver`, SellerCity: `London`, Date: `02/23/2012`, Value: 76.8, NumberOfUnits: 329 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 40.8, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `02/24/2012`, Value: 1.2, NumberOfUnits: 135 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 57.8, SellerName: `Harold Garvin`, SellerCity: `New York`, Date: `03/02/2012`, Value: 46.8, NumberOfUnits: 187 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 14.8, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `03/10/2012`, Value: 17.6, NumberOfUnits: 286 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 13, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `03/11/2012`, Value: 18.2, NumberOfUnits: 468 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 26, SellerName: `Monica Freitag`, SellerCity: `Tokyo`, Date: `03/18/2012`, Value: 93.2, NumberOfUnits: 71 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 72.6, SellerName: `Bryan Culver`, SellerCity: `Mellvile`, Date: `03/21/2012`, Value: 62, NumberOfUnits: 251 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 44.4, SellerName: `Monica Freitag`, SellerCity: `Berlin`, Date: `03/25/2012`, Value: 57.2, NumberOfUnits: 297 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 68.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Berlin`, Date: `03/25/2012`, Value: 4.2, NumberOfUnits: 248 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 35.4, SellerName: `Elisa Longbottom`, SellerCity: `Sofia`, Date: `03/26/2012`, Value: 45.2, NumberOfUnits: 488 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 41.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Sofia`, Date: `04/06/2012`, Value: 59.6, NumberOfUnits: 211 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 29.4, SellerName: `Stanley Brooker`, SellerCity: `Seattle`, Date: `04/14/2012`, Value: 3.2, NumberOfUnits: 149 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 52, SellerName: `Lydia Burson`, SellerCity: `Berlin`, Date: `04/14/2012`, Value: 9.8, NumberOfUnits: 99 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 57.8, SellerName: `Benjamin Meekins`, SellerCity: `Seattle`, Date: `04/16/2012`, Value: 14, NumberOfUnits: 225 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 26, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `04/27/2012`, Value: 95.4, NumberOfUnits: 408 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 5, SellerName: `Benjamin Meekins`, SellerCity: `Sofia`, Date: `05/09/2012`, Value: 40.2, NumberOfUnits: 417 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 3, SellerName: `Alfredo Fetuchini`, SellerCity: `London`, Date: `05/24/2012`, Value: 67.8, NumberOfUnits: 221 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 57.6, SellerName: `Mark Slater`, SellerCity: `New York`, Date: `06/02/2012`, Value: 45.4, NumberOfUnits: 288 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 72.4, SellerName: `Bryan Culver`, SellerCity: `Berlin`, Date: `06/03/2012`, Value: 92.8, NumberOfUnits: 372 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 82.6, SellerName: `Kathe Pettel`, SellerCity: `Seattle`, Date: `06/03/2012`, Value: 51.4, NumberOfUnits: 408 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 91.6, SellerName: `Benjamin Dupree`, SellerCity: `Mellvile`, Date: `06/04/2012`, Value: 28.6, NumberOfUnits: 13 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.8, SellerName: `Benjamin Dupree`, SellerCity: `Mellvile`, Date: `06/05/2012`, Value: 31.6, NumberOfUnits: 487 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 46.4, SellerName: `Benjamin Dupree`, SellerCity: `Sofia`, Date: `06/11/2012`, Value: 86, NumberOfUnits: 276 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 18.2, SellerName: `Howard Sprouse`, SellerCity: `New York`, Date: `06/16/2012`, Value: 40.2, NumberOfUnits: 490 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 48.8, SellerName: `Harold Garvin`, SellerCity: `London`, Date: `06/18/2012`, Value: 55.6, NumberOfUnits: 238 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.4, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `06/23/2012`, Value: 92, NumberOfUnits: 170 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 48.8, SellerName: `Brandon Mckim`, SellerCity: `Mellvile`, Date: `07/04/2012`, Value: 72.8, NumberOfUnits: 132 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 82.8, SellerName: `Mark Slater`, SellerCity: `Mellvile`, Date: `07/05/2012`, Value: 56.8, NumberOfUnits: 443 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 38.2, SellerName: `Benjamin Dupree`, SellerCity: `New York`, Date: `07/05/2012`, Value: 27.6, NumberOfUnits: 368 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 24.2, SellerName: `Harold Garvin`, SellerCity: `New York`, Date: `07/11/2012`, Value: 38.6, NumberOfUnits: 39 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 4, SellerName: `Alfredo Fetuchini`, SellerCity: `Tokyo`, Date: `07/13/2012`, Value: 43.2, NumberOfUnits: 95 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 81.8, SellerName: `Benjamin Meekins`, SellerCity: `Berlin`, Date: `07/14/2012`, Value: 42.6, NumberOfUnits: 42 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 75, SellerName: `Brandon Mckim`, SellerCity: `Seattle`, Date: `07/16/2012`, Value: 61.4, NumberOfUnits: 200 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 85.6, SellerName: `Monica Freitag`, SellerCity: `Seattle`, Date: `07/16/2012`, Value: 10.6, NumberOfUnits: 221 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 96.4, SellerName: `Larry Lieb`, SellerCity: `New York`, Date: `07/21/2012`, Value: 99.6, NumberOfUnits: 54 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 46.2, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `07/21/2012`, Value: 56, NumberOfUnits: 173 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 99.8, SellerName: `Lydia Burson`, SellerCity: `London`, Date: `07/23/2012`, Value: 10.8, NumberOfUnits: 47 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 42.4, SellerName: `Kathe Pettel`, SellerCity: `Mellvile`, Date: `07/26/2012`, Value: 91.6, NumberOfUnits: 173 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 52.2, SellerName: `Claudia Kobayashi`, SellerCity: `Mellvile`, Date: `08/05/2012`, Value: 98.8, NumberOfUnits: 323 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 45.6, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `08/07/2012`, Value: 26, NumberOfUnits: 264 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 56.8, SellerName: `Mark Slater`, SellerCity: `Sofia`, Date: `08/09/2012`, Value: 11.6, NumberOfUnits: 385 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 3.6, SellerName: `Harry Tyler`, SellerCity: `London`, Date: `08/10/2012`, Value: 26, NumberOfUnits: 56 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 34.6, SellerName: `Benjamin Dupree`, SellerCity: `Berlin`, Date: `08/12/2012`, Value: 96.2, NumberOfUnits: 267 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 92.4, SellerName: `Monica Freitag`, SellerCity: `Seattle`, Date: `08/14/2012`, Value: 95, NumberOfUnits: 109 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 34.8, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `08/17/2012`, Value: 62.4, NumberOfUnits: 478 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 23.4, SellerName: `Claudia Kobayashi`, SellerCity: `Berlin`, Date: `08/21/2012`, Value: 57.8, NumberOfUnits: 184 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 79.6, SellerName: `Brandon Mckim`, SellerCity: `Seattle`, Date: `08/21/2012`, Value: 35.4, NumberOfUnits: 132 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 30.8, SellerName: `Nicholas Carmona`, SellerCity: `Sofia`, Date: `08/22/2012`, Value: 96, NumberOfUnits: 142 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 90, SellerName: `Carl Costello`, SellerCity: `Seattle`, Date: `08/27/2012`, Value: 27.6, NumberOfUnits: 46 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 83.2, SellerName: `Walter Pang`, SellerCity: `Seattle`, Date: `09/03/2012`, Value: 68.6, NumberOfUnits: 102 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 0.2, SellerName: `Russell Shorter`, SellerCity: `Berlin`, Date: `09/09/2012`, Value: 96.6, NumberOfUnits: 21 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 36.6, SellerName: `Monica Freitag`, SellerCity: `Sofia`, Date: `09/10/2012`, Value: 5, NumberOfUnits: 442 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 92.4, SellerName: `Harry Tyler`, SellerCity: `New York`, Date: `09/13/2012`, Value: 99.2, NumberOfUnits: 254 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 28, SellerName: `Nicholas Carmona`, SellerCity: `Sofia`, Date: `09/13/2012`, Value: 50, NumberOfUnits: 251 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 60.4, SellerName: `Antonio Charbonneau`, SellerCity: `New York`, Date: `09/15/2012`, Value: 44, NumberOfUnits: 119 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 33, SellerName: `Claudia Kobayashi`, SellerCity: `New York`, Date: `09/19/2012`, Value: 32.4, NumberOfUnits: 256 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 99, SellerName: `John Smith`, SellerCity: `New York`, Date: `09/23/2012`, Value: 35.8, NumberOfUnits: 456 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 16.2, SellerName: `Kathe Pettel`, SellerCity: `London`, Date: `10/01/2012`, Value: 16.4, NumberOfUnits: 430 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 73, SellerName: `David Haley`, SellerCity: `Berlin`, Date: `10/02/2012`, Value: 57, NumberOfUnits: 248 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 21.8, SellerName: `Harold Garvin`, SellerCity: `Berlin`, Date: `10/18/2012`, Value: 28.2, NumberOfUnits: 440 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 28.4, SellerName: `Howard Sprouse`, SellerCity: `New York`, Date: `10/19/2012`, Value: 66.6, NumberOfUnits: 234 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 80.6, SellerName: `Benjamin Meekins`, SellerCity: `New York`, Date: `10/25/2012`, Value: 5.4, NumberOfUnits: 36 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 97.8, SellerName: `Harry Tyler`, SellerCity: `London`, Date: `10/26/2012`, Value: 41.2, NumberOfUnits: 46 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 88.8, SellerName: `Elisa Longbottom`, SellerCity: `London`, Date: `11/02/2012`, Value: 64.6, NumberOfUnits: 211 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 67.4, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `11/17/2012`, Value: 14.2, NumberOfUnits: 408 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 7.2, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `11/20/2012`, Value: 72.8, NumberOfUnits: 376 }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/grids/pivot-grid/theming/src/index.css b/samples/grids/pivot-grid/theming/src/index.css new file mode 100644 index 0000000000..342bdd824a --- /dev/null +++ b/samples/grids/pivot-grid/theming/src/index.css @@ -0,0 +1,245 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.themed-grid { + --ig-grid-grid-elevation: var(--ig-elevation-2); + --ig-grid-drag-elevation: var(--ig-elevation-5); + --ig-grid-grouparea-color: color-mix(in srgb, var(--ig-grid-header-text-color) 60%, var(--ig-grid-header-background)); + --ig-grid-grouparea-background: var(--ig-grid-header-background); + --ig-grid-drop-area-text-color: color-mix(in srgb, var(--ig-grid-header-text-color) 80%, var(--ig-grid-header-background)); + --ig-grid-drop-area-icon-color: var(--ig-grid-drop-area-text-color); + --ig-grid-drop-area-background: lch(from var(--ig-grid-header-background) calc(l + (50 - l) * 0.1 + sign(50 - l) * 5) c h); + --ig-grid-drop-area-on-drop-background: lch(from var(--ig-grid-header-background) calc(l + (50 - l) * 0.1 + sign(50 - l) * 5) c h); + --ig-grid-header-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-sortable-header-icon-hover-color: var(--ig-grid-accent-color); + --ig-grid-sorted-header-icon-color: hsl(from var(--ig-grid-accent-color) h s l/0.7); + --ig-grid-header-border-width: 0.0625rem; + --ig-grid-header-border-style: solid; + --ig-grid-header-border-color: color-mix(in srgb, var(--ig-grid-header-text-color) 20%, var(--ig-grid-header-background)); + --ig-grid-action-border-color: color-mix(in srgb, var(--ig-grid-foreground) 20%, var(--ig-grid-background)); + --ig-grid-ghost-header-background: var(--ig-grid-header-background); + --ig-grid-ghost-header-text-color: var(--ig-grid-header-text-color); + --ig-grid-ghost-header-icon-color: var(--ig-grid-header-text-color); + --ig-grid-excel-filtering-header-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-subheader-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-icon-color: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-hover-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-hover-icon-color: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-selected-icon-color: var(--ig-grid-accent-color); + --ig-grid-excel-filtering-actions-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-background)); + --ig-grid-excel-filtering-actions-disabled-foreground: color-mix(in srgb, var(--ig-grid-foreground) 50%, var(--ig-grid-background)); + --ig-grid-excel-filtering-border-color: color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)); + --ig-grid-grid-border-color: transparent; + --ig-grid-content-background: var(--ig-grid-background); + --ig-grid-content-text-color: var(--ig-grid-foreground); + --ig-grid-row-odd-background: var(--ig-grid-background); + --ig-grid-row-even-background: var(--ig-grid-background); + --ig-grid-body-column-border-color-odd: var(--ig-grid-background); + --ig-grid-body-column-border-color-even: var(--ig-grid-background); + --ig-grid-row-odd-text-color: var(--ig-grid-foreground); + --ig-grid-row-even-text-color: inherit; + --ig-grid-tree-selected-filtered-row-text-color: var(--ig-secondary-300); + --ig-grid-row-selected-text-color: var(--ig-grid-foreground); + --ig-grid-row-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-row-odd-background)); + --ig-grid-body-column-hover-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-row-odd-background)); + --ig-grid-row-hover-text-color: var(--ig-grid-foreground); + --ig-grid-row-border-width: 0.0625rem; + --ig-grid-row-border-style: solid; + --ig-grid-row-border-color: hsl(from color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)) h s l/0.38); + --ig-grid-row-drag-color: var(--ig-grid-foreground); + --ig-grid-pinned-border-width: 0.125rem; + --ig-grid-pinned-border-style: solid; + --ig-grid-pinned-border-color: color-mix(in srgb, var(--ig-grid-foreground) 20%, var(--ig-grid-background)); + --ig-grid-cell-active-border-width: 0.0625rem; + --ig-grid-cell-active-border-color: var(--ig-grid-accent-color); + --ig-grid-cell-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 24%, var(--ig-grid-background)); + --ig-grid-tree-selected-filtered-cell-text-color: var(--ig-secondary-500); + --ig-grid-cell-selected-text-color: var(--ig-grid-foreground); + --ig-grid-cell-editing-background: var(--ig-grid-background); + --ig-grid-cell-editing-foreground: var(--ig-grid-foreground); + --ig-grid-cell-editing-focus-foreground: var(--ig-grid-foreground); + --ig-grid-edit-mode-color: var(--ig-grid-accent-color); + --ig-grid-edited-row-indicator: color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)); + --ig-grid-cell-new-color: var(--ig-grid-foreground); + --ig-grid-cell-edited-value-color: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-cell-disabled-color: color-mix(in srgb, var(--ig-grid-foreground) 50%, var(--ig-grid-background)); + --ig-grid-resize-line-color: var(--ig-grid-accent-color); + --ig-grid-drop-indicator-color: var(--ig-grid-accent-color); + --ig-grid-group-label-column-name-text: var(--ig-grid-accent-color); + --ig-grid-group-label-icon: var(--ig-grid-accent-color); + --ig-grid-group-label-text: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-expand-all-icon-color: color-mix(in srgb, var(--ig-grid-foreground) 70%, var(--ig-grid-background)); + --ig-grid-expand-all-icon-hover-color: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-expand-icon-color: color-mix(in srgb, var(--ig-grid-foreground) 60%, var(--ig-grid-background)); + --ig-grid-expand-icon-hover-color: color-mix(in srgb, var(--ig-grid-foreground) 70%, var(--ig-grid-background)); + --ig-grid-active-expand-icon-color: var(--ig-gray-500); + --ig-grid-active-expand-icon-hover-color: var(--ig-primary-500); + --ig-grid-group-count-background: color-mix(in srgb, var(--ig-grid-foreground) 12%, var(--ig-grid-background)); + --ig-grid-group-count-text-color: var(--ig-grid-foreground); + --ig-grid-group-row-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-group-row-selected-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-filtering-header-background: var(--ig-grid-background); + --ig-grid-filtering-header-text-color: var(--ig-grid-foreground); + --ig-grid-filtering-row-background: var(--ig-grid-background); + --ig-grid-filtering-row-text-color: var(--ig-grid-foreground); + --ig-grid-filtering-dialog-background: var(--ig-grid-background); + --ig-grid-tree-filtered-text-color: var(--ig-gray-500); + --ig-grid-row-highlight: var(--ig-grid-accent-color); + --ig-grid-row-ghost-background: var(--ig-grid-background); + --ig-grid-row-ghost-border-color: hsl(from color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)) h s l/0.38); + --ig-grid-drop-area-border-radius: clamp(0rem, calc(var(--ig-radius-factor, 1) * 1rem), 1rem); + --ig-grid-summaries-border-color: var(--ig-gray-400); + --ig-grid-summaries-patch-background: color-mix(in srgb, var(--ig-grid-foreground) 12%, var(--ig-grid-background)); + --ig-grid-active-state-border-style: solid; + --ig-grid-header-text-color: var(--ig-grid-foreground); + --ig-grid-header-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-header-background)); + --ig-grid-header-selected-text-color: var(--ig-grid-header-text-color); + --ig-grid-row-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-background)); + --ig-grid-row-selected-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 16%, var(--ig-grid-background)); + --ig-grid-row-selected-hover-text-color: var(--ig-grid-foreground); + --ig-grid-body-column-selected-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 16%, var(--ig-grid-background)); + --ig-grid-body-column-hover-selected-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-background)); + --ig-grid-cell-selected-within-background: color-mix(in srgb, var(--ig-grid-accent-color) 24%, var(--ig-grid-background)); + --ig-grid-cell-selected-within-text-color: var(--ig-grid-foreground); + --ig-grid-foreground: hsla(from color(from var(--ig-grid-background) var(--y-contrast)) h 0 l/1); +} + +.theme-studio { + --ig-size: var(--ig-size-large); + --ig-radius-factor: 0.6; + + --ig-grid-background: #faf4ed; + --ig-grid-foreground: #575279; + --ig-grid-accent-color: #907aa9; + --ig-grid-header-background: #fffaf3; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-header-border-color: #dfdad9; + --ig-grid-row-border-color: #f2e9e1; + --ig-grid-grid-border-color: #dfdad9; + --ig-grid-grid-elevation: 0 0.0625rem 0.1875rem rgba(87, 82, 121, 0.1), 0 0.0625rem 0.125rem rgba(87, 82, 121, 0.06); +} + +.theme-ledger { + --ig-size: var(--ig-size-small); + --ig-radius-factor: 0; + + --ig-grid-background: #eceff4; + --ig-grid-foreground: #2e3440; + --ig-grid-accent-color: #5e81ac; + --ig-grid-header-background: #d8dee9; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-row-odd-background: #eceff4; + --ig-grid-row-even-background: #e5e9f0; + --ig-grid-body-column-border-color-odd: #d8dee9; + --ig-grid-body-column-border-color-even: #d8dee9; + --ig-grid-row-border-color: #d8dee9; + --ig-grid-grid-border-color: #c8d0dc; +} + +.theme-editorial { + --ig-size: var(--ig-size-large); + --ig-radius-factor: 0; + + --ig-grid-background: #333c43; + --ig-grid-foreground: #d3c6aa; + --ig-grid-accent-color: #a7c080; + --ig-grid-header-background: #3a464c; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-row-border-color: #333c43; + --ig-grid-grid-border-color: #333c43; +} + +.theme-midnight { + --ig-size: var(--ig-size-medium); + --ig-radius-factor: 0.25; + + --ig-grid-background: #282a36; + --ig-grid-foreground: #f8f8f2; + --ig-grid-accent-color: #bd93f9; + --ig-grid-header-background: #21222c; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-body-column-border-color-odd: #44475a; + --ig-grid-body-column-border-color-even: #44475a; + --ig-grid-row-border-color: #44475a; + --ig-grid-grid-border-color: #44475a; +} + +.grid-theming-sample { + display: flex; + flex-direction: column; + gap: 1rem; + box-sizing: border-box; +} + +.theme-picker { + display: flex; + flex-direction: column; + gap: 0.375rem; + align-self: flex-start; +} + +.theme-picker__label { + font-size: 0.75rem; + font-weight: 500; + letter-spacing: 0.04em; + color: var(--ig-gray-700); +} + +.theme-picker .theme-picker__hint { + margin: 0; + font-size: 0.75rem; + line-height: 1.45; + color: var(--ig-gray-600); +} + +.theme-picker__hint code { + font-family: 'JetBrains Mono', 'Fira Code', Consolas, monospace; + font-size: 0.6875rem; + font-variant-ligatures: none; +} + +.theme-swatch { + display: inline-block; + min-width: 0.875rem; + aspect-ratio: 1; + border-radius: 50%; + border: 0.0625rem solid var(--ig-gray-300); + vertical-align: -0.125rem; + background: linear-gradient(135deg, var(--swatch-bg) 0 50%, var(--swatch-accent) 50% 100%); +} + +.theme-swatch--studio { + --swatch-bg: #faf4ed; + --swatch-accent: #907aa9; +} + +.theme-swatch--ledger { + --swatch-bg: #eceff4; + --swatch-accent: #5e81ac; +} + +.theme-swatch--editorial { + --swatch-bg: #333c43; + --swatch-accent: #a7c080; +} + +.theme-swatch--midnight { + --swatch-bg: #282a36; + --swatch-accent: #bd93f9; +} + +igc-button-group { + --item-text-color: unset; + --elevation: unset; + + width: fit-content; +} + +igc-toggle-button { + max-width: 7.875rem; +} + +igx-grid-excel-style-filtering { + --ig-size: 3; +} diff --git a/samples/grids/pivot-grid/theming/src/index.tsx b/samples/grids/pivot-grid/theming/src/index.tsx new file mode 100644 index 0000000000..a1af5e4f94 --- /dev/null +++ b/samples/grids/pivot-grid/theming/src/index.tsx @@ -0,0 +1,107 @@ +import React, { useState } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; + +import { IgrPivotGrid, IgrPivotConfiguration } from 'igniteui-react-grids'; +import { IgrButtonGroup, IgrToggleButton } from 'igniteui-react'; +import { PivotDataFlat } from './PivotDataFlat'; + +import 'igniteui-react-grids/grids/themes/light/material.css'; + +const pivotDataFlat = new PivotDataFlat(); + +const pivotConfigHierarchy: IgrPivotConfiguration = { + columns: [ + { + memberName: 'Product', + memberFunction: (data: any) => data.ProductName, + enabled: true, + }, + ], + rows: [ + { + memberName: 'City', + memberFunction: (data: any) => data.SellerCity, + enabled: true, + childLevel: { + memberName: 'Seller', + memberFunction: (data: any) => data.SellerName, + enabled: true, + }, + }, + ], + values: [ + { + member: 'NumberOfUnits', + aggregate: { + aggregatorName: 'SUM', + key: 'sum', + label: 'Sum', + }, + enabled: true, + }, + ], + filters: null, +}; + +export default function PivotGridTheming() { + const [activeTheme, setActiveTheme] = useState('theme-studio'); + + return ( +
+
+
+ Pick a theme + ) => setActiveTheme(e.detail)} + > + + Studio + + + Ledger + + + + Editorial + + + + Midnight + + +

+ Custom themes, not built-in: each is a set of{' '} + --ig-grid-* variables with its own background and + accent. +

+
+
+ +
+
+
+ ); +} + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render(); diff --git a/samples/grids/pivot-grid/theming/tsconfig.json b/samples/grids/pivot-grid/theming/tsconfig.json new file mode 100644 index 0000000000..8c0d146f95 --- /dev/null +++ b/samples/grids/pivot-grid/theming/tsconfig.json @@ -0,0 +1,44 @@ +{ + "compilerOptions": { + "resolveJsonModule": true, + "esModuleInterop": true, + "baseUrl": ".", + "outDir": "build/dist", + "module": "esnext", + "target": "es5", + "lib": [ + "es6", + "dom" + ], + "sourceMap": true, + "allowJs": true, + "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, + "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/grids/pivot-grid/theming/vite.config.js b/samples/grids/pivot-grid/theming/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/grids/pivot-grid/theming/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/grids/playground/grid-theme-playground/.devcontainer/devcontainer.json b/samples/grids/playground/grid-theme-playground/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..e0b8e9c925 --- /dev/null +++ b/samples/grids/playground/grid-theme-playground/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:22" +} \ No newline at end of file diff --git a/samples/grids/playground/grid-theme-playground/.eslintrc.js b/samples/grids/playground/grid-theme-playground/.eslintrc.js new file mode 100644 index 0000000000..7168b71441 --- /dev/null +++ b/samples/grids/playground/grid-theme-playground/.eslintrc.js @@ -0,0 +1,78 @@ +// 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" + } + } + ] + }; \ No newline at end of file diff --git a/samples/grids/playground/grid-theme-playground/ReadMe.md b/samples/grids/playground/grid-theme-playground/ReadMe.md new file mode 100644 index 0000000000..b254e454c9 --- /dev/null +++ b/samples/grids/playground/grid-theme-playground/ReadMe.md @@ -0,0 +1,56 @@ + + + +This folder contains implementation of React application with example of Grid Theme feature using [Playground](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/grids/playground/grid-theme-playground +``` + +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/grids/playground/grid-theme-playground/index.html b/samples/grids/playground/grid-theme-playground/index.html new file mode 100644 index 0000000000..7ccd41dace --- /dev/null +++ b/samples/grids/playground/grid-theme-playground/index.html @@ -0,0 +1,12 @@ + + + + Sample | Ignite UI | React | infragistics + + + + +
+ + + \ No newline at end of file diff --git a/samples/grids/playground/grid-theme-playground/package.json b/samples/grids/playground/grid-theme-playground/package.json new file mode 100644 index 0000000000..749f09e5c8 --- /dev/null +++ b/samples/grids/playground/grid-theme-playground/package.json @@ -0,0 +1,50 @@ +{ + "name": "example-ignite-ui-react", + "description": "This project provides example of using Ignite UI for React components", + "author": "Infragistics", + "version": "1.4.0", + "license": "", + "homepage": ".", + "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", + "lint": "eslint ./src/**/*.{ts,tsx}" + }, + "dependencies": { + "igniteui-dockmanager": "^2.2.1", + "igniteui-react": "19.9.0", + "igniteui-react-core": "19.6.0", + "igniteui-react-grids": "19.10.0", + "igniteui-webcomponents": "~7.4.1", + "lit-html": "^3.2.0", + "react": "^19.3.0", + "react-dom": "^19.3.0", + "shiki": "^4.4.3", + "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", + "eslint": "^8.33.0", + "eslint-config-react": "^1.1.7", + "eslint-plugin-react": "^7.20.0", + "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/grids/playground/grid-theme-playground/sandbox.config.json b/samples/grids/playground/grid-theme-playground/sandbox.config.json new file mode 100644 index 0000000000..07f53508eb --- /dev/null +++ b/samples/grids/playground/grid-theme-playground/sandbox.config.json @@ -0,0 +1,5 @@ +{ + "infiniteLoopProtection": false, + "hardReloadOnChange": false, + "view": "browser" +} \ No newline at end of file diff --git a/samples/grids/playground/grid-theme-playground/src/PlaygroundData.ts b/samples/grids/playground/grid-theme-playground/src/PlaygroundData.ts new file mode 100644 index 0000000000..e994af4d26 --- /dev/null +++ b/samples/grids/playground/grid-theme-playground/src/PlaygroundData.ts @@ -0,0 +1,2555 @@ +// Flat grid: invoices + +export class InvoicesDataItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public ShipCountry: string; + public ShipCity: string; + public ShipName: string; + public Salesperson: string; + public UnitPrice: number; + public Quantity: number; + +} +export class InvoicesData extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Margaret Peacock`, UnitPrice: 43.9, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Margaret Peacock`, UnitPrice: 10, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Margaret Peacock`, UnitPrice: 18, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Nancy Davolio`, UnitPrice: 55, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Nancy Davolio`, UnitPrice: 45.6, Quantity: 2 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Janet Leverling`, UnitPrice: 21.5, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Nancy Davolio`, UnitPrice: 25, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Janet Leverling`, UnitPrice: 13.25, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfred's Futterkiste`, Salesperson: `Nancy Davolio`, UnitPrice: 13, Quantity: 2 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfreds Futterkiste`, Salesperson: `Michael Suyama`, UnitPrice: 45.6, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfreds Futterkiste`, Salesperson: `Michael Suyama`, UnitPrice: 18, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Berlin`, ShipName: `Alfreds Futterkiste`, Salesperson: `Michael Suyama`, UnitPrice: 12, Quantity: 2 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Robert King`, UnitPrice: 28.8, Quantity: 1 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Robert King`, UnitPrice: 12, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Janet Leverling`, UnitPrice: 23.25, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Janet Leverling`, UnitPrice: 14, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Janet Leverling`, UnitPrice: 34, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Janet Leverling`, UnitPrice: 32, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Margaret Peacock`, UnitPrice: 21, Quantity: 2 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Margaret Peacock`, UnitPrice: 6, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Margaret Peacock`, UnitPrice: 9.2, Quantity: 7 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Ana Trujillo Emparedados y helados`, Salesperson: `Margaret Peacock`, UnitPrice: 34.8, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 16.8, Quantity: 24 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Robert King`, UnitPrice: 39, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Robert King`, UnitPrice: 14, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Robert King`, UnitPrice: 32.8, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 2.5, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 17, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 7.75, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 19, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Janet Leverling`, UnitPrice: 14, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Margaret Peacock`, UnitPrice: 21, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Margaret Peacock`, UnitPrice: 18.4, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Margaret Peacock`, UnitPrice: 19.5, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Margaret Peacock`, UnitPrice: 55, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Robert King`, UnitPrice: 46, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Robert King`, UnitPrice: 12.75, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Nancy Davolio`, UnitPrice: 31.23, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Antonio Moreno Taquería`, Salesperson: `Nancy Davolio`, UnitPrice: 2.5, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Michael Suyama`, UnitPrice: 3.6, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Michael Suyama`, UnitPrice: 15.6, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Laura Callahan`, UnitPrice: 4.8, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Laura Callahan`, UnitPrice: 13, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Laura Callahan`, UnitPrice: 30.4, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 9.5, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 53, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 7, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 32.8, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 15, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 24, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 19.5, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 21, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 12.5, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 34, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 21.5, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 9.65, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Janet Leverling`, UnitPrice: 7, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 18, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 14, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 16.25, Quantity: 24 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Anne Dodsworth`, UnitPrice: 12.5, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Anne Dodsworth`, UnitPrice: 19, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 12, Quantity: 28 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Anne Dodsworth`, UnitPrice: 81, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Anne Dodsworth`, UnitPrice: 12.5, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 10.2, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Nancy Davolio`, UnitPrice: 12, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 15, Quantity: 28 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `Colchester`, ShipName: `Around the Horn`, Salesperson: `Margaret Peacock`, UnitPrice: 19, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 15.5, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 44, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 35.1, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 12, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Andrew Fuller`, UnitPrice: 3.6, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Andrew Fuller`, UnitPrice: 19.2, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Andrew Fuller`, UnitPrice: 6.2, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 64.8, Quantity: 28 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 27.2, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 31.2, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 24.9, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 14.4, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 7.7, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 7.45, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 18.4, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 32.8, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 34, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 21.5, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 21.5, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 23.25, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 45.6, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 7, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 9.65, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 6, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 18.4, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 10, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Margaret Peacock`, UnitPrice: 9.2, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Margaret Peacock`, UnitPrice: 20, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 7.75, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 17.45, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 32, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 7.75, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 22, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 18, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 7.45, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 263.5, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Margaret Peacock`, UnitPrice: 9.5, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 31, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Janet Leverling`, UnitPrice: 45.6, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Nancy Davolio`, UnitPrice: 18, Quantity: 35 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 9.5, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Anne Dodsworth`, UnitPrice: 18, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 31.23, Quantity: 35 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Laura Callahan`, UnitPrice: 123.79, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 19, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 4.5, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Sweden`, ShipCity: `Luleå`, ShipName: `Berglunds snabbköp`, Salesperson: `Steven Buchanan`, UnitPrice: 25.89, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Anne Dodsworth`, UnitPrice: 7.45, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Margaret Peacock`, UnitPrice: 45.6, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Janet Leverling`, UnitPrice: 19.5, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Janet Leverling`, UnitPrice: 18, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Laura Callahan`, UnitPrice: 21, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Laura Callahan`, UnitPrice: 10, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Laura Callahan`, UnitPrice: 18, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Anne Dodsworth`, UnitPrice: 62.5, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Michael Suyama`, UnitPrice: 10, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Mannheim`, ShipName: `Blauer See Delikatessen`, Salesperson: `Michael Suyama`, UnitPrice: 9.5, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `Spain`, ShipCity: `Madrid`, ShipName: `Bólido Comidas preparadas`, Salesperson: `Margaret Peacock`, UnitPrice: 6.2, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Spain`, ShipCity: `Madrid`, ShipName: `Bólido Comidas preparadas`, Salesperson: `Anne Dodsworth`, UnitPrice: 7, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Spain`, ShipCity: `Madrid`, ShipName: `Bólido Comidas preparadas`, Salesperson: `Margaret Peacock`, UnitPrice: 39, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Spain`, ShipCity: `Madrid`, ShipName: `Bólido Comidas preparadas`, Salesperson: `Margaret Peacock`, UnitPrice: 123.79, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Anne Dodsworth`, UnitPrice: 5.9, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 11.2, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 42.4, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 5.9, Quantity: 24 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 50, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 7.2, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 26.6, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 19, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 31, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 21.5, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Janet Leverling`, UnitPrice: 18, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 31, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 18, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Robert King`, UnitPrice: 12, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Robert King`, UnitPrice: 33.25, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Laura Callahan`, UnitPrice: 34.8, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Laura Callahan`, UnitPrice: 6, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 50, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 7.7, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 36.8, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Andrew Fuller`, UnitPrice: 18.4, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Andrew Fuller`, UnitPrice: 14, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Andrew Fuller`, UnitPrice: 53, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Steven Buchanan`, UnitPrice: 17.45, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Steven Buchanan`, UnitPrice: 12.5, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Steven Buchanan`, UnitPrice: 21.05, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Anne Dodsworth`, UnitPrice: 25, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Anne Dodsworth`, UnitPrice: 17.45, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Anne Dodsworth`, UnitPrice: 39, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Nancy Davolio`, UnitPrice: 18.4, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Laura Callahan`, UnitPrice: 17.45, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Laura Callahan`, UnitPrice: 49.3, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Laura Callahan`, UnitPrice: 7.75, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 22, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 30, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 40, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 9.5, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 38, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 19.5, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 36, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 25, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 23.25, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Marseille`, ShipName: `Bon app'`, Salesperson: `Margaret Peacock`, UnitPrice: 9.2, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 24.8, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 19.2, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 39.4, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 12, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 2, Quantity: 49 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 44, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 10, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 34, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 34.8, Quantity: 35 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Michael Suyama`, UnitPrice: 38, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Andrew Fuller`, UnitPrice: 25, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Andrew Fuller`, UnitPrice: 31, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Andrew Fuller`, UnitPrice: 39, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Andrew Fuller`, UnitPrice: 49.3, Quantity: 60 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Nancy Davolio`, UnitPrice: 40, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Nancy Davolio`, UnitPrice: 7.75, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Toronto`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Anne Dodsworth`, UnitPrice: 7.7, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Anne Dodsworth`, UnitPrice: 15.5, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Anne Dodsworth`, UnitPrice: 44, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 31.2, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 14.7, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Margaret Peacock`, UnitPrice: 7.6, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 18, Quantity: 60 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Janet Leverling`, UnitPrice: 34, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Michael Suyama`, UnitPrice: 21, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Michael Suyama`, UnitPrice: 19.45, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Nancy Davolio`, UnitPrice: 4.5, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Canada`, ShipCity: `Tsawassen`, ShipName: `Bottom-Dollar Markets`, Salesperson: `Nancy Davolio`, UnitPrice: 49.3, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Robert King`, UnitPrice: 8, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Robert King`, UnitPrice: 26.6, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Andrew Fuller`, UnitPrice: 24, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Andrew Fuller`, UnitPrice: 30.4, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Janet Leverling`, UnitPrice: 8, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Janet Leverling`, UnitPrice: 14.7, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Janet Leverling`, UnitPrice: 42.4, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Anne Dodsworth`, UnitPrice: 15, Quantity: 7 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Anne Dodsworth`, UnitPrice: 34.8, Quantity: 1 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Michael Suyama`, UnitPrice: 6, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Michael Suyama`, UnitPrice: 10, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Michael Suyama`, UnitPrice: 2.5, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Michael Suyama`, UnitPrice: 20, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Janet Leverling`, UnitPrice: 55, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Nancy Davolio`, UnitPrice: 30, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `B's Beverages`, Salesperson: `Nancy Davolio`, UnitPrice: 46, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Argentina`, ShipCity: `Buenos Aires`, ShipName: `Cactus Comidas para llevar`, Salesperson: `Laura Callahan`, UnitPrice: 12.5, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Argentina`, ShipCity: `Buenos Aires`, ShipName: `Cactus Comidas para llevar`, Salesperson: `Laura Callahan`, UnitPrice: 2.5, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Argentina`, ShipCity: `Buenos Aires`, ShipName: `Cactus Comidas para llevar`, Salesperson: `Laura Callahan`, UnitPrice: 14, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Centro comercial Moctezuma`, Salesperson: `Margaret Peacock`, UnitPrice: 8, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Mexico`, ShipCity: `México D.F.`, ShipName: `Centro comercial Moctezuma`, Salesperson: `Margaret Peacock`, UnitPrice: 20.8, Quantity: 1 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Steven Buchanan`, UnitPrice: 8, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 26.6, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 38, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Nancy Davolio`, UnitPrice: 6, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Nancy Davolio`, UnitPrice: 14, Quantity: 28 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Nancy Davolio`, UnitPrice: 49.3, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Nancy Davolio`, UnitPrice: 36, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Margaret Peacock`, UnitPrice: 26, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Margaret Peacock`, UnitPrice: 38, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Margaret Peacock`, UnitPrice: 43.9, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Janet Leverling`, UnitPrice: 43.9, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 31, Quantity: 16 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 34, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Robert King`, UnitPrice: 10, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Robert King`, UnitPrice: 53, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Steven Buchanan`, UnitPrice: 3.6, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Steven Buchanan`, UnitPrice: 19.2, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 14.4, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Michael Suyama`, UnitPrice: 8, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Margaret Peacock`, UnitPrice: 38, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Margaret Peacock`, UnitPrice: 49.3, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Switzerland`, ShipCity: `Bern`, ShipName: `Chop-suey Chinese`, Salesperson: `Janet Leverling`, UnitPrice: 19, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Rio de Janeiro`, ShipName: `Comércio Mineiro`, Salesperson: `Laura Callahan`, UnitPrice: 17, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Laura Callahan`, UnitPrice: 99, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Rio de Janeiro`, ShipName: `Comércio Mineiro`, Salesperson: `Laura Callahan`, UnitPrice: 16, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Laura Callahan`, UnitPrice: 10.4, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Margaret Peacock`, UnitPrice: 16.8, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Margaret Peacock`, UnitPrice: 9.6, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Rio de Janeiro`, ShipName: `Comércio Mineiro`, Salesperson: `Margaret Peacock`, UnitPrice: 30.4, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Rio de Janeiro`, ShipName: `Comércio Mineiro`, Salesperson: `Nancy Davolio`, UnitPrice: 12, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Andrew Fuller`, UnitPrice: 19.45, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Brazil`, ShipCity: `Sao Paulo`, ShipName: `Comércio Mineiro`, Salesperson: `Andrew Fuller`, UnitPrice: 28.5, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Laura Callahan`, UnitPrice: 15.2, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Laura Callahan`, UnitPrice: 16.8, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Laura Callahan`, UnitPrice: 27.8, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Andrew Fuller`, UnitPrice: 4.8, Quantity: 1 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Andrew Fuller`, UnitPrice: 7.2, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Robert King`, UnitPrice: 21.35, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Consolidated Holdings`, Salesperson: `Robert King`, UnitPrice: 97, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 14.7, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 30.4, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Andrew Fuller`, UnitPrice: 36.4, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Andrew Fuller`, UnitPrice: 36.8, Quantity: 24 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Andrew Fuller`, UnitPrice: 26.2, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Andrew Fuller`, UnitPrice: 6.2, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Margaret Peacock`, UnitPrice: 7.2, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Michael Suyama`, UnitPrice: 10, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Michael Suyama`, UnitPrice: 19.2, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Michael Suyama`, UnitPrice: 28.8, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 19, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 2.5, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 38, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 32, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 18, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Nancy Davolio`, UnitPrice: 12.5, Quantity: 8 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Nancy Davolio`, UnitPrice: 24, Quantity: 4 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Nancy Davolio`, UnitPrice: 33.25, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Margaret Peacock`, UnitPrice: 14.4, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Robert King`, UnitPrice: 10, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Robert King`, UnitPrice: 32, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Robert King`, UnitPrice: 28.5, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Margaret Peacock`, UnitPrice: 36, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Margaret Peacock`, UnitPrice: 15, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 9.2, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Stuttgart`, ShipName: `Die Wandernde Kuh`, Salesperson: `Laura Callahan`, UnitPrice: 21, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Margaret Peacock`, UnitPrice: 10, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Margaret Peacock`, UnitPrice: 6.2, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Margaret Peacock`, UnitPrice: 14.4, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Janet Leverling`, UnitPrice: 4.8, Quantity: 18 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Robert King`, UnitPrice: 21, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `Germany`, ShipCity: `Aachen`, ShipName: `Drachenblut Delikatessen`, Salesperson: `Nancy Davolio`, UnitPrice: 9.65, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Nancy Davolio`, UnitPrice: 11.2, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Nancy Davolio`, UnitPrice: 28.8, Quantity: 7 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 18, Quantity: 3 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 31, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 10, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Andrew Fuller`, UnitPrice: 7, Quantity: 9 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 39, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 14, Quantity: 10 }), + new InvoicesDataItem({ ShipCountry: `France`, ShipCity: `Nantes`, ShipName: `Du monde entier`, Salesperson: `Robert King`, UnitPrice: 9.65, Quantity: 14 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Nancy Davolio`, UnitPrice: 28.8, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Nancy Davolio`, UnitPrice: 17.2, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Nancy Davolio`, UnitPrice: 99, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Nancy Davolio`, UnitPrice: 14.4, Quantity: 35 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Nancy Davolio`, UnitPrice: 16, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Robert King`, UnitPrice: 25.89, Quantity: 15 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Robert King`, UnitPrice: 17, Quantity: 24 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 22, Quantity: 25 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 21, Quantity: 5 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 30, Quantity: 60 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 46, Quantity: 6 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 34.8, Quantity: 20 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 31.23, Quantity: 12 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 2.5, Quantity: 30 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 21.05, Quantity: 21 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Margaret Peacock`, UnitPrice: 21.5, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 30, Quantity: 40 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 24, Quantity: 35 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Laura Callahan`, UnitPrice: 34, Quantity: 50 }), + new InvoicesDataItem({ ShipCountry: `UK`, ShipCity: `London`, ShipName: `Eastern Connection`, Salesperson: `Robert King`, UnitPrice: 18, Quantity: 25 }), + ]; + super(...newItems.slice(0)); + } + } +} + +// Tree grid: employees + +export class EmployeesFlatAvatarsItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public Age: number; + public Avatar: string; + public HireDate: string; + public ID: number; + public Name: string; + public ParentID: number; + public Title: string; + +} +export class EmployeesFlatAvatars extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new EmployeesFlatAvatarsItem({ Age: 55, Avatar: `https://dl.infragistics.com/x/img/people/men/25.png`, HireDate: `2008-03-20`, ID: 1, Name: `Johnathan Winchester`, ParentID: -1, Title: `Development Manager` }), + new EmployeesFlatAvatarsItem({ Age: 42, Avatar: `https://dl.infragistics.com/x/img/people/women/14.png`, HireDate: `2014-01-22`, ID: 4, Name: `Ana Sanders`, ParentID: -1, Title: `CEO` }), + new EmployeesFlatAvatarsItem({ Age: 49, Avatar: `https://dl.infragistics.com/x/img/people/women/12.png`, HireDate: `2014-01-22`, ID: 18, Name: `Victoria Lincoln`, ParentID: -1, Title: `Accounting Manager` }), + new EmployeesFlatAvatarsItem({ Age: 61, Avatar: `https://dl.infragistics.com/x/img/people/men/24.png`, HireDate: `2010-01-01`, ID: 10, Name: `Yang Wang`, ParentID: -1, Title: `Localization Manager` }), + new EmployeesFlatAvatarsItem({ Age: 43, Avatar: `https://dl.infragistics.com/x/img/people/men/21.png`, HireDate: `2011-06-03`, ID: 3, Name: `Michael Burke`, ParentID: 1, Title: `Senior Software Developer` }), + new EmployeesFlatAvatarsItem({ Age: 29, Avatar: `https://dl.infragistics.com/x/img/people/men/22.png`, HireDate: `2009-06-19`, ID: 2, Name: `Thomas Anderson`, ParentID: 1, Title: `Senior Software Developer` }), + new EmployeesFlatAvatarsItem({ Age: 31, Avatar: `https://dl.infragistics.com/x/img/people/women/13.png`, HireDate: `2014-08-18`, ID: 11, Name: `Monica Reyes`, ParentID: 1, Title: `Software Development Team Lead` }), + new EmployeesFlatAvatarsItem({ Age: 35, Avatar: `https://dl.infragistics.com/x/img/people/men/23.png`, HireDate: `2015-09-17`, ID: 6, Name: `Roland Mendel`, ParentID: 11, Title: `Senior Software Developer` }), + new EmployeesFlatAvatarsItem({ Age: 44, Avatar: `https://dl.infragistics.com/x/img/people/men/26.png`, HireDate: `2009-10-11`, ID: 12, Name: `Sven Cooper`, ParentID: 11, Title: `Senior Software Developer` }), + new EmployeesFlatAvatarsItem({ Age: 44, Avatar: `https://dl.infragistics.com/x/img/people/men/27.png`, HireDate: `2014-04-04`, ID: 14, Name: `Laurence Johnson`, ParentID: 4, Title: `Director` }), + new EmployeesFlatAvatarsItem({ Age: 25, Avatar: `https://dl.infragistics.com/x/img/people/women/11.png`, HireDate: `2017-11-09`, ID: 5, Name: `Elizabeth Richards`, ParentID: 4, Title: `Vice President` }), + new EmployeesFlatAvatarsItem({ Age: 39, Avatar: `https://dl.infragistics.com/x/img/people/men/28.png`, HireDate: `2010-03-22`, ID: 13, Name: `Trevor Ashworth`, ParentID: 5, Title: `Director` }), + new EmployeesFlatAvatarsItem({ Age: 44, Avatar: `https://dl.infragistics.com/x/img/people/men/29.png`, HireDate: `2014-04-04`, ID: 17, Name: `Antonio Moreno`, ParentID: 18, Title: `Senior Accountant` }), + new EmployeesFlatAvatarsItem({ Age: 50, Avatar: `https://dl.infragistics.com/x/img/people/men/20.png`, HireDate: `2007-11-18`, ID: 7, Name: `Pedro Rodriguez`, ParentID: 10, Title: `Senior Localization Developer` }), + new EmployeesFlatAvatarsItem({ Age: 27, Avatar: `https://dl.infragistics.com/x/img/people/women/15.png`, HireDate: `2016-02-19`, ID: 8, Name: `Casey Harper`, ParentID: 10, Title: `Senior Localization Developer` }), + new EmployeesFlatAvatarsItem({ Age: 25, Avatar: `https://dl.infragistics.com/x/img/people/women/16.png`, HireDate: `2017-11-09`, ID: 15, Name: `Patricia Simpson`, ParentID: 7, Title: `Localization Intern` }), + new EmployeesFlatAvatarsItem({ Age: 39, Avatar: `https://dl.infragistics.com/x/img/people/men/26.png`, HireDate: `2010-03-22`, ID: 9, Name: `Francisco Chang`, ParentID: 7, Title: `Localization Intern` }), + new EmployeesFlatAvatarsItem({ Age: 25, Avatar: `https://dl.infragistics.com/x/img/people/men/27.png`, HireDate: `2018-03-18`, ID: 16, Name: `Peter Lewis`, ParentID: 7, Title: `Localization Intern` }), + ]; + super(...newItems.slice(0)); + } + } +} + +// Hierarchical grid: singers, albums and tours + +export class SingersDataItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public ID: number; + public Artist: string; + public Photo: string; + public Debut: number; + public GrammyNominations: number; + public GrammyAwards: number; + public HasGrammyAward: boolean; + public Tours: SingersDataItem_ToursItem[]; + public Albums: SingersDataItem_AlbumsItem[]; + +} +export class SingersDataItem_ToursItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public Tour: string; + public StartedOn: string; + public Location: string; + public Headliner: string; + public TouredBy: string; + +} +export class SingersDataItem_AlbumsItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public Album: string; + public LaunchDate: string; + public BillboardReview: number; + public USBillboard200: number; + public Artist: string; + public Songs: SingersDataItem_AlbumsItem_SongsItem[]; + +} +export class SingersDataItem_AlbumsItem_SongsItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public Number: number; + public Title: string; + public Released: string; + public Genre: string; + public Album: string; + +} +export class SingersData extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new SingersDataItem( + { + ID: 0, + Artist: `Naomí Yepes`, + Photo: `https://dl.infragistics.com/x/img/people/names/naomi.png`, + Debut: 2011, + GrammyNominations: 6, + GrammyAwards: 0, + HasGrammyAward: false, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Faithful Tour`, + StartedOn: `Sep 12`, + Location: `Worldwide`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `City Jam Sessions`, + StartedOn: `Aug 13`, + Location: `North America`, + Headliner: `YES`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Christmas NYC 2013`, + StartedOn: `Dec 13`, + Location: `United States`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Christmas NYC 2014`, + StartedOn: `Dec 14`, + Location: `North America`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Watermelon Tour`, + StartedOn: `Feb 15`, + Location: `Worldwide`, + Headliner: `YES`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Christmas NYC 2016`, + StartedOn: `Dec 16`, + Location: `United States`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `The Dragon Tour`, + StartedOn: `Feb 17`, + Location: `Worldwide`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Organic Sessions`, + StartedOn: `Aug 18`, + Location: `United States, England`, + Headliner: `YES`, + TouredBy: `Naomí Yepes` + }), + new SingersDataItem_ToursItem( + { + Tour: `Hope World Tour`, + StartedOn: `Mar 19`, + Location: `Worldwide`, + Headliner: `NO`, + TouredBy: `Naomí Yepes` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Initiation`, + LaunchDate: `September 3, 2013`, + BillboardReview: 86, + USBillboard200: 1, + Artist: `Naomí Yepes`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Dream Driven`, + LaunchDate: `August 25, 2014`, + BillboardReview: 81, + USBillboard200: 1, + Artist: `Naomí Yepes`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `Intro`, + Released: `29 Apr 2021`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Ferocious`, + Released: `28 Apr 2014`, + Genre: `Dance-pop R&B`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Going crazy`, + Released: `10 Feb 2015`, + Genre: `Dance-pop EDM`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Future past`, + Released: `14 Jul 2021`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Roaming like them`, + Released: `2 Jul 2014`, + Genre: `Electro house Electropop`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Last Wishes`, + Released: `12 Aug 2014`, + Genre: `R&B`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Stay where you are`, + Released: `14 Aug 1998`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Imaginarium`, + Released: `15 Sep 2013`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Tell me`, + Released: `30 Sep 2014`, + Genre: `Synth-pop R&B`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Shredded into pieces`, + Released: `2 Sep 2011`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 11, + Title: `Capture this moment`, + Released: `5 Jan 2011`, + Genre: `*`, + Album: `Dream Driven` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 12, + Title: `Dream Driven`, + Released: `12 Dec 1999`, + Genre: `*`, + Album: `Dream Driven` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `The dragon journey`, + LaunchDate: `May 20, 2016`, + BillboardReview: 60, + USBillboard200: 2, + Artist: `Naomí Yepes`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Organic me`, + LaunchDate: `August 17, 2018`, + BillboardReview: 82, + USBillboard200: 1, + Artist: `Naomí Yepes`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `I Love`, + Released: `11 May 2019`, + Genre: `Crunk reggaeton`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Early Morning Compass`, + Released: `15 Jan 2020`, + Genre: `mystical parody-bap `, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Key Fields Forever`, + Released: `2 Jan 2020`, + Genre: `Dance-pop EDM`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Stand by Your Goblins`, + Released: `20 Nov 2019`, + Genre: `*`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Mad to Walk`, + Released: `12 May 2019`, + Genre: `Electro house Electropop`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Alice's Waiting`, + Released: `28 Jan 2020`, + Genre: `R&B`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `We Shall Kiss`, + Released: `30 Oct 2019`, + Genre: `*`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Behind Single Ants`, + Released: `2 Oct 2019`, + Genre: `*`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Soap Autopsy`, + Released: `8 Aug 2019`, + Genre: `Synth-pop R&B`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Have You Met Rich?`, + Released: `1 Jul 2019`, + Genre: `ethno-tunes`, + Album: `Organic me` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 11, + Title: `Livin' on a Banana`, + Released: `22 Nov 2019`, + Genre: `Crunk reggaeton`, + Album: `Organic me` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Curiosity`, + LaunchDate: `December 7, 2019`, + BillboardReview: 75, + USBillboard200: 12, + Artist: `Naomí Yepes`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 1, + Artist: `Babila Ebwélé`, + Photo: `https://dl.infragistics.com/x/img/people/names/babila.png`, + Debut: 2009, + GrammyNominations: 0, + GrammyAwards: 11, + HasGrammyAward: true, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `The last straw`, + StartedOn: `May 09`, + Location: `Europe, Asia`, + Headliner: `NO`, + TouredBy: `Babila Ebwélé` + }), + new SingersDataItem_ToursItem( + { + Tour: `No foundations`, + StartedOn: `Jun 04`, + Location: `United States, Europe`, + Headliner: `YES`, + TouredBy: `Babila Ebwélé` + }), + new SingersDataItem_ToursItem( + { + Tour: `Crazy eyes`, + StartedOn: `Jun 08`, + Location: `North America`, + Headliner: `NO`, + TouredBy: `Babila Ebwélé` + }), + new SingersDataItem_ToursItem( + { + Tour: `Zero gravity`, + StartedOn: `Apr 19`, + Location: `United States`, + Headliner: `NO`, + TouredBy: `Babila Ebwélé` + }), + new SingersDataItem_ToursItem( + { + Tour: `Battle with myself`, + StartedOn: `Mar 08`, + Location: `North America`, + Headliner: `YES`, + TouredBy: `Babila Ebwélé` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Pushing up daisies`, + LaunchDate: `May 31, 2000`, + BillboardReview: 86, + USBillboard200: 42, + Artist: `Babila Ebwélé`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `Wood Shavings Forever`, + Released: `9 Jun 2019`, + Genre: `*`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Early Morning Drive`, + Released: `20 May 2019`, + Genre: `*`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Don't Natter`, + Released: `10 Jun 2019`, + Genre: `adult calypso-industrial`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Stairway to Balloons`, + Released: `18 Jun 2019`, + Genre: `calypso and mariachi`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `The Number of your Apple`, + Released: `29 Oct 2019`, + Genre: `*`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Your Delightful Heart`, + Released: `24 Feb 2019`, + Genre: `*`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Nice Weather For Balloons`, + Released: `1 Aug 2019`, + Genre: `rap-hop`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `The Girl From Cornwall`, + Released: `4 May 2019`, + Genre: `enigmatic rock-and-roll`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Here Without Jack`, + Released: `24 Oct 2019`, + Genre: `*`, + Album: `Pushing up daisies` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Born Rancid`, + Released: `19 Mar 2019`, + Genre: `*`, + Album: `Pushing up daisies` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Death's dead`, + LaunchDate: `June 8, 2016`, + BillboardReview: 85, + USBillboard200: 95, + Artist: `Babila Ebwélé`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `Men Sound Better With You`, + Released: `20 Oct 2019`, + Genre: `rap-hop`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Ghost in My Rod`, + Released: `5 Oct 2019`, + Genre: `enigmatic rock-and-roll`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Bed of Men`, + Released: `14 Nov 2019`, + Genre: `whimsical comedy-grass `, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Don't Push`, + Released: `2 Jan 2020`, + Genre: `unblack electronic-trip-hop`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Nice Weather For Men`, + Released: `18 Dec 2019`, + Genre: `*`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Rancid Rhapsody`, + Released: `10 Mar 2019`, + Genre: `*`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Push, Push, Push!`, + Released: `21 Feb 2019`, + Genre: `*`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `My Name is Sarah`, + Released: `15 Nov 2019`, + Genre: `*`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `The Girl From My Hotel`, + Released: `6 Nov 2019`, + Genre: `*`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Free Box`, + Released: `18 Apr 2019`, + Genre: `splitter-funk`, + Album: `Death's dead` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 11, + Title: `Hotel Cardiff`, + Released: `30 Dec 2019`, + Genre: `guilty pleasure ebm`, + Album: `Death's dead` + })] + + })] + + }), + new SingersDataItem( + { + ID: 2, + Artist: `Ahmad Nazeri`, + Photo: `https://dl.infragistics.com/x/img/people/names/ahmad.png`, + Debut: 2004, + GrammyNominations: 3, + GrammyAwards: 1, + HasGrammyAward: true, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Emergency`, + LaunchDate: `March 6, 2004`, + BillboardReview: 98, + USBillboard200: 69, + Artist: `Ahmad Nazeri`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Bursting bubbles`, + LaunchDate: `April 17, 2006`, + BillboardReview: 69, + USBillboard200: 39, + Artist: `Ahmad Nazeri`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 3, + Artist: `Kimmy McIlmorie`, + Photo: `https://dl.infragistics.com/x/img/people/names/kimmy.png`, + Debut: 2007, + GrammyNominations: 21, + GrammyAwards: 3, + HasGrammyAward: true, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Here we go again`, + LaunchDate: `November 18, 2017`, + BillboardReview: 68, + USBillboard200: 1, + Artist: `Kimmy McIlmorie`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 4, + Artist: `Mar Rueda`, + Photo: `https://dl.infragistics.com/x/img/people/names/mar.png`, + Debut: 1996, + GrammyNominations: 14, + GrammyAwards: 2, + HasGrammyAward: true, + Tours: [ + ] + , + Albums: [ + ] + + }), + new SingersDataItem( + { + ID: 5, + Artist: `Izabella Tabakova`, + Photo: `https://dl.infragistics.com/x/img/people/names/izabella.png`, + Debut: 2017, + GrammyNominations: 7, + GrammyAwards: 11, + HasGrammyAward: true, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Final breath`, + StartedOn: `Jun 13`, + Location: `Europe`, + Headliner: `YES`, + TouredBy: `Izabella Tabakova` + }), + new SingersDataItem_ToursItem( + { + Tour: `Once bitten`, + StartedOn: `Dec 18`, + Location: `Australia, United States`, + Headliner: `NO`, + TouredBy: `Izabella Tabakova` + }), + new SingersDataItem_ToursItem( + { + Tour: `Code word`, + StartedOn: `Sep 19`, + Location: `United States, Europe`, + Headliner: `NO`, + TouredBy: `Izabella Tabakova` + }), + new SingersDataItem_ToursItem( + { + Tour: `Final draft`, + StartedOn: `Sep 17`, + Location: `United States, Europe`, + Headliner: `YES`, + TouredBy: `Izabella Tabakova` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Once bitten`, + LaunchDate: `July 16, 2007`, + BillboardReview: 79, + USBillboard200: 53, + Artist: `Izabella Tabakova`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `Whole Lotta Super Cats`, + Released: `21 May 2019`, + Genre: `*`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Enter Becky`, + Released: `16 Jan 2020`, + Genre: `*`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Your Cheatin' Flamingo`, + Released: `14 Jan 2020`, + Genre: `*`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Mad to Kiss`, + Released: `6 Nov 2019`, + Genre: `Synth-pop R&B`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Hotel Prague`, + Released: `20 Oct 2019`, + Genre: `ethno-tunes`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Jail on My Mind`, + Released: `31 May 2019`, + Genre: `Crunk reggaeton`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Amazing Blues`, + Released: `29 May 2019`, + Genre: `mystical parody-bap `, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Goody Two Iron Filings`, + Released: `4 Jul 2019`, + Genre: `Electro house Electropop`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `I Love in Your Arms`, + Released: `7 Jun 2019`, + Genre: `R&B`, + Album: `Once bitten` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Truly Madly Amazing`, + Released: `12 Sep 2019`, + Genre: `ethno-tunes`, + Album: `Once bitten` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Your graciousness`, + LaunchDate: `November 17, 2004`, + BillboardReview: 69, + USBillboard200: 30, + Artist: `Izabella Tabakova`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `We Shall Tickle`, + Released: `31 Aug 2019`, + Genre: `old emo-garage `, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Snail Boogie`, + Released: `14 Jun 2019`, + Genre: `*`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Amazing Liz`, + Released: `15 Oct 2019`, + Genre: `*`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `When Sexy Aardvarks Cry`, + Released: `1 Oct 2019`, + Genre: `whimsical comedy-grass `, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Stand By Dave`, + Released: `18 Aug 2019`, + Genre: `unblack electronic-trip-hop`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `The Golf Course is Your Land`, + Released: `2 Apr 2019`, + Genre: `*`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Where Have All the Men Gone?`, + Released: `29 Apr 2019`, + Genre: `*`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Rhythm of the Leg`, + Released: `5 Aug 2019`, + Genre: `ethno-tunes`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Baby, I Need Your Hats`, + Released: `5 Dec 2019`, + Genre: `neuro-tunes`, + Album: `Your graciousness` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Stand by Your Cat`, + Released: `25 Jul 2019`, + Genre: `*`, + Album: `Your graciousness` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Dark matters`, + LaunchDate: `November 3, 2002`, + BillboardReview: 79, + USBillboard200: 85, + Artist: `Izabella Tabakova`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 6, + Artist: `Nguyễn Diệp Chi`, + Photo: `https://dl.infragistics.com/x/img/people/names/nguyen.png`, + Debut: 1992, + GrammyNominations: 4, + GrammyAwards: 2, + HasGrammyAward: true, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Library of liberty`, + LaunchDate: `December 22, 2003`, + BillboardReview: 93, + USBillboard200: 5, + Artist: `Nguyễn Diệp Chi`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 7, + Artist: `Eva Lee`, + Photo: `https://dl.infragistics.com/x/img/people/names/eva.png`, + Debut: 2008, + GrammyNominations: 2, + GrammyAwards: 0, + HasGrammyAward: false, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Just a tease`, + LaunchDate: `May 3, 2001`, + BillboardReview: 91, + USBillboard200: 29, + Artist: `Eva Lee`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 8, + Artist: `Siri Jakobsson`, + Photo: `https://dl.infragistics.com/x/img/people/names/siri.png`, + Debut: 1990, + GrammyNominations: 2, + GrammyAwards: 8, + HasGrammyAward: true, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Basket case`, + StartedOn: `Jan 07`, + Location: `Europe, Asia`, + Headliner: `NO`, + TouredBy: `Siri Jakobsson` + }), + new SingersDataItem_ToursItem( + { + Tour: `The bigger fish`, + StartedOn: `Dec 07`, + Location: `United States, Europe`, + Headliner: `YES`, + TouredBy: `Siri Jakobsson` + }), + new SingersDataItem_ToursItem( + { + Tour: `Missed the boat`, + StartedOn: `Jun 09`, + Location: `Europe, Asia`, + Headliner: `NO`, + TouredBy: `Siri Jakobsson` + }), + new SingersDataItem_ToursItem( + { + Tour: `Equivalent exchange`, + StartedOn: `Feb 06`, + Location: `United States, Europe`, + Headliner: `YES`, + TouredBy: `Siri Jakobsson` + }), + new SingersDataItem_ToursItem( + { + Tour: `Damage control`, + StartedOn: `Oct 11`, + Location: `Australia, United States`, + Headliner: `NO`, + TouredBy: `Siri Jakobsson` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Under the bus`, + LaunchDate: `May 14, 2000`, + BillboardReview: 67, + USBillboard200: 67, + Artist: `Siri Jakobsson`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `Jack Broke My Heart At Tesco's`, + Released: `19 Jan 2020`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Cat Deep, Hats High`, + Released: `5 Dec 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `In Snail We Trust`, + Released: `31 May 2019`, + Genre: `hardcore opera`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Liz's Waiting`, + Released: `22 Jul 2019`, + Genre: `emotional C-jam `, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Lifeless Blues`, + Released: `14 Jun 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `I Spin`, + Released: `26 Mar 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Ring of Rock`, + Released: `12 Dec 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Livin' on a Rock`, + Released: `17 Apr 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Your Lifeless Heart`, + Released: `15 Sep 2019`, + Genre: `adult calypso-industrial`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `The High Street on My Mind`, + Released: `11 Nov 2019`, + Genre: `calypso and mariachi`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 11, + Title: `Behind Ugly Curtains`, + Released: `8 May 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 12, + Title: `Where Have All the Curtains Gone?`, + Released: `28 Jun 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 13, + Title: `Ghost in My Apple`, + Released: `14 Dec 2019`, + Genre: `*`, + Album: `Under the bus` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 14, + Title: `I Chatter`, + Released: `30 Nov 2019`, + Genre: `*`, + Album: `Under the bus` + })] + + })] + + }), + new SingersDataItem( + { + ID: 9, + Artist: `Pablo Cambeiro`, + Photo: `https://dl.infragistics.com/x/img/people/names/pablo.png`, + Debut: 2011, + GrammyNominations: 5, + GrammyAwards: 0, + HasGrammyAward: false, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Beads`, + StartedOn: `May 11`, + Location: `Worldwide`, + Headliner: `NO`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Concept art`, + StartedOn: `Dec 18`, + Location: `United States`, + Headliner: `YES`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Glass shoe`, + StartedOn: `Jan 20`, + Location: `Worldwide`, + Headliner: `YES`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Pushing buttons`, + StartedOn: `Feb 15`, + Location: `Europe, Asia`, + Headliner: `NO`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Dark matters`, + StartedOn: `Jan 04`, + Location: `Australia, United States`, + Headliner: `YES`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Greener grass`, + StartedOn: `Sep 09`, + Location: `United States, Europe`, + Headliner: `NO`, + TouredBy: `Pablo Cambeiro` + }), + new SingersDataItem_ToursItem( + { + Tour: `Apparatus`, + StartedOn: `Nov 16`, + Location: `Europe`, + Headliner: `NO`, + TouredBy: `Pablo Cambeiro` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Fluke`, + LaunchDate: `August 4, 2017`, + BillboardReview: 93, + USBillboard200: 98, + Artist: `Pablo Cambeiro`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Crowd control`, + LaunchDate: `August 26, 2003`, + BillboardReview: 68, + USBillboard200: 84, + Artist: `Pablo Cambeiro`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `My Bed on My Mind`, + Released: `25 Mar 2019`, + Genre: `ethno-tunes`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Bright Blues`, + Released: `28 Sep 2019`, + Genre: `neuro-tunes`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `Sail, Sail, Sail!`, + Released: `5 Mar 2019`, + Genre: `*`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `Hotel My Bed`, + Released: `22 Mar 2019`, + Genre: `*`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Gonna Make You Mash`, + Released: `18 May 2019`, + Genre: `*`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Straight Outta America`, + Released: `16 Jan 2020`, + Genre: `hardcore opera`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `I Drive`, + Released: `23 Feb 2019`, + Genre: `emotional C-jam `, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Like a Teddy`, + Released: `31 Aug 2019`, + Genre: `*`, + Album: `Crowd control` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Teddy Boogie`, + Released: `30 Nov 2019`, + Genre: `*`, + Album: `Crowd control` + })] + + })] + + }), + new SingersDataItem( + { + ID: 10, + Artist: `Athar Malakooti`, + Photo: `https://dl.infragistics.com/x/img/people/names/athar.png`, + Debut: 2017, + GrammyNominations: 0, + GrammyAwards: 0, + HasGrammyAward: false, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Pushing up daisies`, + LaunchDate: `February 24, 2016`, + BillboardReview: 74, + USBillboard200: 77, + Artist: `Athar Malakooti`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 11, + Artist: `Marti Valencia`, + Photo: `https://dl.infragistics.com/x/img/people/names/marti.png`, + Debut: 2004, + GrammyNominations: 1, + GrammyAwards: 1, + HasGrammyAward: true, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Cat eat cat world`, + StartedOn: `Sep 00`, + Location: `Worldwide`, + Headliner: `YES`, + TouredBy: `Marti Valencia` + }), + new SingersDataItem_ToursItem( + { + Tour: `Final straw`, + StartedOn: `Sep 06`, + Location: `United States, Europe`, + Headliner: `NO`, + TouredBy: `Marti Valencia` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Nemesis`, + LaunchDate: `June 30, 2004`, + BillboardReview: 94, + USBillboard200: 9, + Artist: `Marti Valencia`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `First chance`, + LaunchDate: `January 7, 2019`, + BillboardReview: 96, + USBillboard200: 19, + Artist: `Marti Valencia`, + Songs: [ + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 1, + Title: `My Name is Jason`, + Released: `12 Jul 2019`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 2, + Title: `Amazing Andy`, + Released: `5 Mar 2019`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 3, + Title: `The Number of your Knight`, + Released: `4 Dec 2019`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 4, + Title: `I Sail`, + Released: `3 Mar 2019`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 5, + Title: `Goody Two Hands`, + Released: `11 Oct 2019`, + Genre: `Electro house Electropop`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 6, + Title: `Careful With That Knife`, + Released: `18 Dec 2019`, + Genre: `R&B`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 7, + Title: `Four Single Ants`, + Released: `18 Jan 2020`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 8, + Title: `Kiss Forever`, + Released: `10 Aug 2019`, + Genre: `*`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 9, + Title: `Rich's Waiting`, + Released: `15 Mar 2019`, + Genre: `Synth-pop R&B`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 10, + Title: `Japan is Your Land`, + Released: `7 Mar 2019`, + Genre: `ethno-tunes`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 11, + Title: `Pencils in My Banana`, + Released: `21 Jun 2019`, + Genre: `Crunk reggaeton`, + Album: `First chance` + }), + new SingersDataItem_AlbumsItem_SongsItem( + { + Number: 12, + Title: `I Sail in Your Arms`, + Released: `30 Apr 2019`, + Genre: `Synth-pop R&B`, + Album: `First chance` + })] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `God's advocate`, + LaunchDate: `April 29, 2007`, + BillboardReview: 66, + USBillboard200: 37, + Artist: `Marti Valencia`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 12, + Artist: `Alicia Stanger`, + Photo: `https://dl.infragistics.com/x/img/people/names/alicia.png`, + Debut: 2010, + GrammyNominations: 1, + GrammyAwards: 0, + HasGrammyAward: false, + Tours: [ + ] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Forever alone`, + LaunchDate: `November 3, 2005`, + BillboardReview: 82, + USBillboard200: 7, + Artist: `Alicia Stanger`, + Songs: [ + ] + + })] + + }), + new SingersDataItem( + { + ID: 13, + Artist: `Peter Taylor`, + Photo: `https://dl.infragistics.com/x/img/people/names/peter.png`, + Debut: 2005, + GrammyNominations: 0, + GrammyAwards: 2, + HasGrammyAward: true, + Tours: [ + new SingersDataItem_ToursItem( + { + Tour: `Love`, + StartedOn: `Jun 04`, + Location: `Europe, Asia`, + Headliner: `YES`, + TouredBy: `Peter Taylor` + }), + new SingersDataItem_ToursItem( + { + Tour: `Fault of treasures`, + StartedOn: `Oct 13`, + Location: `North America`, + Headliner: `NO`, + TouredBy: `Peter Taylor` + }), + new SingersDataItem_ToursItem( + { + Tour: `For eternity`, + StartedOn: `Mar 05`, + Location: `United States`, + Headliner: `YES`, + TouredBy: `Peter Taylor` + }), + new SingersDataItem_ToursItem( + { + Tour: `Time flies`, + StartedOn: `Jun 03`, + Location: `North America`, + Headliner: `NO`, + TouredBy: `Peter Taylor` + }), + new SingersDataItem_ToursItem( + { + Tour: `Highest difficulty`, + StartedOn: `Nov 01`, + Location: `Worldwide`, + Headliner: `YES`, + TouredBy: `Peter Taylor` + }), + new SingersDataItem_ToursItem( + { + Tour: `Sleeping dogs`, + StartedOn: `May 04`, + Location: `United States, Europe`, + Headliner: `NO`, + TouredBy: `Peter Taylor` + })] + , + Albums: [ + new SingersDataItem_AlbumsItem( + { + Album: `Decisions decisions`, + LaunchDate: `April 10, 2008`, + BillboardReview: 85, + USBillboard200: 35, + Artist: `Peter Taylor`, + Songs: [ + ] + + }), + new SingersDataItem_AlbumsItem( + { + Album: `Climate changed`, + LaunchDate: `June 20, 2015`, + BillboardReview: 66, + USBillboard200: 89, + Artist: `Peter Taylor`, + Songs: [ + ] + + })] + + }), + ]; + super(...(newItems.slice(0, items))); + } + } +} + +// Pivot grid: product sales + +export class PivotDataFlatItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public ProductName: string; + public ProductUnitPrice: number; + public SellerName: string; + public SellerCity: string; + public Date: string; + public Value: number; + public NumberOfUnits: number; + +} +export class PivotDataFlat extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 12.8, SellerName: `Stanley Brooker`, SellerCity: `Seattle`, Date: `01/01/2007`, Value: 94.4, NumberOfUnits: 282 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 49.6, SellerName: `Elisa Longbottom`, SellerCity: `Sofia`, Date: `01/05/2007`, Value: 70.8, NumberOfUnits: 296 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 3.6, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `01/06/2007`, Value: 35.8, NumberOfUnits: 68 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 85.6, SellerName: `David Haley`, SellerCity: `London`, Date: `01/07/2007`, Value: 41.4, NumberOfUnits: 293 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 18.2, SellerName: `John Smith`, SellerCity: `Seattle`, Date: `01/08/2007`, Value: 60.6, NumberOfUnits: 240 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 68.4, SellerName: `Larry Lieb`, SellerCity: `Tokyo`, Date: `01/12/2007`, Value: 38, NumberOfUnits: 456 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 16.2, SellerName: `Walter Pang`, SellerCity: `Sofia`, Date: `02/09/2007`, Value: 89.2, NumberOfUnits: 492 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 35.2, SellerName: `Benjamin Dupree`, SellerCity: `Tokyo`, Date: `02/16/2007`, Value: 2, NumberOfUnits: 78 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 73.2, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `02/17/2007`, Value: 4.6, NumberOfUnits: 150 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 73.6, SellerName: `Nicholas Carmona`, SellerCity: `London`, Date: `02/19/2007`, Value: 36.2, NumberOfUnits: 262 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 47.2, SellerName: `Monica Freitag`, SellerCity: `Sofia`, Date: `02/21/2007`, Value: 18.8, NumberOfUnits: 125 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 51.4, SellerName: `Kathe Pettel`, SellerCity: `Sofia`, Date: `03/04/2007`, Value: 11.6, NumberOfUnits: 42 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 27.6, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `03/04/2007`, Value: 41.4, NumberOfUnits: 282 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 22.4, SellerName: `Antonio Charbonneau`, SellerCity: `Berlin`, Date: `03/17/2007`, Value: 59.8, NumberOfUnits: 305 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 85.4, SellerName: `Glenn Landeros`, SellerCity: `Tokyo`, Date: `03/23/2007`, Value: 31.4, NumberOfUnits: 265 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 80.8, SellerName: `Elisa Longbottom`, SellerCity: `Mellvile`, Date: `03/25/2007`, Value: 90.4, NumberOfUnits: 350 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 64.6, SellerName: `Glenn Landeros`, SellerCity: `Mellvile`, Date: `03/27/2007`, Value: 95.4, NumberOfUnits: 82 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 50, SellerName: `Harry Tyler`, SellerCity: `New York`, Date: `04/02/2007`, Value: 1.4, NumberOfUnits: 67 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 16.4, SellerName: `Brandon Mckim`, SellerCity: `Mellvile`, Date: `04/04/2007`, Value: 25.4, NumberOfUnits: 370 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 50, SellerName: `Monica Freitag`, SellerCity: `Berlin`, Date: `04/12/2007`, Value: 46.4, NumberOfUnits: 228 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 44.8, SellerName: `Bryan Culver`, SellerCity: `Tokyo`, Date: `04/15/2007`, Value: 82.2, NumberOfUnits: 272 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 44.4, SellerName: `Russell Shorter`, SellerCity: `Berlin`, Date: `04/18/2007`, Value: 84, NumberOfUnits: 227 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 39.4, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `04/18/2007`, Value: 94.4, NumberOfUnits: 248 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 36.6, SellerName: `Benjamin Meekins`, SellerCity: `Tokyo`, Date: `04/21/2007`, Value: 45.8, NumberOfUnits: 414 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 75.8, SellerName: `Walter Pang`, SellerCity: `London`, Date: `04/25/2007`, Value: 97.6, NumberOfUnits: 43 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 57.8, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `04/26/2007`, Value: 21, NumberOfUnits: 71 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 40.2, SellerName: `Stanley Brooker`, SellerCity: `New York`, Date: `05/14/2007`, Value: 72, NumberOfUnits: 321 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 49.6, SellerName: `Elisa Longbottom`, SellerCity: `London`, Date: `05/17/2007`, Value: 49.6, NumberOfUnits: 329 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 56.6, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `05/17/2007`, Value: 72.8, NumberOfUnits: 88 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 67.2, SellerName: `Glenn Landeros`, SellerCity: `New York`, Date: `05/26/2007`, Value: 56.2, NumberOfUnits: 366 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 14.6, SellerName: `Walter Pang`, SellerCity: `Sofia`, Date: `06/02/2007`, Value: 81.4, NumberOfUnits: 450 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 89.4, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `06/06/2007`, Value: 19, NumberOfUnits: 475 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 33.8, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `06/11/2007`, Value: 55, NumberOfUnits: 195 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 54.2, SellerName: `Harold Garvin`, SellerCity: `Sofia`, Date: `06/17/2007`, Value: 71.6, NumberOfUnits: 458 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 18.4, SellerName: `Benjamin Dupree`, SellerCity: `Sofia`, Date: `07/04/2007`, Value: 24.2, NumberOfUnits: 7 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 96.2, SellerName: `Elisa Longbottom`, SellerCity: `New York`, Date: `07/08/2007`, Value: 57.6, NumberOfUnits: 158 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 23, SellerName: `Benjamin Meekins`, SellerCity: `Tokyo`, Date: `07/09/2007`, Value: 58.8, NumberOfUnits: 34 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 52.8, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `07/10/2007`, Value: 32.4, NumberOfUnits: 412 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 62.2, SellerName: `John Smith`, SellerCity: `Sofia`, Date: `07/15/2007`, Value: 85, NumberOfUnits: 10 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 10.8, SellerName: `Antonio Charbonneau`, SellerCity: `New York`, Date: `07/16/2007`, Value: 52.2, NumberOfUnits: 466 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 4.8, SellerName: `Stanley Brooker`, SellerCity: `London`, Date: `07/20/2007`, Value: 34.2, NumberOfUnits: 248 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 43.8, SellerName: `Brandon Mckim`, SellerCity: `Mellvile`, Date: `07/24/2007`, Value: 45.6, NumberOfUnits: 307 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 76.4, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `07/26/2007`, Value: 26.2, NumberOfUnits: 445 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 34.4, SellerName: `Bryan Culver`, SellerCity: `New York`, Date: `08/01/2007`, Value: 89.2, NumberOfUnits: 480 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 68.6, SellerName: `Howard Sprouse`, SellerCity: `Berlin`, Date: `08/02/2007`, Value: 38.2, NumberOfUnits: 390 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 65.2, SellerName: `Larry Lieb`, SellerCity: `Mellvile`, Date: `08/05/2007`, Value: 23.2, NumberOfUnits: 388 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 45, SellerName: `Russell Shorter`, SellerCity: `Seattle`, Date: `08/19/2007`, Value: 23.4, NumberOfUnits: 37 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 93.6, SellerName: `John Smith`, SellerCity: `New York`, Date: `08/24/2007`, Value: 17.4, NumberOfUnits: 237 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 94.4, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `08/26/2007`, Value: 54.6, NumberOfUnits: 396 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 72.4, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `08/26/2007`, Value: 61, NumberOfUnits: 3 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 80.6, SellerName: `Russell Shorter`, SellerCity: `New York`, Date: `09/02/2007`, Value: 85.2, NumberOfUnits: 330 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 65.4, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `09/04/2007`, Value: 51.2, NumberOfUnits: 143 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 30.6, SellerName: `Bryan Culver`, SellerCity: `Seattle`, Date: `09/05/2007`, Value: 55.2, NumberOfUnits: 318 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 7.6, SellerName: `Alfredo Fetuchini`, SellerCity: `Seattle`, Date: `09/06/2007`, Value: 41.8, NumberOfUnits: 393 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 47, SellerName: `Harold Garvin`, SellerCity: `Seattle`, Date: `09/10/2007`, Value: 9.2, NumberOfUnits: 129 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 38, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `09/17/2007`, Value: 25.6, NumberOfUnits: 426 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 2.6, SellerName: `Harry Tyler`, SellerCity: `London`, Date: `09/18/2007`, Value: 36.4, NumberOfUnits: 217 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 77.6, SellerName: `John Smith`, SellerCity: `New York`, Date: `09/20/2007`, Value: 28, NumberOfUnits: 152 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 97.2, SellerName: `Benjamin Meekins`, SellerCity: `Seattle`, Date: `09/25/2007`, Value: 21.8, NumberOfUnits: 452 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 19.8, SellerName: `Carl Costello`, SellerCity: `Seattle`, Date: `10/02/2007`, Value: 98.4, NumberOfUnits: 499 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 32.8, SellerName: `Mark Slater`, SellerCity: `Seattle`, Date: `10/06/2007`, Value: 79.6, NumberOfUnits: 169 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 22, SellerName: `Nicholas Carmona`, SellerCity: `Berlin`, Date: `10/14/2007`, Value: 69.6, NumberOfUnits: 386 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 35.6, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `10/14/2007`, Value: 27.8, NumberOfUnits: 454 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 47, SellerName: `Elisa Longbottom`, SellerCity: `New York`, Date: `10/25/2007`, Value: 82.2, NumberOfUnits: 334 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 41.2, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `10/26/2007`, Value: 54.4, NumberOfUnits: 107 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 13.8, SellerName: `Mark Slater`, SellerCity: `Sofia`, Date: `11/07/2007`, Value: 86.2, NumberOfUnits: 275 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 64.2, SellerName: `Monica Freitag`, SellerCity: `London`, Date: `11/09/2007`, Value: 37.8, NumberOfUnits: 241 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 1.2, SellerName: `Larry Lieb`, SellerCity: `London`, Date: `11/11/2007`, Value: 75.2, NumberOfUnits: 177 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 57.8, SellerName: `Monica Freitag`, SellerCity: `Sofia`, Date: `11/13/2007`, Value: 58.6, NumberOfUnits: 494 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 39.6, SellerName: `Lydia Burson`, SellerCity: `Mellvile`, Date: `11/19/2007`, Value: 40.8, NumberOfUnits: 451 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 5.2, SellerName: `Stanley Brooker`, SellerCity: `Tokyo`, Date: `01/01/2008`, Value: 91.8, NumberOfUnits: 125 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 53.4, SellerName: `Kathe Pettel`, SellerCity: `London`, Date: `01/02/2008`, Value: 31, NumberOfUnits: 103 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 52.2, SellerName: `Larry Lieb`, SellerCity: `New York`, Date: `01/03/2008`, Value: 43, NumberOfUnits: 224 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 17.8, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `01/07/2008`, Value: 47.6, NumberOfUnits: 498 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 80.8, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `01/08/2008`, Value: 15.6, NumberOfUnits: 142 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 95.4, SellerName: `Larry Lieb`, SellerCity: `Berlin`, Date: `01/21/2008`, Value: 87.2, NumberOfUnits: 487 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 21.8, SellerName: `David Haley`, SellerCity: `Mellvile`, Date: `01/27/2008`, Value: 14.6, NumberOfUnits: 331 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 30, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `02/03/2008`, Value: 99.2, NumberOfUnits: 418 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 39.8, SellerName: `Benjamin Meekins`, SellerCity: `New York`, Date: `02/04/2008`, Value: 61, NumberOfUnits: 214 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 40.4, SellerName: `Elisa Longbottom`, SellerCity: `Mellvile`, Date: `02/05/2008`, Value: 81.8, NumberOfUnits: 229 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 35.2, SellerName: `Alfredo Fetuchini`, SellerCity: `London`, Date: `02/05/2008`, Value: 54.4, NumberOfUnits: 16 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 41.8, SellerName: `Harry Tyler`, SellerCity: `Sofia`, Date: `02/08/2008`, Value: 18, NumberOfUnits: 216 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 0.8, SellerName: `Harry Tyler`, SellerCity: `Sofia`, Date: `02/09/2008`, Value: 85, NumberOfUnits: 486 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 37.6, SellerName: `Elisa Longbottom`, SellerCity: `Tokyo`, Date: `02/13/2008`, Value: 45.2, NumberOfUnits: 172 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 20.8, SellerName: `Antonio Charbonneau`, SellerCity: `New York`, Date: `02/21/2008`, Value: 60.6, NumberOfUnits: 102 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 70.8, SellerName: `Kathe Pettel`, SellerCity: `Seattle`, Date: `02/24/2008`, Value: 43, NumberOfUnits: 36 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 53.4, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `02/25/2008`, Value: 11, NumberOfUnits: 71 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 25, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `02/25/2008`, Value: 17, NumberOfUnits: 53 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 64.6, SellerName: `Antonio Charbonneau`, SellerCity: `Tokyo`, Date: `02/25/2008`, Value: 99, NumberOfUnits: 104 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 9.6, SellerName: `Brandon Mckim`, SellerCity: `Tokyo`, Date: `02/26/2008`, Value: 96.2, NumberOfUnits: 294 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 41.2, SellerName: `Antonio Charbonneau`, SellerCity: `Sofia`, Date: `03/03/2008`, Value: 93.8, NumberOfUnits: 454 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 37, SellerName: `Stanley Brooker`, SellerCity: `Berlin`, Date: `03/05/2008`, Value: 82.8, NumberOfUnits: 492 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 16.8, SellerName: `Harry Tyler`, SellerCity: `New York`, Date: `03/08/2008`, Value: 0.8, NumberOfUnits: 132 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 24.8, SellerName: `Alfredo Fetuchini`, SellerCity: `New York`, Date: `03/09/2008`, Value: 88.6, NumberOfUnits: 225 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 65.6, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `03/10/2008`, Value: 69.2, NumberOfUnits: 422 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 70.6, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `03/12/2008`, Value: 97.2, NumberOfUnits: 303 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 65.2, SellerName: `Carl Costello`, SellerCity: `London`, Date: `03/13/2008`, Value: 46.4, NumberOfUnits: 319 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 39.6, SellerName: `Harold Garvin`, SellerCity: `London`, Date: `03/14/2008`, Value: 48.6, NumberOfUnits: 262 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 50.8, SellerName: `Harold Garvin`, SellerCity: `Berlin`, Date: `03/23/2008`, Value: 91.8, NumberOfUnits: 345 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 88.4, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `04/03/2008`, Value: 87.4, NumberOfUnits: 407 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 47.4, SellerName: `Walter Pang`, SellerCity: `Berlin`, Date: `04/04/2008`, Value: 15.2, NumberOfUnits: 121 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 30.4, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `04/06/2008`, Value: 44.4, NumberOfUnits: 30 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 88.2, SellerName: `Harold Garvin`, SellerCity: `Berlin`, Date: `04/11/2008`, Value: 25.4, NumberOfUnits: 293 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 16.6, SellerName: `David Haley`, SellerCity: `Sofia`, Date: `04/12/2008`, Value: 55.2, NumberOfUnits: 271 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 95.2, SellerName: `Howard Sprouse`, SellerCity: `Sofia`, Date: `04/18/2008`, Value: 25.8, NumberOfUnits: 107 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 7.8, SellerName: `Bryan Culver`, SellerCity: `Mellvile`, Date: `04/18/2008`, Value: 54.6, NumberOfUnits: 87 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 94.8, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `04/23/2008`, Value: 79, NumberOfUnits: 319 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 37.2, SellerName: `Lydia Burson`, SellerCity: `New York`, Date: `04/24/2008`, Value: 21.6, NumberOfUnits: 346 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 99.4, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `05/07/2008`, Value: 77.8, NumberOfUnits: 382 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 96.2, SellerName: `Larry Lieb`, SellerCity: `New York`, Date: `05/11/2008`, Value: 35.4, NumberOfUnits: 334 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 26.2, SellerName: `Harold Garvin`, SellerCity: `Tokyo`, Date: `05/13/2008`, Value: 28.8, NumberOfUnits: 176 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 80.8, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `05/19/2008`, Value: 8.4, NumberOfUnits: 125 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 78.4, SellerName: `Russell Shorter`, SellerCity: `Mellvile`, Date: `05/19/2008`, Value: 15, NumberOfUnits: 458 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 94, SellerName: `Benjamin Meekins`, SellerCity: `Berlin`, Date: `05/25/2008`, Value: 68.6, NumberOfUnits: 331 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 96.6, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `05/27/2008`, Value: 71, NumberOfUnits: 39 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 37.6, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `06/06/2008`, Value: 97.2, NumberOfUnits: 238 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 47, SellerName: `Walter Pang`, SellerCity: `London`, Date: `06/07/2008`, Value: 5.8, NumberOfUnits: 84 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 80.2, SellerName: `Mark Slater`, SellerCity: `Tokyo`, Date: `06/08/2008`, Value: 24.8, NumberOfUnits: 363 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 43.6, SellerName: `Harry Tyler`, SellerCity: `New York`, Date: `06/08/2008`, Value: 59, NumberOfUnits: 479 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 56.4, SellerName: `Kathe Pettel`, SellerCity: `Sofia`, Date: `06/11/2008`, Value: 87.6, NumberOfUnits: 404 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 81.8, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `06/18/2008`, Value: 80.4, NumberOfUnits: 478 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 90.2, SellerName: `Benjamin Meekins`, SellerCity: `Sofia`, Date: `06/19/2008`, Value: 2.4, NumberOfUnits: 285 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 99.4, SellerName: `Kathe Pettel`, SellerCity: `Sofia`, Date: `06/22/2008`, Value: 82.6, NumberOfUnits: 15 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 30.8, SellerName: `Brandon Mckim`, SellerCity: `Berlin`, Date: `06/26/2008`, Value: 77.8, NumberOfUnits: 245 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 99.4, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `07/01/2008`, Value: 8.2, NumberOfUnits: 376 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 73.4, SellerName: `Claudia Kobayashi`, SellerCity: `New York`, Date: `07/02/2008`, Value: 48.6, NumberOfUnits: 40 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 43.6, SellerName: `Larry Lieb`, SellerCity: `London`, Date: `07/10/2008`, Value: 38, NumberOfUnits: 112 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 16.4, SellerName: `Antonio Charbonneau`, SellerCity: `New York`, Date: `07/15/2008`, Value: 9.8, NumberOfUnits: 224 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 71.4, SellerName: `Stanley Brooker`, SellerCity: `Tokyo`, Date: `07/16/2008`, Value: 66.4, NumberOfUnits: 145 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 94.6, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `07/21/2008`, Value: 46.6, NumberOfUnits: 272 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 50.8, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `07/27/2008`, Value: 90.2, NumberOfUnits: 278 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 12.8, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `07/27/2008`, Value: 89.2, NumberOfUnits: 253 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 35.8, SellerName: `Nicholas Carmona`, SellerCity: `New York`, Date: `08/01/2008`, Value: 28.4, NumberOfUnits: 255 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 17.2, SellerName: `David Haley`, SellerCity: `Seattle`, Date: `08/02/2008`, Value: 0.6, NumberOfUnits: 46 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 22.2, SellerName: `Benjamin Dupree`, SellerCity: `Tokyo`, Date: `08/08/2008`, Value: 58.6, NumberOfUnits: 279 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 63, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `08/08/2008`, Value: 91.8, NumberOfUnits: 89 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 83.8, SellerName: `Larry Lieb`, SellerCity: `Sofia`, Date: `08/14/2008`, Value: 52.6, NumberOfUnits: 17 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 14.2, SellerName: `Lydia Burson`, SellerCity: `Sofia`, Date: `08/21/2008`, Value: 54, NumberOfUnits: 470 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 34.6, SellerName: `Elisa Longbottom`, SellerCity: `Mellvile`, Date: `08/25/2008`, Value: 1.8, NumberOfUnits: 195 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 86.8, SellerName: `Lydia Burson`, SellerCity: `New York`, Date: `08/27/2008`, Value: 23.8, NumberOfUnits: 173 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 42.2, SellerName: `Benjamin Dupree`, SellerCity: `New York`, Date: `09/01/2008`, Value: 51.2, NumberOfUnits: 472 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 25.8, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `09/06/2008`, Value: 88.4, NumberOfUnits: 148 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 23.2, SellerName: `Walter Pang`, SellerCity: `Mellvile`, Date: `09/06/2008`, Value: 94.6, NumberOfUnits: 314 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 83.8, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `09/07/2008`, Value: 66.8, NumberOfUnits: 431 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 84.4, SellerName: `Walter Pang`, SellerCity: `Mellvile`, Date: `09/07/2008`, Value: 27.6, NumberOfUnits: 347 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 7.4, SellerName: `Harry Tyler`, SellerCity: `Berlin`, Date: `09/11/2008`, Value: 2.8, NumberOfUnits: 27 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 9.6, SellerName: `Elisa Longbottom`, SellerCity: `Berlin`, Date: `09/12/2008`, Value: 12, NumberOfUnits: 5 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 50.8, SellerName: `Larry Lieb`, SellerCity: `Mellvile`, Date: `09/19/2008`, Value: 16.6, NumberOfUnits: 191 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 80, SellerName: `Bryan Culver`, SellerCity: `New York`, Date: `09/25/2008`, Value: 84.4, NumberOfUnits: 421 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 62.2, SellerName: `Carl Costello`, SellerCity: `Seattle`, Date: `10/03/2008`, Value: 29, NumberOfUnits: 297 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 96.2, SellerName: `Glenn Landeros`, SellerCity: `New York`, Date: `10/04/2008`, Value: 15.8, NumberOfUnits: 128 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 47, SellerName: `Howard Sprouse`, SellerCity: `Mellvile`, Date: `10/13/2008`, Value: 37.4, NumberOfUnits: 210 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 35.8, SellerName: `Russell Shorter`, SellerCity: `London`, Date: `10/14/2008`, Value: 27, NumberOfUnits: 315 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 79, SellerName: `Benjamin Meekins`, SellerCity: `New York`, Date: `10/19/2008`, Value: 69.8, NumberOfUnits: 489 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 84.4, SellerName: `Walter Pang`, SellerCity: `Mellvile`, Date: `10/21/2008`, Value: 61.4, NumberOfUnits: 47 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 25.6, SellerName: `John Smith`, SellerCity: `Mellvile`, Date: `10/22/2008`, Value: 69.4, NumberOfUnits: 92 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 24, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `11/01/2008`, Value: 81.2, NumberOfUnits: 30 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 53.6, SellerName: `Stanley Brooker`, SellerCity: `Berlin`, Date: `11/01/2008`, Value: 15, NumberOfUnits: 132 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 68.2, SellerName: `Bryan Culver`, SellerCity: `London`, Date: `11/10/2008`, Value: 6.2, NumberOfUnits: 368 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 60, SellerName: `Kathe Pettel`, SellerCity: `New York`, Date: `11/11/2008`, Value: 39.2, NumberOfUnits: 482 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 5.8, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `11/11/2008`, Value: 48.8, NumberOfUnits: 22 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 96, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `11/20/2008`, Value: 87.2, NumberOfUnits: 159 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 59.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Berlin`, Date: `11/25/2008`, Value: 88.6, NumberOfUnits: 52 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 94, SellerName: `Harry Tyler`, SellerCity: `Tokyo`, Date: `01/05/2009`, Value: 79.8, NumberOfUnits: 194 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 12.8, SellerName: `David Haley`, SellerCity: `Berlin`, Date: `01/08/2009`, Value: 43, NumberOfUnits: 100 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 38, SellerName: `Benjamin Meekins`, SellerCity: `Berlin`, Date: `01/10/2009`, Value: 48.4, NumberOfUnits: 252 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 79.4, SellerName: `Kathe Pettel`, SellerCity: `Tokyo`, Date: `01/13/2009`, Value: 68.6, NumberOfUnits: 116 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 91, SellerName: `Elisa Longbottom`, SellerCity: `London`, Date: `01/14/2009`, Value: 27.6, NumberOfUnits: 259 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 100, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `01/19/2009`, Value: 56.8, NumberOfUnits: 217 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 43.4, SellerName: `Bryan Culver`, SellerCity: `Seattle`, Date: `01/22/2009`, Value: 36.6, NumberOfUnits: 48 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 0.8, SellerName: `Stanley Brooker`, SellerCity: `New York`, Date: `02/02/2009`, Value: 71.4, NumberOfUnits: 445 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 60.6, SellerName: `Kathe Pettel`, SellerCity: `Mellvile`, Date: `02/03/2009`, Value: 44.6, NumberOfUnits: 90 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 13.8, SellerName: `Harry Tyler`, SellerCity: `Sofia`, Date: `02/07/2009`, Value: 36.2, NumberOfUnits: 453 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 44.2, SellerName: `Harry Tyler`, SellerCity: `Mellvile`, Date: `02/07/2009`, Value: 85.6, NumberOfUnits: 450 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.4, SellerName: `Lydia Burson`, SellerCity: `Sofia`, Date: `02/07/2009`, Value: 48.2, NumberOfUnits: 152 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 8.8, SellerName: `Harry Tyler`, SellerCity: `Berlin`, Date: `02/16/2009`, Value: 46.6, NumberOfUnits: 119 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 79.2, SellerName: `Kathe Pettel`, SellerCity: `Tokyo`, Date: `02/16/2009`, Value: 29.2, NumberOfUnits: 463 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 18.6, SellerName: `Howard Sprouse`, SellerCity: `Tokyo`, Date: `02/17/2009`, Value: 19.8, NumberOfUnits: 150 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 28, SellerName: `Walter Pang`, SellerCity: `Berlin`, Date: `02/19/2009`, Value: 17.6, NumberOfUnits: 210 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 67.2, SellerName: `Kathe Pettel`, SellerCity: `Tokyo`, Date: `02/20/2009`, Value: 36.4, NumberOfUnits: 150 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 36, SellerName: `Benjamin Meekins`, SellerCity: `London`, Date: `02/21/2009`, Value: 74, NumberOfUnits: 97 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 34.2, SellerName: `Stanley Brooker`, SellerCity: `Berlin`, Date: `02/22/2009`, Value: 86.4, NumberOfUnits: 256 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 66.4, SellerName: `Russell Shorter`, SellerCity: `London`, Date: `02/24/2009`, Value: 53, NumberOfUnits: 172 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 15, SellerName: `Monica Freitag`, SellerCity: `Mellvile`, Date: `02/24/2009`, Value: 5.2, NumberOfUnits: 489 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 52, SellerName: `Claudia Kobayashi`, SellerCity: `Sofia`, Date: `02/27/2009`, Value: 9.2, NumberOfUnits: 222 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 98.4, SellerName: `Nicholas Carmona`, SellerCity: `Berlin`, Date: `03/03/2009`, Value: 81.4, NumberOfUnits: 300 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 72.8, SellerName: `Harry Tyler`, SellerCity: `London`, Date: `03/03/2009`, Value: 1.4, NumberOfUnits: 270 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 16.4, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `03/07/2009`, Value: 81.4, NumberOfUnits: 263 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 93.6, SellerName: `Elisa Longbottom`, SellerCity: `Mellvile`, Date: `03/10/2009`, Value: 22.8, NumberOfUnits: 28 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 42.2, SellerName: `Howard Sprouse`, SellerCity: `London`, Date: `03/15/2009`, Value: 20.4, NumberOfUnits: 237 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 55, SellerName: `Claudia Kobayashi`, SellerCity: `Tokyo`, Date: `03/16/2009`, Value: 64, NumberOfUnits: 171 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 97.4, SellerName: `Kathe Pettel`, SellerCity: `New York`, Date: `03/27/2009`, Value: 24, NumberOfUnits: 251 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 51, SellerName: `Antonio Charbonneau`, SellerCity: `London`, Date: `04/01/2009`, Value: 32.4, NumberOfUnits: 275 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 4.8, SellerName: `Brandon Mckim`, SellerCity: `London`, Date: `04/06/2009`, Value: 42, NumberOfUnits: 311 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 71, SellerName: `Monica Freitag`, SellerCity: `New York`, Date: `04/07/2009`, Value: 82.8, NumberOfUnits: 217 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 96.8, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `04/09/2009`, Value: 62.2, NumberOfUnits: 360 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 83.6, SellerName: `Howard Sprouse`, SellerCity: `Berlin`, Date: `04/12/2009`, Value: 51.6, NumberOfUnits: 35 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 96.4, SellerName: `Nicholas Carmona`, SellerCity: `New York`, Date: `04/15/2009`, Value: 81, NumberOfUnits: 294 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 70.8, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `04/16/2009`, Value: 36, NumberOfUnits: 436 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.6, SellerName: `Kathe Pettel`, SellerCity: `London`, Date: `04/20/2009`, Value: 82.6, NumberOfUnits: 78 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 29.6, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `04/22/2009`, Value: 94, NumberOfUnits: 301 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 70.6, SellerName: `Mark Slater`, SellerCity: `New York`, Date: `05/02/2009`, Value: 92.6, NumberOfUnits: 24 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 71.8, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `05/04/2009`, Value: 19.4, NumberOfUnits: 332 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 14.6, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `05/11/2009`, Value: 56.4, NumberOfUnits: 307 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 36.8, SellerName: `Harold Garvin`, SellerCity: `Seattle`, Date: `05/11/2009`, Value: 34.4, NumberOfUnits: 375 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 62.8, SellerName: `Benjamin Dupree`, SellerCity: `Mellvile`, Date: `05/12/2009`, Value: 2, NumberOfUnits: 499 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 13.8, SellerName: `Russell Shorter`, SellerCity: `London`, Date: `05/21/2009`, Value: 42.6, NumberOfUnits: 337 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 46.2, SellerName: `Larry Lieb`, SellerCity: `London`, Date: `05/24/2009`, Value: 55.4, NumberOfUnits: 284 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 95.4, SellerName: `Howard Sprouse`, SellerCity: `Berlin`, Date: `05/26/2009`, Value: 94.8, NumberOfUnits: 292 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 78.2, SellerName: `Howard Sprouse`, SellerCity: `Sofia`, Date: `05/26/2009`, Value: 60.2, NumberOfUnits: 424 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 99.4, SellerName: `Mark Slater`, SellerCity: `Mellvile`, Date: `06/05/2009`, Value: 29, NumberOfUnits: 271 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 87, SellerName: `Howard Sprouse`, SellerCity: `Mellvile`, Date: `06/10/2009`, Value: 94, NumberOfUnits: 6 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 13.6, SellerName: `Elisa Longbottom`, SellerCity: `Sofia`, Date: `06/12/2009`, Value: 95, NumberOfUnits: 44 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 99.8, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `06/12/2009`, Value: 74.2, NumberOfUnits: 277 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 17, SellerName: `Brandon Mckim`, SellerCity: `Seattle`, Date: `06/13/2009`, Value: 65.2, NumberOfUnits: 98 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 42.4, SellerName: `Elisa Longbottom`, SellerCity: `Mellvile`, Date: `06/22/2009`, Value: 68.6, NumberOfUnits: 443 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 79.6, SellerName: `Benjamin Dupree`, SellerCity: `Seattle`, Date: `06/26/2009`, Value: 81.4, NumberOfUnits: 409 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 26.4, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `07/02/2009`, Value: 68.2, NumberOfUnits: 240 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 34.2, SellerName: `Kathe Pettel`, SellerCity: `Seattle`, Date: `07/10/2009`, Value: 95.6, NumberOfUnits: 23 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 29.4, SellerName: `Larry Lieb`, SellerCity: `Mellvile`, Date: `07/12/2009`, Value: 36, NumberOfUnits: 109 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 86.8, SellerName: `Nicholas Carmona`, SellerCity: `Berlin`, Date: `07/13/2009`, Value: 30, NumberOfUnits: 117 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 58.4, SellerName: `Mark Slater`, SellerCity: `New York`, Date: `07/15/2009`, Value: 34.4, NumberOfUnits: 336 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 39.8, SellerName: `Antonio Charbonneau`, SellerCity: `Seattle`, Date: `07/18/2009`, Value: 92.4, NumberOfUnits: 372 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 10.2, SellerName: `Larry Lieb`, SellerCity: `Berlin`, Date: `07/19/2009`, Value: 90.4, NumberOfUnits: 403 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 17.8, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `07/19/2009`, Value: 66.2, NumberOfUnits: 144 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 21.6, SellerName: `Lydia Burson`, SellerCity: `Seattle`, Date: `07/19/2009`, Value: 41.8, NumberOfUnits: 395 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 33.6, SellerName: `Nicholas Carmona`, SellerCity: `New York`, Date: `07/20/2009`, Value: 16.6, NumberOfUnits: 236 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 48.8, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `07/20/2009`, Value: 86.8, NumberOfUnits: 160 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 81.8, SellerName: `David Haley`, SellerCity: `Sofia`, Date: `07/20/2009`, Value: 65.8, NumberOfUnits: 157 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 9.8, SellerName: `Glenn Landeros`, SellerCity: `Sofia`, Date: `07/25/2009`, Value: 0.2, NumberOfUnits: 255 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 88.6, SellerName: `Mark Slater`, SellerCity: `London`, Date: `08/16/2009`, Value: 43, NumberOfUnits: 284 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 89.4, SellerName: `Walter Pang`, SellerCity: `Tokyo`, Date: `08/17/2009`, Value: 15.8, NumberOfUnits: 333 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 24, SellerName: `Monica Freitag`, SellerCity: `Seattle`, Date: `08/17/2009`, Value: 51.6, NumberOfUnits: 48 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 19.4, SellerName: `Kathe Pettel`, SellerCity: `New York`, Date: `08/18/2009`, Value: 82.6, NumberOfUnits: 399 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 9.4, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `08/24/2009`, Value: 68.6, NumberOfUnits: 413 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 1.2, SellerName: `Monica Freitag`, SellerCity: `Sofia`, Date: `09/06/2009`, Value: 72, NumberOfUnits: 182 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 77, SellerName: `Russell Shorter`, SellerCity: `Mellvile`, Date: `09/06/2009`, Value: 45, NumberOfUnits: 156 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 80.8, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `09/09/2009`, Value: 92.4, NumberOfUnits: 293 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 22.8, SellerName: `Benjamin Dupree`, SellerCity: `Berlin`, Date: `10/01/2009`, Value: 100, NumberOfUnits: 16 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 78.2, SellerName: `Benjamin Meekins`, SellerCity: `Seattle`, Date: `10/01/2009`, Value: 16, NumberOfUnits: 106 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 73, SellerName: `Glenn Landeros`, SellerCity: `Tokyo`, Date: `10/06/2009`, Value: 91.6, NumberOfUnits: 16 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 22.2, SellerName: `John Smith`, SellerCity: `Tokyo`, Date: `10/07/2009`, Value: 1.8, NumberOfUnits: 187 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 42.8, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `10/10/2009`, Value: 21.8, NumberOfUnits: 137 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 46.2, SellerName: `Mark Slater`, SellerCity: `Seattle`, Date: `10/14/2009`, Value: 15, NumberOfUnits: 138 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 14.4, SellerName: `Mark Slater`, SellerCity: `Seattle`, Date: `10/24/2009`, Value: 65, NumberOfUnits: 256 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 40.2, SellerName: `Antonio Charbonneau`, SellerCity: `London`, Date: `10/24/2009`, Value: 11.2, NumberOfUnits: 353 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 17.2, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `11/01/2009`, Value: 95, NumberOfUnits: 359 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 52, SellerName: `Walter Pang`, SellerCity: `Tokyo`, Date: `11/04/2009`, Value: 43.2, NumberOfUnits: 134 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 91, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `11/09/2009`, Value: 25.2, NumberOfUnits: 263 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 88.6, SellerName: `Monica Freitag`, SellerCity: `Seattle`, Date: `11/11/2009`, Value: 41, NumberOfUnits: 313 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 46.6, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `11/16/2009`, Value: 20.4, NumberOfUnits: 115 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 20.4, SellerName: `Claudia Kobayashi`, SellerCity: `Berlin`, Date: `11/17/2009`, Value: 33, NumberOfUnits: 414 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 70.8, SellerName: `Kathe Pettel`, SellerCity: `New York`, Date: `11/21/2009`, Value: 3, NumberOfUnits: 53 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 81.6, SellerName: `John Smith`, SellerCity: `New York`, Date: `11/22/2009`, Value: 86.8, NumberOfUnits: 472 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 9.8, SellerName: `Harry Tyler`, SellerCity: `Mellvile`, Date: `11/23/2009`, Value: 53.6, NumberOfUnits: 199 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 29.8, SellerName: `Harold Garvin`, SellerCity: `Sofia`, Date: `11/24/2009`, Value: 27.4, NumberOfUnits: 241 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 33.2, SellerName: `Glenn Landeros`, SellerCity: `New York`, Date: `11/24/2009`, Value: 1.2, NumberOfUnits: 320 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 65.6, SellerName: `David Haley`, SellerCity: `London`, Date: `01/02/2010`, Value: 20.6, NumberOfUnits: 299 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 62.2, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `01/08/2010`, Value: 35.4, NumberOfUnits: 366 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 78.6, SellerName: `John Smith`, SellerCity: `New York`, Date: `01/10/2010`, Value: 27.8, NumberOfUnits: 290 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 11.6, SellerName: `Lydia Burson`, SellerCity: `Sofia`, Date: `01/11/2010`, Value: 61.8, NumberOfUnits: 350 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 33.4, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `01/14/2010`, Value: 33.8, NumberOfUnits: 469 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 96.2, SellerName: `Nicholas Carmona`, SellerCity: `Sofia`, Date: `01/21/2010`, Value: 75.6, NumberOfUnits: 352 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 92.2, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `01/25/2010`, Value: 38.8, NumberOfUnits: 47 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 93.2, SellerName: `Russell Shorter`, SellerCity: `Tokyo`, Date: `02/02/2010`, Value: 66.4, NumberOfUnits: 153 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 39, SellerName: `Antonio Charbonneau`, SellerCity: `Berlin`, Date: `02/02/2010`, Value: 28.6, NumberOfUnits: 211 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 99.4, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `02/04/2010`, Value: 67, NumberOfUnits: 267 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.4, SellerName: `Antonio Charbonneau`, SellerCity: `New York`, Date: `02/04/2010`, Value: 71.4, NumberOfUnits: 91 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 19.8, SellerName: `Claudia Kobayashi`, SellerCity: `Tokyo`, Date: `02/05/2010`, Value: 46, NumberOfUnits: 84 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 87.2, SellerName: `Howard Sprouse`, SellerCity: `Mellvile`, Date: `02/11/2010`, Value: 66.8, NumberOfUnits: 270 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 76.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Berlin`, Date: `02/12/2010`, Value: 87, NumberOfUnits: 496 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 52, SellerName: `John Smith`, SellerCity: `Seattle`, Date: `02/16/2010`, Value: 47.4, NumberOfUnits: 24 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 21.8, SellerName: `Walter Pang`, SellerCity: `Mellvile`, Date: `02/17/2010`, Value: 72.8, NumberOfUnits: 41 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 15.8, SellerName: `John Smith`, SellerCity: `Mellvile`, Date: `02/22/2010`, Value: 65.6, NumberOfUnits: 365 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 2.8, SellerName: `Brandon Mckim`, SellerCity: `Sofia`, Date: `03/01/2010`, Value: 68.6, NumberOfUnits: 202 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 52.4, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `03/01/2010`, Value: 79.4, NumberOfUnits: 225 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 0.4, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `03/03/2010`, Value: 70.2, NumberOfUnits: 206 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 22.4, SellerName: `Larry Lieb`, SellerCity: `Sofia`, Date: `03/11/2010`, Value: 54.8, NumberOfUnits: 158 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 94.8, SellerName: `Benjamin Meekins`, SellerCity: `London`, Date: `03/14/2010`, Value: 70.4, NumberOfUnits: 169 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 1.2, SellerName: `John Smith`, SellerCity: `New York`, Date: `03/15/2010`, Value: 19, NumberOfUnits: 4 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 12.2, SellerName: `Monica Freitag`, SellerCity: `New York`, Date: `03/15/2010`, Value: 12.8, NumberOfUnits: 232 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 58.8, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `03/16/2010`, Value: 78.8, NumberOfUnits: 421 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 44, SellerName: `David Haley`, SellerCity: `Seattle`, Date: `03/25/2010`, Value: 89.6, NumberOfUnits: 260 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 54.6, SellerName: `Brandon Mckim`, SellerCity: `Seattle`, Date: `04/02/2010`, Value: 92, NumberOfUnits: 194 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.6, SellerName: `Walter Pang`, SellerCity: `Tokyo`, Date: `04/05/2010`, Value: 35.4, NumberOfUnits: 491 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 11.2, SellerName: `Harold Garvin`, SellerCity: `London`, Date: `04/14/2010`, Value: 30, NumberOfUnits: 256 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 18.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `04/15/2010`, Value: 84.6, NumberOfUnits: 279 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 8.4, SellerName: `Carl Costello`, SellerCity: `Berlin`, Date: `04/15/2010`, Value: 99.6, NumberOfUnits: 287 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 78, SellerName: `Carl Costello`, SellerCity: `New York`, Date: `04/22/2010`, Value: 59, NumberOfUnits: 363 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 55.6, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `04/22/2010`, Value: 16.4, NumberOfUnits: 499 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 39.4, SellerName: `Lydia Burson`, SellerCity: `Berlin`, Date: `04/24/2010`, Value: 0.2, NumberOfUnits: 109 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 7.8, SellerName: `Benjamin Dupree`, SellerCity: `Berlin`, Date: `05/04/2010`, Value: 99.6, NumberOfUnits: 25 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 62.4, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `05/05/2010`, Value: 48, NumberOfUnits: 64 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 38.8, SellerName: `Howard Sprouse`, SellerCity: `London`, Date: `05/06/2010`, Value: 57.8, NumberOfUnits: 256 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 17.8, SellerName: `Benjamin Meekins`, SellerCity: `Mellvile`, Date: `05/07/2010`, Value: 15.4, NumberOfUnits: 50 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 57.8, SellerName: `Bryan Culver`, SellerCity: `Berlin`, Date: `05/07/2010`, Value: 58.6, NumberOfUnits: 437 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 21.4, SellerName: `Bryan Culver`, SellerCity: `Sofia`, Date: `05/19/2010`, Value: 41, NumberOfUnits: 253 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 10.2, SellerName: `Monica Freitag`, SellerCity: `London`, Date: `05/22/2010`, Value: 24, NumberOfUnits: 312 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 87.8, SellerName: `Claudia Kobayashi`, SellerCity: `London`, Date: `05/24/2010`, Value: 12.6, NumberOfUnits: 82 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 42.6, SellerName: `Harold Garvin`, SellerCity: `New York`, Date: `06/01/2010`, Value: 32.2, NumberOfUnits: 467 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 79.8, SellerName: `Alfredo Fetuchini`, SellerCity: `Sofia`, Date: `06/05/2010`, Value: 69.6, NumberOfUnits: 74 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 1.8, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `06/10/2010`, Value: 14.8, NumberOfUnits: 81 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 15, SellerName: `Kathe Pettel`, SellerCity: `Berlin`, Date: `06/25/2010`, Value: 18.8, NumberOfUnits: 88 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 43.4, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `06/26/2010`, Value: 44.4, NumberOfUnits: 126 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 16.2, SellerName: `Elisa Longbottom`, SellerCity: `Sofia`, Date: `06/27/2010`, Value: 77.8, NumberOfUnits: 112 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 59.2, SellerName: `Antonio Charbonneau`, SellerCity: `Sofia`, Date: `06/27/2010`, Value: 15.4, NumberOfUnits: 47 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 40, SellerName: `Claudia Kobayashi`, SellerCity: `Sofia`, Date: `07/05/2010`, Value: 29.4, NumberOfUnits: 218 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 27, SellerName: `Nicholas Carmona`, SellerCity: `New York`, Date: `07/05/2010`, Value: 30, NumberOfUnits: 34 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 14.4, SellerName: `Bryan Culver`, SellerCity: `Sofia`, Date: `07/13/2010`, Value: 83.4, NumberOfUnits: 492 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 53.4, SellerName: `Harry Tyler`, SellerCity: `Sofia`, Date: `07/16/2010`, Value: 41.6, NumberOfUnits: 464 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 21.4, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `07/17/2010`, Value: 83.4, NumberOfUnits: 118 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 24, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `07/18/2010`, Value: 94.2, NumberOfUnits: 442 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 37.6, SellerName: `Benjamin Meekins`, SellerCity: `London`, Date: `07/23/2010`, Value: 59.6, NumberOfUnits: 248 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 60.8, SellerName: `Lydia Burson`, SellerCity: `London`, Date: `07/23/2010`, Value: 83.6, NumberOfUnits: 472 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 78, SellerName: `Alfredo Fetuchini`, SellerCity: `New York`, Date: `07/24/2010`, Value: 84, NumberOfUnits: 140 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 47.6, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `07/26/2010`, Value: 86.6, NumberOfUnits: 118 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 58.2, SellerName: `Harry Tyler`, SellerCity: `Sofia`, Date: `07/27/2010`, Value: 64, NumberOfUnits: 176 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 98.4, SellerName: `Russell Shorter`, SellerCity: `Mellvile`, Date: `08/01/2010`, Value: 23.4, NumberOfUnits: 77 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 3, SellerName: `Glenn Landeros`, SellerCity: `Sofia`, Date: `08/08/2010`, Value: 74.4, NumberOfUnits: 105 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 98.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Tokyo`, Date: `08/21/2010`, Value: 60.8, NumberOfUnits: 160 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 79, SellerName: `Stanley Brooker`, SellerCity: `Seattle`, Date: `08/26/2010`, Value: 67, NumberOfUnits: 186 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 17.8, SellerName: `Harold Garvin`, SellerCity: `Seattle`, Date: `09/04/2010`, Value: 29, NumberOfUnits: 380 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 38.8, SellerName: `John Smith`, SellerCity: `Tokyo`, Date: `09/11/2010`, Value: 41.6, NumberOfUnits: 470 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 75.2, SellerName: `Benjamin Dupree`, SellerCity: `Mellvile`, Date: `09/13/2010`, Value: 42.8, NumberOfUnits: 348 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 55.4, SellerName: `Carl Costello`, SellerCity: `London`, Date: `09/14/2010`, Value: 29.4, NumberOfUnits: 151 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 51.4, SellerName: `Kathe Pettel`, SellerCity: `New York`, Date: `09/24/2010`, Value: 86.6, NumberOfUnits: 7 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 31.4, SellerName: `Monica Freitag`, SellerCity: `New York`, Date: `10/07/2010`, Value: 39, NumberOfUnits: 123 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 80, SellerName: `Mark Slater`, SellerCity: `Seattle`, Date: `10/08/2010`, Value: 8.8, NumberOfUnits: 374 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 94.8, SellerName: `Kathe Pettel`, SellerCity: `Mellvile`, Date: `10/11/2010`, Value: 96.8, NumberOfUnits: 178 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 42, SellerName: `Bryan Culver`, SellerCity: `Sofia`, Date: `10/22/2010`, Value: 31.4, NumberOfUnits: 354 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 46.6, SellerName: `Elisa Longbottom`, SellerCity: `New York`, Date: `10/25/2010`, Value: 85.6, NumberOfUnits: 459 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 27.2, SellerName: `Mark Slater`, SellerCity: `London`, Date: `11/02/2010`, Value: 46.4, NumberOfUnits: 78 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 30.2, SellerName: `Walter Pang`, SellerCity: `Berlin`, Date: `11/03/2010`, Value: 52.2, NumberOfUnits: 417 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 82.2, SellerName: `Walter Pang`, SellerCity: `Seattle`, Date: `11/12/2010`, Value: 15.4, NumberOfUnits: 208 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 13.2, SellerName: `Harold Garvin`, SellerCity: `Seattle`, Date: `11/19/2010`, Value: 48.6, NumberOfUnits: 359 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 8.8, SellerName: `Russell Shorter`, SellerCity: `New York`, Date: `11/25/2010`, Value: 24.6, NumberOfUnits: 392 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 78.4, SellerName: `John Smith`, SellerCity: `London`, Date: `01/01/2011`, Value: 37.6, NumberOfUnits: 241 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 50.6, SellerName: `Claudia Kobayashi`, SellerCity: `Seattle`, Date: `01/04/2011`, Value: 27.2, NumberOfUnits: 62 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 6.4, SellerName: `Elisa Longbottom`, SellerCity: `Tokyo`, Date: `01/06/2011`, Value: 89.6, NumberOfUnits: 485 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 47.4, SellerName: `Bryan Culver`, SellerCity: `Sofia`, Date: `01/14/2011`, Value: 5, NumberOfUnits: 470 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 6.2, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `01/23/2011`, Value: 78.6, NumberOfUnits: 197 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 57.6, SellerName: `Larry Lieb`, SellerCity: `Berlin`, Date: `01/26/2011`, Value: 59.8, NumberOfUnits: 353 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 37.6, SellerName: `Benjamin Meekins`, SellerCity: `Mellvile`, Date: `02/01/2011`, Value: 39.6, NumberOfUnits: 338 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 21, SellerName: `Claudia Kobayashi`, SellerCity: `New York`, Date: `02/08/2011`, Value: 93, NumberOfUnits: 17 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 11.8, SellerName: `Antonio Charbonneau`, SellerCity: `Berlin`, Date: `02/12/2011`, Value: 61.4, NumberOfUnits: 429 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 65, SellerName: `Alfredo Fetuchini`, SellerCity: `Tokyo`, Date: `02/14/2011`, Value: 24.4, NumberOfUnits: 385 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 20, SellerName: `Claudia Kobayashi`, SellerCity: `New York`, Date: `02/20/2011`, Value: 35.4, NumberOfUnits: 166 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 3.2, SellerName: `Lydia Burson`, SellerCity: `Seattle`, Date: `02/20/2011`, Value: 52.6, NumberOfUnits: 137 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 18.2, SellerName: `Russell Shorter`, SellerCity: `New York`, Date: `02/24/2011`, Value: 8.2, NumberOfUnits: 443 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 20.4, SellerName: `Carl Costello`, SellerCity: `Seattle`, Date: `02/26/2011`, Value: 87.4, NumberOfUnits: 40 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 20.6, SellerName: `Glenn Landeros`, SellerCity: `London`, Date: `03/05/2011`, Value: 7.4, NumberOfUnits: 138 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 23.8, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `03/09/2011`, Value: 18.2, NumberOfUnits: 15 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 76.4, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `03/09/2011`, Value: 74.6, NumberOfUnits: 469 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 93.4, SellerName: `Russell Shorter`, SellerCity: `London`, Date: `03/11/2011`, Value: 89, NumberOfUnits: 426 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 63, SellerName: `Benjamin Dupree`, SellerCity: `Seattle`, Date: `03/16/2011`, Value: 32.6, NumberOfUnits: 208 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 58.6, SellerName: `Brandon Mckim`, SellerCity: `Seattle`, Date: `03/21/2011`, Value: 51, NumberOfUnits: 155 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 82.4, SellerName: `Stanley Brooker`, SellerCity: `Seattle`, Date: `03/23/2011`, Value: 33.4, NumberOfUnits: 381 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 19.2, SellerName: `Nicholas Carmona`, SellerCity: `Tokyo`, Date: `04/12/2011`, Value: 75.2, NumberOfUnits: 5 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 53.6, SellerName: `Walter Pang`, SellerCity: `London`, Date: `04/12/2011`, Value: 14.6, NumberOfUnits: 221 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 97.4, SellerName: `Howard Sprouse`, SellerCity: `Sofia`, Date: `04/14/2011`, Value: 84.8, NumberOfUnits: 39 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 74.2, SellerName: `Mark Slater`, SellerCity: `New York`, Date: `04/16/2011`, Value: 51.4, NumberOfUnits: 468 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 8.2, SellerName: `Claudia Kobayashi`, SellerCity: `Seattle`, Date: `04/17/2011`, Value: 0.8, NumberOfUnits: 44 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 59.2, SellerName: `John Smith`, SellerCity: `Mellvile`, Date: `04/22/2011`, Value: 47.6, NumberOfUnits: 287 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 96.8, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `04/24/2011`, Value: 78.6, NumberOfUnits: 463 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 76.8, SellerName: `Walter Pang`, SellerCity: `Seattle`, Date: `04/24/2011`, Value: 63, NumberOfUnits: 335 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 73.4, SellerName: `Walter Pang`, SellerCity: `Berlin`, Date: `04/24/2011`, Value: 30.6, NumberOfUnits: 211 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 66.4, SellerName: `Benjamin Dupree`, SellerCity: `Seattle`, Date: `05/03/2011`, Value: 87.4, NumberOfUnits: 291 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 37, SellerName: `John Smith`, SellerCity: `Sofia`, Date: `05/05/2011`, Value: 40.2, NumberOfUnits: 1 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 21.4, SellerName: `Alfredo Fetuchini`, SellerCity: `Seattle`, Date: `05/06/2011`, Value: 46, NumberOfUnits: 120 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 20, SellerName: `Benjamin Dupree`, SellerCity: `Berlin`, Date: `05/06/2011`, Value: 72.6, NumberOfUnits: 382 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 16.6, SellerName: `Harry Tyler`, SellerCity: `Seattle`, Date: `05/07/2011`, Value: 7.8, NumberOfUnits: 63 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 41.8, SellerName: `Stanley Brooker`, SellerCity: `Seattle`, Date: `05/12/2011`, Value: 94.4, NumberOfUnits: 230 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 5, SellerName: `Larry Lieb`, SellerCity: `Tokyo`, Date: `05/13/2011`, Value: 31, NumberOfUnits: 362 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 10.8, SellerName: `Monica Freitag`, SellerCity: `New York`, Date: `05/17/2011`, Value: 59.8, NumberOfUnits: 430 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 66.2, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `05/23/2011`, Value: 91.2, NumberOfUnits: 204 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 61, SellerName: `Antonio Charbonneau`, SellerCity: `Berlin`, Date: `05/24/2011`, Value: 86.2, NumberOfUnits: 118 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 68.8, SellerName: `Walter Pang`, SellerCity: `Sofia`, Date: `06/01/2011`, Value: 14.6, NumberOfUnits: 17 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 40.8, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `06/03/2011`, Value: 9, NumberOfUnits: 312 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 97, SellerName: `Lydia Burson`, SellerCity: `Seattle`, Date: `06/12/2011`, Value: 95, NumberOfUnits: 283 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 67, SellerName: `Benjamin Dupree`, SellerCity: `Seattle`, Date: `06/13/2011`, Value: 27.6, NumberOfUnits: 460 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 67.2, SellerName: `Howard Sprouse`, SellerCity: `New York`, Date: `06/14/2011`, Value: 66.2, NumberOfUnits: 295 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 28.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Mellvile`, Date: `06/15/2011`, Value: 50.6, NumberOfUnits: 49 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 7.4, SellerName: `Russell Shorter`, SellerCity: `Tokyo`, Date: `06/24/2011`, Value: 8, NumberOfUnits: 127 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 39.2, SellerName: `Mark Slater`, SellerCity: `Seattle`, Date: `06/27/2011`, Value: 98.8, NumberOfUnits: 244 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 53.4, SellerName: `Harold Garvin`, SellerCity: `Tokyo`, Date: `07/01/2011`, Value: 11.2, NumberOfUnits: 188 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 25.6, SellerName: `Benjamin Dupree`, SellerCity: `Seattle`, Date: `07/06/2011`, Value: 56.2, NumberOfUnits: 458 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 70.4, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `07/08/2011`, Value: 82.4, NumberOfUnits: 448 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 7.6, SellerName: `Harold Garvin`, SellerCity: `Berlin`, Date: `07/27/2011`, Value: 30.6, NumberOfUnits: 226 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 21.6, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `08/01/2011`, Value: 69.6, NumberOfUnits: 474 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 37.6, SellerName: `David Haley`, SellerCity: `Sofia`, Date: `08/02/2011`, Value: 62.8, NumberOfUnits: 338 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 99.4, SellerName: `Benjamin Meekins`, SellerCity: `London`, Date: `08/02/2011`, Value: 75.2, NumberOfUnits: 88 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 72.2, SellerName: `Carl Costello`, SellerCity: `Berlin`, Date: `08/04/2011`, Value: 86.4, NumberOfUnits: 436 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 34.4, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `08/06/2011`, Value: 9.2, NumberOfUnits: 297 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 47, SellerName: `Russell Shorter`, SellerCity: `London`, Date: `08/07/2011`, Value: 5.2, NumberOfUnits: 240 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 26.4, SellerName: `Stanley Brooker`, SellerCity: `Sofia`, Date: `08/07/2011`, Value: 80.2, NumberOfUnits: 415 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 49.2, SellerName: `David Haley`, SellerCity: `Mellvile`, Date: `08/08/2011`, Value: 61.2, NumberOfUnits: 435 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 95.2, SellerName: `Monica Freitag`, SellerCity: `Berlin`, Date: `08/16/2011`, Value: 73.8, NumberOfUnits: 64 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 74.2, SellerName: `John Smith`, SellerCity: `Seattle`, Date: `08/23/2011`, Value: 40.8, NumberOfUnits: 21 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 82.6, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `08/25/2011`, Value: 55, NumberOfUnits: 467 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 42.8, SellerName: `Lydia Burson`, SellerCity: `Sofia`, Date: `09/02/2011`, Value: 28.2, NumberOfUnits: 98 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 83.6, SellerName: `Russell Shorter`, SellerCity: `Mellvile`, Date: `09/04/2011`, Value: 72.6, NumberOfUnits: 370 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 41.6, SellerName: `Walter Pang`, SellerCity: `Berlin`, Date: `09/05/2011`, Value: 81, NumberOfUnits: 94 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 74.2, SellerName: `Benjamin Dupree`, SellerCity: `London`, Date: `09/09/2011`, Value: 95, NumberOfUnits: 106 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 75.4, SellerName: `Claudia Kobayashi`, SellerCity: `Sofia`, Date: `09/11/2011`, Value: 10, NumberOfUnits: 261 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 10.2, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `09/17/2011`, Value: 29.4, NumberOfUnits: 307 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 73, SellerName: `Harry Tyler`, SellerCity: `New York`, Date: `09/17/2011`, Value: 57, NumberOfUnits: 362 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 85.2, SellerName: `Benjamin Meekins`, SellerCity: `Tokyo`, Date: `09/24/2011`, Value: 24, NumberOfUnits: 330 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 77.6, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `09/26/2011`, Value: 91.8, NumberOfUnits: 23 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 50.4, SellerName: `David Haley`, SellerCity: `Berlin`, Date: `09/27/2011`, Value: 66.8, NumberOfUnits: 392 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 32.4, SellerName: `Larry Lieb`, SellerCity: `Seattle`, Date: `10/13/2011`, Value: 81.6, NumberOfUnits: 16 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 63, SellerName: `Lydia Burson`, SellerCity: `New York`, Date: `10/13/2011`, Value: 31, NumberOfUnits: 100 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 13.4, SellerName: `Carl Costello`, SellerCity: `Berlin`, Date: `10/22/2011`, Value: 85.6, NumberOfUnits: 132 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 0.4, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `10/22/2011`, Value: 74.4, NumberOfUnits: 22 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 66.2, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `11/02/2011`, Value: 88.2, NumberOfUnits: 96 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 50.2, SellerName: `Elisa Longbottom`, SellerCity: `Berlin`, Date: `11/03/2011`, Value: 31.4, NumberOfUnits: 76 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 68, SellerName: `Stanley Brooker`, SellerCity: `Mellvile`, Date: `11/04/2011`, Value: 91.2, NumberOfUnits: 492 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 6.6, SellerName: `Harry Tyler`, SellerCity: `Berlin`, Date: `11/08/2011`, Value: 51.6, NumberOfUnits: 49 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 35.6, SellerName: `Russell Shorter`, SellerCity: `Mellvile`, Date: `11/12/2011`, Value: 21, NumberOfUnits: 197 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 60, SellerName: `Howard Sprouse`, SellerCity: `Tokyo`, Date: `11/12/2011`, Value: 70.4, NumberOfUnits: 484 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 67.4, SellerName: `Russell Shorter`, SellerCity: `Tokyo`, Date: `11/13/2011`, Value: 14.4, NumberOfUnits: 182 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 52, SellerName: `Alfredo Fetuchini`, SellerCity: `London`, Date: `11/15/2011`, Value: 18.4, NumberOfUnits: 42 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 66.8, SellerName: `Brandon Mckim`, SellerCity: `New York`, Date: `11/19/2011`, Value: 52.8, NumberOfUnits: 109 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 56.2, SellerName: `Harold Garvin`, SellerCity: `Mellvile`, Date: `11/23/2011`, Value: 40.2, NumberOfUnits: 310 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 93.6, SellerName: `Monica Freitag`, SellerCity: `Sofia`, Date: `01/03/2012`, Value: 53.4, NumberOfUnits: 306 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 9.6, SellerName: `Harold Garvin`, SellerCity: `Seattle`, Date: `01/06/2012`, Value: 83, NumberOfUnits: 290 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 41.2, SellerName: `Monica Freitag`, SellerCity: `Tokyo`, Date: `01/10/2012`, Value: 29.8, NumberOfUnits: 499 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 9.8, SellerName: `Kathe Pettel`, SellerCity: `Berlin`, Date: `01/11/2012`, Value: 10.8, NumberOfUnits: 7 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 64.6, SellerName: `Nicholas Carmona`, SellerCity: `Sofia`, Date: `01/14/2012`, Value: 35, NumberOfUnits: 220 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 47.4, SellerName: `Elisa Longbottom`, SellerCity: `New York`, Date: `01/15/2012`, Value: 50.2, NumberOfUnits: 395 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 14.6, SellerName: `Lydia Burson`, SellerCity: `Sofia`, Date: `01/18/2012`, Value: 100, NumberOfUnits: 219 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 10.8, SellerName: `Larry Lieb`, SellerCity: `Mellvile`, Date: `01/18/2012`, Value: 92, NumberOfUnits: 229 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 65, SellerName: `Nicholas Carmona`, SellerCity: `Mellvile`, Date: `01/22/2012`, Value: 55.8, NumberOfUnits: 111 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 48, SellerName: `Alfredo Fetuchini`, SellerCity: `London`, Date: `02/01/2012`, Value: 20.6, NumberOfUnits: 237 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 87.8, SellerName: `Claudia Kobayashi`, SellerCity: `Berlin`, Date: `02/13/2012`, Value: 17.2, NumberOfUnits: 114 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 55.4, SellerName: `Bryan Culver`, SellerCity: `London`, Date: `02/23/2012`, Value: 76.8, NumberOfUnits: 329 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 40.8, SellerName: `Howard Sprouse`, SellerCity: `Seattle`, Date: `02/24/2012`, Value: 1.2, NumberOfUnits: 135 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 57.8, SellerName: `Harold Garvin`, SellerCity: `New York`, Date: `03/02/2012`, Value: 46.8, NumberOfUnits: 187 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 14.8, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `03/10/2012`, Value: 17.6, NumberOfUnits: 286 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 13, SellerName: `Antonio Charbonneau`, SellerCity: `Mellvile`, Date: `03/11/2012`, Value: 18.2, NumberOfUnits: 468 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 26, SellerName: `Monica Freitag`, SellerCity: `Tokyo`, Date: `03/18/2012`, Value: 93.2, NumberOfUnits: 71 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 72.6, SellerName: `Bryan Culver`, SellerCity: `Mellvile`, Date: `03/21/2012`, Value: 62, NumberOfUnits: 251 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 44.4, SellerName: `Monica Freitag`, SellerCity: `Berlin`, Date: `03/25/2012`, Value: 57.2, NumberOfUnits: 297 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 68.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Berlin`, Date: `03/25/2012`, Value: 4.2, NumberOfUnits: 248 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 35.4, SellerName: `Elisa Longbottom`, SellerCity: `Sofia`, Date: `03/26/2012`, Value: 45.2, NumberOfUnits: 488 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 41.2, SellerName: `Alfredo Fetuchini`, SellerCity: `Sofia`, Date: `04/06/2012`, Value: 59.6, NumberOfUnits: 211 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 29.4, SellerName: `Stanley Brooker`, SellerCity: `Seattle`, Date: `04/14/2012`, Value: 3.2, NumberOfUnits: 149 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 52, SellerName: `Lydia Burson`, SellerCity: `Berlin`, Date: `04/14/2012`, Value: 9.8, NumberOfUnits: 99 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 57.8, SellerName: `Benjamin Meekins`, SellerCity: `Seattle`, Date: `04/16/2012`, Value: 14, NumberOfUnits: 225 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 26, SellerName: `Nicholas Carmona`, SellerCity: `Seattle`, Date: `04/27/2012`, Value: 95.4, NumberOfUnits: 408 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 5, SellerName: `Benjamin Meekins`, SellerCity: `Sofia`, Date: `05/09/2012`, Value: 40.2, NumberOfUnits: 417 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 3, SellerName: `Alfredo Fetuchini`, SellerCity: `London`, Date: `05/24/2012`, Value: 67.8, NumberOfUnits: 221 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 57.6, SellerName: `Mark Slater`, SellerCity: `New York`, Date: `06/02/2012`, Value: 45.4, NumberOfUnits: 288 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 72.4, SellerName: `Bryan Culver`, SellerCity: `Berlin`, Date: `06/03/2012`, Value: 92.8, NumberOfUnits: 372 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 82.6, SellerName: `Kathe Pettel`, SellerCity: `Seattle`, Date: `06/03/2012`, Value: 51.4, NumberOfUnits: 408 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 91.6, SellerName: `Benjamin Dupree`, SellerCity: `Mellvile`, Date: `06/04/2012`, Value: 28.6, NumberOfUnits: 13 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.8, SellerName: `Benjamin Dupree`, SellerCity: `Mellvile`, Date: `06/05/2012`, Value: 31.6, NumberOfUnits: 487 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 46.4, SellerName: `Benjamin Dupree`, SellerCity: `Sofia`, Date: `06/11/2012`, Value: 86, NumberOfUnits: 276 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 18.2, SellerName: `Howard Sprouse`, SellerCity: `New York`, Date: `06/16/2012`, Value: 40.2, NumberOfUnits: 490 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 48.8, SellerName: `Harold Garvin`, SellerCity: `London`, Date: `06/18/2012`, Value: 55.6, NumberOfUnits: 238 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 94.4, SellerName: `David Haley`, SellerCity: `Tokyo`, Date: `06/23/2012`, Value: 92, NumberOfUnits: 170 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 48.8, SellerName: `Brandon Mckim`, SellerCity: `Mellvile`, Date: `07/04/2012`, Value: 72.8, NumberOfUnits: 132 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 82.8, SellerName: `Mark Slater`, SellerCity: `Mellvile`, Date: `07/05/2012`, Value: 56.8, NumberOfUnits: 443 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 38.2, SellerName: `Benjamin Dupree`, SellerCity: `New York`, Date: `07/05/2012`, Value: 27.6, NumberOfUnits: 368 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 24.2, SellerName: `Harold Garvin`, SellerCity: `New York`, Date: `07/11/2012`, Value: 38.6, NumberOfUnits: 39 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 4, SellerName: `Alfredo Fetuchini`, SellerCity: `Tokyo`, Date: `07/13/2012`, Value: 43.2, NumberOfUnits: 95 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 81.8, SellerName: `Benjamin Meekins`, SellerCity: `Berlin`, Date: `07/14/2012`, Value: 42.6, NumberOfUnits: 42 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 75, SellerName: `Brandon Mckim`, SellerCity: `Seattle`, Date: `07/16/2012`, Value: 61.4, NumberOfUnits: 200 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 85.6, SellerName: `Monica Freitag`, SellerCity: `Seattle`, Date: `07/16/2012`, Value: 10.6, NumberOfUnits: 221 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 96.4, SellerName: `Larry Lieb`, SellerCity: `New York`, Date: `07/21/2012`, Value: 99.6, NumberOfUnits: 54 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 46.2, SellerName: `Lydia Burson`, SellerCity: `Tokyo`, Date: `07/21/2012`, Value: 56, NumberOfUnits: 173 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 99.8, SellerName: `Lydia Burson`, SellerCity: `London`, Date: `07/23/2012`, Value: 10.8, NumberOfUnits: 47 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 42.4, SellerName: `Kathe Pettel`, SellerCity: `Mellvile`, Date: `07/26/2012`, Value: 91.6, NumberOfUnits: 173 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 52.2, SellerName: `Claudia Kobayashi`, SellerCity: `Mellvile`, Date: `08/05/2012`, Value: 98.8, NumberOfUnits: 323 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 45.6, SellerName: `Russell Shorter`, SellerCity: `Sofia`, Date: `08/07/2012`, Value: 26, NumberOfUnits: 264 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 56.8, SellerName: `Mark Slater`, SellerCity: `Sofia`, Date: `08/09/2012`, Value: 11.6, NumberOfUnits: 385 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 3.6, SellerName: `Harry Tyler`, SellerCity: `London`, Date: `08/10/2012`, Value: 26, NumberOfUnits: 56 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 34.6, SellerName: `Benjamin Dupree`, SellerCity: `Berlin`, Date: `08/12/2012`, Value: 96.2, NumberOfUnits: 267 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 92.4, SellerName: `Monica Freitag`, SellerCity: `Seattle`, Date: `08/14/2012`, Value: 95, NumberOfUnits: 109 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 34.8, SellerName: `Mark Slater`, SellerCity: `Berlin`, Date: `08/17/2012`, Value: 62.4, NumberOfUnits: 478 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 23.4, SellerName: `Claudia Kobayashi`, SellerCity: `Berlin`, Date: `08/21/2012`, Value: 57.8, NumberOfUnits: 184 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 79.6, SellerName: `Brandon Mckim`, SellerCity: `Seattle`, Date: `08/21/2012`, Value: 35.4, NumberOfUnits: 132 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 30.8, SellerName: `Nicholas Carmona`, SellerCity: `Sofia`, Date: `08/22/2012`, Value: 96, NumberOfUnits: 142 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 90, SellerName: `Carl Costello`, SellerCity: `Seattle`, Date: `08/27/2012`, Value: 27.6, NumberOfUnits: 46 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 83.2, SellerName: `Walter Pang`, SellerCity: `Seattle`, Date: `09/03/2012`, Value: 68.6, NumberOfUnits: 102 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 0.2, SellerName: `Russell Shorter`, SellerCity: `Berlin`, Date: `09/09/2012`, Value: 96.6, NumberOfUnits: 21 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 36.6, SellerName: `Monica Freitag`, SellerCity: `Sofia`, Date: `09/10/2012`, Value: 5, NumberOfUnits: 442 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 92.4, SellerName: `Harry Tyler`, SellerCity: `New York`, Date: `09/13/2012`, Value: 99.2, NumberOfUnits: 254 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 28, SellerName: `Nicholas Carmona`, SellerCity: `Sofia`, Date: `09/13/2012`, Value: 50, NumberOfUnits: 251 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 60.4, SellerName: `Antonio Charbonneau`, SellerCity: `New York`, Date: `09/15/2012`, Value: 44, NumberOfUnits: 119 }), + new PivotDataFlatItem({ ProductName: `Bikes`, ProductUnitPrice: 33, SellerName: `Claudia Kobayashi`, SellerCity: `New York`, Date: `09/19/2012`, Value: 32.4, NumberOfUnits: 256 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 99, SellerName: `John Smith`, SellerCity: `New York`, Date: `09/23/2012`, Value: 35.8, NumberOfUnits: 456 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 16.2, SellerName: `Kathe Pettel`, SellerCity: `London`, Date: `10/01/2012`, Value: 16.4, NumberOfUnits: 430 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 73, SellerName: `David Haley`, SellerCity: `Berlin`, Date: `10/02/2012`, Value: 57, NumberOfUnits: 248 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 21.8, SellerName: `Harold Garvin`, SellerCity: `Berlin`, Date: `10/18/2012`, Value: 28.2, NumberOfUnits: 440 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 28.4, SellerName: `Howard Sprouse`, SellerCity: `New York`, Date: `10/19/2012`, Value: 66.6, NumberOfUnits: 234 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 80.6, SellerName: `Benjamin Meekins`, SellerCity: `New York`, Date: `10/25/2012`, Value: 5.4, NumberOfUnits: 36 }), + new PivotDataFlatItem({ ProductName: `Accessories`, ProductUnitPrice: 97.8, SellerName: `Harry Tyler`, SellerCity: `London`, Date: `10/26/2012`, Value: 41.2, NumberOfUnits: 46 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 88.8, SellerName: `Elisa Longbottom`, SellerCity: `London`, Date: `11/02/2012`, Value: 64.6, NumberOfUnits: 211 }), + new PivotDataFlatItem({ ProductName: `Clothing`, ProductUnitPrice: 67.4, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `11/17/2012`, Value: 14.2, NumberOfUnits: 408 }), + new PivotDataFlatItem({ ProductName: `Components`, ProductUnitPrice: 7.2, SellerName: `Walter Pang`, SellerCity: `New York`, Date: `11/20/2012`, Value: 72.8, NumberOfUnits: 376 }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/grids/playground/grid-theme-playground/src/index.css b/samples/grids/playground/grid-theme-playground/src/index.css new file mode 100644 index 0000000000..feaf6262c4 --- /dev/null +++ b/samples/grids/playground/grid-theme-playground/src/index.css @@ -0,0 +1,283 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.playground__stage { + --ig-grid-grid-elevation: var(--ig-elevation-2); + --ig-grid-drag-elevation: var(--ig-elevation-5); + --ig-grid-grouparea-color: color-mix(in srgb, var(--ig-grid-header-text-color) 60%, var(--ig-grid-header-background)); + --ig-grid-grouparea-background: var(--ig-grid-header-background); + --ig-grid-drop-area-text-color: color-mix(in srgb, var(--ig-grid-header-text-color) 80%, var(--ig-grid-header-background)); + --ig-grid-drop-area-icon-color: var(--ig-grid-drop-area-text-color); + --ig-grid-drop-area-background: lch(from var(--ig-grid-header-background) calc(l + (50 - l) * 0.1 + sign(50 - l) * 5) c h); + --ig-grid-drop-area-on-drop-background: lch(from var(--ig-grid-header-background) calc(l + (50 - l) * 0.1 + sign(50 - l) * 5) c h); + --ig-grid-header-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-sortable-header-icon-hover-color: var(--ig-grid-accent-color); + --ig-grid-sorted-header-icon-color: hsl(from var(--ig-grid-accent-color) h s l/0.7); + --ig-grid-header-border-width: 0.0625rem; + --ig-grid-header-border-style: solid; + --ig-grid-header-border-color: color-mix(in srgb, var(--ig-grid-header-text-color) 20%, var(--ig-grid-header-background)); + --ig-grid-action-border-color: color-mix(in srgb, var(--ig-grid-foreground) 20%, var(--ig-grid-background)); + --ig-grid-ghost-header-background: var(--ig-grid-header-background); + --ig-grid-ghost-header-text-color: var(--ig-grid-header-text-color); + --ig-grid-ghost-header-icon-color: var(--ig-grid-header-text-color); + --ig-grid-excel-filtering-header-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-subheader-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-icon-color: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-hover-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-hover-icon-color: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-selected-icon-color: var(--ig-grid-accent-color); + --ig-grid-excel-filtering-actions-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-background)); + --ig-grid-excel-filtering-actions-disabled-foreground: color-mix(in srgb, var(--ig-grid-foreground) 50%, var(--ig-grid-background)); + --ig-grid-excel-filtering-border-color: color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)); + --ig-grid-grid-border-color: transparent; + --ig-grid-content-background: var(--ig-grid-background); + --ig-grid-content-text-color: var(--ig-grid-foreground); + --ig-grid-row-odd-background: var(--ig-grid-background); + --ig-grid-row-even-background: var(--ig-grid-background); + --ig-grid-body-column-border-color-odd: var(--ig-grid-background); + --ig-grid-body-column-border-color-even: var(--ig-grid-background); + --ig-grid-row-odd-text-color: var(--ig-grid-foreground); + --ig-grid-row-even-text-color: inherit; + --ig-grid-tree-selected-filtered-row-text-color: var(--ig-secondary-300); + --ig-grid-row-selected-text-color: var(--ig-grid-foreground); + --ig-grid-row-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-row-odd-background)); + --ig-grid-body-column-hover-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-row-odd-background)); + --ig-grid-row-hover-text-color: var(--ig-grid-foreground); + --ig-grid-row-border-width: 0.0625rem; + --ig-grid-row-border-style: solid; + --ig-grid-row-border-color: hsl(from color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)) h s l/0.38); + --ig-grid-row-drag-color: var(--ig-grid-foreground); + --ig-grid-pinned-border-width: 0.125rem; + --ig-grid-pinned-border-style: solid; + --ig-grid-pinned-border-color: color-mix(in srgb, var(--ig-grid-foreground) 20%, var(--ig-grid-background)); + --ig-grid-cell-active-border-width: 0.0625rem; + --ig-grid-cell-active-border-color: var(--ig-grid-accent-color); + --ig-grid-cell-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 24%, var(--ig-grid-background)); + --ig-grid-tree-selected-filtered-cell-text-color: var(--ig-secondary-500); + --ig-grid-cell-selected-text-color: var(--ig-grid-foreground); + --ig-grid-cell-editing-background: var(--ig-grid-background); + --ig-grid-cell-editing-foreground: var(--ig-grid-foreground); + --ig-grid-cell-editing-focus-foreground: var(--ig-grid-foreground); + --ig-grid-edit-mode-color: var(--ig-grid-accent-color); + --ig-grid-edited-row-indicator: color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)); + --ig-grid-cell-new-color: var(--ig-grid-foreground); + --ig-grid-cell-edited-value-color: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-cell-disabled-color: color-mix(in srgb, var(--ig-grid-foreground) 50%, var(--ig-grid-background)); + --ig-grid-resize-line-color: var(--ig-grid-accent-color); + --ig-grid-drop-indicator-color: var(--ig-grid-accent-color); + --ig-grid-group-label-column-name-text: var(--ig-grid-accent-color); + --ig-grid-group-label-icon: var(--ig-grid-accent-color); + --ig-grid-group-label-text: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-expand-all-icon-color: color-mix(in srgb, var(--ig-grid-foreground) 70%, var(--ig-grid-background)); + --ig-grid-expand-all-icon-hover-color: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-expand-icon-color: color-mix(in srgb, var(--ig-grid-foreground) 60%, var(--ig-grid-background)); + --ig-grid-expand-icon-hover-color: color-mix(in srgb, var(--ig-grid-foreground) 70%, var(--ig-grid-background)); + --ig-grid-active-expand-icon-color: var(--ig-gray-500); + --ig-grid-active-expand-icon-hover-color: var(--ig-primary-500); + --ig-grid-group-count-background: color-mix(in srgb, var(--ig-grid-foreground) 12%, var(--ig-grid-background)); + --ig-grid-group-count-text-color: var(--ig-grid-foreground); + --ig-grid-group-row-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-group-row-selected-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-filtering-header-background: var(--ig-grid-background); + --ig-grid-filtering-header-text-color: var(--ig-grid-foreground); + --ig-grid-filtering-row-background: var(--ig-grid-background); + --ig-grid-filtering-row-text-color: var(--ig-grid-foreground); + --ig-grid-filtering-dialog-background: var(--ig-grid-background); + --ig-grid-tree-filtered-text-color: var(--ig-gray-500); + --ig-grid-row-highlight: var(--ig-grid-accent-color); + --ig-grid-row-ghost-background: var(--ig-grid-background); + --ig-grid-row-ghost-border-color: hsl(from color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)) h s l/0.38); + --ig-grid-drop-area-border-radius: clamp(0rem, calc(var(--ig-radius-factor, 1) * 1rem), 1rem); + --ig-grid-summaries-border-color: var(--ig-gray-400); + --ig-grid-summaries-patch-background: color-mix(in srgb, var(--ig-grid-foreground) 12%, var(--ig-grid-background)); + --ig-grid-active-state-border-style: solid; + --ig-grid-header-text-color: var(--ig-grid-foreground); + --ig-grid-header-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-header-background)); + --ig-grid-header-selected-text-color: var(--ig-grid-header-text-color); + --ig-grid-row-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-background)); + --ig-grid-row-selected-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 16%, var(--ig-grid-background)); + --ig-grid-row-selected-hover-text-color: var(--ig-grid-foreground); + --ig-grid-body-column-selected-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 16%, var(--ig-grid-background)); + --ig-grid-body-column-hover-selected-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-background)); + --ig-grid-cell-selected-within-background: color-mix(in srgb, var(--ig-grid-accent-color) 24%, var(--ig-grid-background)); + --ig-grid-cell-selected-within-text-color: var(--ig-grid-foreground); + --ig-grid-background: #08002e; + --ig-grid-foreground: hsla(from color(from var(--ig-grid-background) var(--y-contrast)) h 0 l/1); + --ig-grid-accent-color: #ff7d52; +} + +.playground { + display: flex; + align-items: stretch; + gap: 1.25rem; + padding: 0.5rem; + box-sizing: border-box; + block-size: 100%; + min-block-size: 32.5rem; + overflow: hidden; +} + +.playground__rail { + --ig-size: var(--ig-size-medium); + + flex: 0 0 17.5rem; + display: flex; + flex-direction: column; + gap: 0.75rem; + min-block-size: 0; + padding-inline-end: 0.25rem; +} + +.playground__rail igc-accordion { + overflow-y: auto; +} + +.playground__rail igc-expansion-panel [slot="title"] { + font-size: 0.8125rem; + font-weight: 600; + letter-spacing: 0.04em; + color: var(--ig-gray-700); +} + +.playground .playground__hint { + margin: 0 0 0.625rem; + font-size: 0.75rem; + line-height: 1.45; + color: var(--ig-gray-600); +} + +.playground__fields { + display: flex; + flex-direction: column; + gap: 0.875rem; +} + +.playground__color-control { + anchor-scope: --grid-color-input; +} + +.playground__color-control igc-color-picker { + anchor-name: --grid-color-input; + inline-size: 100%; +} + +.playground__color-control igc-icon-button { + position: absolute; + position-anchor: --grid-color-input; + inset-inline-end: calc(anchor(self-end) + 0.5rem); + align-self: anchor-center; + z-index: 1; +} + +.playground__control { + display: flex; + flex-direction: column; + gap: 0.375rem; +} + +.playground__label { + font-size: 0.75rem; + color: var(--ig-gray-700); +} + +.playground__actions { + position: sticky; + inset-block-end: 0; + z-index: 1; + display: flex; + gap: 0.5rem; + padding-block: 0.5rem; + background: var(--ig-surface-500); + border-block-start: 0.0625rem solid var(--ig-gray-200); +} + +.playground__actions igc-button { + flex: 1; +} + +.playground__dialog-title { + font-size: 1rem; + font-weight: 600; +} + +.playground__dialog-body { + --ig-size: var(--ig-size-medium); + + inline-size: min(42.5rem, 80vw); + border: 0.0625rem solid var(--ig-gray-300); + border-radius: 0.25rem; + overflow: hidden; +} + +.playground__code-header { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0.5rem 0.75rem; + background: var(--ig-gray-100); + font-size: 0.875rem; + font-weight: 600; +} + +.playground__copy { + margin-inline-start: auto; +} + +.playground__code pre.shiki { + margin: 0; + padding: 0.625rem 0.75rem; + font-size: 0.8125rem; + line-height: 1.5; + font-family: 'JetBrains Mono', 'Fira Code', Consolas, monospace; + max-block-size: 55vh; + overflow: auto; + overscroll-behavior: contain; +} + +.playground__preview { + flex: 1 1 auto; + min-inline-size: 0; + min-block-size: 0; + display: flex; + flex-direction: column; + gap: 0.75rem; +} + +.playground__stage { + flex: 1 1 auto; + min-block-size: 0; + overflow: hidden; +} + +.playground__cell { + display: flex; + align-items: center; + gap: 0.5rem; + height: 100%; +} + +.playground__cell igc-avatar { + --ig-size: var(--ig-size-small); +} + +igc-toggle-button[selected]::part(toggle) { + z-index: 1; +} + +@media (max-width: 860px) { + .playground { + flex-direction: column; + block-size: auto; + overflow: visible; + } + + .playground__rail { + flex: 0 0 auto; + overflow: visible; + } + + .playground__stage { + min-block-size: 28.75rem; + } +} diff --git a/samples/grids/playground/grid-theme-playground/src/index.tsx b/samples/grids/playground/grid-theme-playground/src/index.tsx new file mode 100644 index 0000000000..a9b0aedef4 --- /dev/null +++ b/samples/grids/playground/grid-theme-playground/src/index.tsx @@ -0,0 +1,778 @@ +import React, { useEffect, useRef, useState } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; + +import { + IgrGrid, + IgrTreeGrid, + IgrHierarchicalGrid, + IgrPivotGrid, + IgrRowIsland, + IgrColumn, + IgrPaginator, + IgrCellTemplateContext, + IgrNumberSummaryOperand, + IgrPivotConfiguration, + IgrSummaryResult, +} from 'igniteui-react-grids'; +import { + IgrAccordion, + IgrAvatar, + IgrButton, + IgrButtonGroup, + IgrColorPicker, + IgrDialog, + IgrExpansionPanel, + IgrIconButton, + IgrSwitch, + IgrToggleButton, + registerIconFromText, +} from 'igniteui-react'; +import { + InvoicesData, + EmployeesFlatAvatars, + SingersData, + PivotDataFlat, +} from './PlaygroundData'; + +import 'igniteui-react-grids/grids/themes/light/material.css'; + +const copyIcon = + ''; +const checkIcon = + ''; +const restartIcon = + ''; + +registerIconFromText('content_copy', copyIcon, 'material'); +registerIconFromText('check', checkIcon, 'material'); +registerIconFromText('restart_alt', restartIcon, 'material'); + +type TokenKey = + | 'background' + | 'accentColor' + | 'foreground' + | 'headerBackground' + | 'headerForeground'; +type Preview = 'grid' | 'tree' | 'hierarchical' | 'pivot'; +type Size = 'small' | 'medium' | 'large'; + +interface TokenDescriptor { + key: TokenKey; + cssVar: string; +} + +class CompactSummary extends IgrNumberSummaryOperand { + public operate(data?: any[]): IgrSummaryResult[] { + return super + .operate(data) + .filter((r: IgrSummaryResult) => r.key === 'count' || r.key === 'sum'); + } +} + +const PRIMARY_TOKENS: TokenDescriptor[] = [ + { key: 'background', cssVar: '--ig-grid-background' }, + { key: 'accentColor', cssVar: '--ig-grid-accent-color' }, + { key: 'foreground', cssVar: '--ig-grid-foreground' }, +]; +const HEADER_TOKENS: TokenDescriptor[] = [ + { key: 'headerBackground', cssVar: '--ig-grid-header-background' }, + { key: 'headerForeground', cssVar: '--ig-grid-header-text-color' }, +]; +const ALL_TOKENS = [...PRIMARY_TOKENS, ...HEADER_TOKENS]; + +const EMPTY_COLORS: Record = { + background: '', + accentColor: '', + foreground: '', + headerBackground: '', + headerForeground: '', +}; + +const HEADER_TEXT_ON_HEADER = + 'hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1)'; +const DIVIDER = + 'hsl(from color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)) h s l/0.38)'; +const ZEBRA = + 'color-mix(in srgb, var(--ig-grid-foreground) 4%, var(--ig-grid-background))'; +const NO_DIVIDER = 'var(--ig-grid-background)'; + +const invoicesData = new InvoicesData(); +const employeesFlatAvatars = new EmployeesFlatAvatars(); +const singersData = new SingersData(); +const pivotDataFlat = new PivotDataFlat(); + +const pivotConfig: IgrPivotConfiguration = { + columns: [ + { + memberName: 'Product', + memberFunction: (data: any) => data.ProductName, + enabled: true, + }, + ], + rows: [ + { + memberName: 'City', + memberFunction: (data: any) => data.SellerCity, + enabled: true, + childLevel: { + memberName: 'Seller', + memberFunction: (data: any) => data.SellerName, + enabled: true, + }, + }, + ], + values: [ + { + member: 'NumberOfUnits', + aggregate: { key: 'sum', aggregatorName: 'SUM', label: 'Sum' }, + enabled: true, + }, + ], + filters: null, +}; + +const avatarCellTemplate = (props: { dataContext: IgrCellTemplateContext }) => { + return ( +
+ + {props.dataContext.cell.value} +
+ ); +}; + +function getPreviewStyle( + colors: Record, + size: Size, + radiusFactor: number, + horizontalDividers: boolean, + verticalDividers: boolean, + zebra: boolean, +): Record { + const style: Record = {}; + + for (const token of ALL_TOKENS) { + if (colors[token.key]) { + style[token.cssVar] = colors[token.key]; + } + } + if (colors.headerBackground && !colors.headerForeground) { + style['--ig-grid-header-text-color'] = HEADER_TEXT_ON_HEADER; + } + + style['--ig-size'] = `var(--ig-size-${size})`; + style['--ig-radius-factor'] = `${radiusFactor}`; + style['--ig-grid-row-border-color'] = horizontalDividers + ? DIVIDER + : NO_DIVIDER; + + const columnRule = verticalDividers ? DIVIDER : NO_DIVIDER; + style['--ig-grid-body-column-border-color-odd'] = columnRule; + style['--ig-grid-body-column-border-color-even'] = columnRule; + + if (zebra) { + style['--ig-grid-row-even-background'] = ZEBRA; + } + + return style; +} + +function getExportCss( + overrides: Record, + base: [string, string][], +): string { + if (!base.length) { + const lines = Object.entries(overrides).map( + ([name, value]) => ` ${name}: ${value};`, + ); + return `/* Overrides only -- requires a base grid theme to derive from. */\n.my-grid {\n${lines.join('\n')}\n}`; + } + + const emitted = new Set(); + const lines = base.map(([name, value]) => { + emitted.add(name); + return ` ${name}: ${overrides[name] ?? value};`; + }); + const extras = Object.entries(overrides) + .filter(([name]) => !emitted.has(name)) + .map(([name, value]) => ` ${name}: ${value};`); + + return `.my-grid {\n${[...extras, ...lines].join('\n')}\n}`; +} + +function readCompiledTheme(): [string, string][] { + const tokens = new Map(); + + for (const sheet of Array.from(document.styleSheets)) { + let rules: CSSRuleList; + + try { + rules = sheet.cssRules; + } catch { + continue; // cross-origin sheet, not ours + } + + for (const rule of Array.from(rules)) { + if ( + !(rule instanceof CSSStyleRule) || + !rule.selectorText.includes('playground__stage') + ) { + continue; + } + + for (let i = 0; i < rule.style.length; i++) { + const name = rule.style.item(i); + if (name.startsWith('--ig-')) { + tokens.set(name, rule.style.getPropertyValue(name).trim()); + } + } + } + } + + return Array.from(tokens); +} + +export default function GridThemePlayground() { + const [colors, setColors] = useState>({ + ...EMPTY_COLORS, + }); + const [size, setSize] = useState('medium'); + const [radiusFactor, setRadiusFactor] = useState(0.4); + const [horizontalDividers, setHorizontalDividers] = useState(true); + const [verticalDividers, setVerticalDividers] = useState(false); + const [zebra, setZebra] = useState(false); + const [preview, setPreview] = useState('grid'); + const [codeHtml, setCodeHtml] = useState(''); + const [copied, setCopied] = useState(false); + + const stageRef = useRef(null); + const dialogRef = useRef(null); + const seedColors = useRef>>({}); + const themeTokens = useRef<[string, string][]>([]); + const highlighter = useRef<{ + codeToHtml: (code: string, opts: { lang: string; theme: string }) => string; + } | null>(null); + + useEffect(() => { + themeTokens.current = readCompiledTheme(); + + const styles = getComputedStyle(stageRef.current); + seedColors.current = { + background: styles.getPropertyValue('--ig-grid-background').trim(), + accentColor: styles.getPropertyValue('--ig-grid-accent-color').trim(), + }; + setColors((current) => ({ ...current, ...seedColors.current })); + }, []); + + const previewStyle = getPreviewStyle( + colors, + size, + radiusFactor, + horizontalDividers, + verticalDividers, + zebra, + ); + const exportCss = getExportCss(previewStyle, themeTokens.current); + + const setColor = (key: TokenKey, value: string) => { + setColors((current) => ({ ...current, [key]: value })); + }; + + const onColorChange = (key: TokenKey, event: CustomEvent) => { + if (event.composedPath()[0] === event.currentTarget) { + setColor(key, event.detail); + } + }; + + const reset = () => { + setColors({ ...EMPTY_COLORS, ...seedColors.current }); + setSize('medium'); + setRadiusFactor(0.4); + setHorizontalDividers(true); + setVerticalDividers(false); + setZebra(false); + }; + + const showCode = async () => { + if (!highlighter.current) { + const [core, engine, css, theme] = await Promise.all([ + import('shiki/core'), + import('shiki/engine/javascript'), + import('shiki/langs/css.mjs'), + import('shiki/themes/dark-plus.mjs'), + ]); + + highlighter.current = await core.createHighlighterCore({ + themes: [theme.default], + langs: [css.default], + engine: engine.createJavaScriptRegexEngine(), + }); + } + + setCodeHtml( + highlighter.current.codeToHtml(exportCss, { + lang: 'css', + theme: 'dark-plus', + }), + ); + dialogRef.current?.show(); + }; + + const copy = () => { + navigator.clipboard.writeText(exportCss).then(() => { + setCopied(true); + setTimeout(() => setCopied(false), 2000); + }); + }; + + const renderPreview = () => { + switch (preview) { + case 'grid': + return ( + + + + + + + + + ); + case 'tree': + return ( + + + + + + + ); + case 'hierarchical': + return ( + + + + + + + + + + + + ); + case 'pivot': + return ( + + ); + } + }; + + return ( +
+
+ +
+
+ {renderPreview()} +
+
+
+ +
+ Theme code +
+
+
+ CSS variables + +
+
+
+ dialogRef.current?.hide()} + > + Close + +
+
+ ); +} + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render(); diff --git a/samples/grids/playground/grid-theme-playground/tsconfig.json b/samples/grids/playground/grid-theme-playground/tsconfig.json new file mode 100644 index 0000000000..8c0d146f95 --- /dev/null +++ b/samples/grids/playground/grid-theme-playground/tsconfig.json @@ -0,0 +1,44 @@ +{ + "compilerOptions": { + "resolveJsonModule": true, + "esModuleInterop": true, + "baseUrl": ".", + "outDir": "build/dist", + "module": "esnext", + "target": "es5", + "lib": [ + "es6", + "dom" + ], + "sourceMap": true, + "allowJs": true, + "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, + "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/grids/playground/grid-theme-playground/vite.config.js b/samples/grids/playground/grid-theme-playground/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/grids/playground/grid-theme-playground/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/grids/tree-grid/theming/.devcontainer/devcontainer.json b/samples/grids/tree-grid/theming/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..e0b8e9c925 --- /dev/null +++ b/samples/grids/tree-grid/theming/.devcontainer/devcontainer.json @@ -0,0 +1,4 @@ +{ + "name": "Node.js", + "image": "mcr.microsoft.com/devcontainers/javascript-node:22" +} \ No newline at end of file diff --git a/samples/grids/tree-grid/theming/.eslintrc.js b/samples/grids/tree-grid/theming/.eslintrc.js new file mode 100644 index 0000000000..7168b71441 --- /dev/null +++ b/samples/grids/tree-grid/theming/.eslintrc.js @@ -0,0 +1,78 @@ +// 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" + } + } + ] + }; \ No newline at end of file diff --git a/samples/grids/tree-grid/theming/ReadMe.md b/samples/grids/tree-grid/theming/ReadMe.md new file mode 100644 index 0000000000..17f1f2254c --- /dev/null +++ b/samples/grids/tree-grid/theming/ReadMe.md @@ -0,0 +1,56 @@ + + + +This folder contains implementation of React application with example of Theming feature using [Tree Grid](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/grids/tree-grid/theming +``` + +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/grids/tree-grid/theming/index.html b/samples/grids/tree-grid/theming/index.html new file mode 100644 index 0000000000..7ccd41dace --- /dev/null +++ b/samples/grids/tree-grid/theming/index.html @@ -0,0 +1,12 @@ + + + + Sample | Ignite UI | React | infragistics + + + + +
+ + + \ No newline at end of file diff --git a/samples/grids/tree-grid/theming/package.json b/samples/grids/tree-grid/theming/package.json new file mode 100644 index 0000000000..9ec13a8ebc --- /dev/null +++ b/samples/grids/tree-grid/theming/package.json @@ -0,0 +1,49 @@ +{ + "name": "example-ignite-ui-react", + "description": "This project provides example of using Ignite UI for React components", + "author": "Infragistics", + "version": "1.4.0", + "license": "", + "homepage": ".", + "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", + "lint": "eslint ./src/**/*.{ts,tsx}" + }, + "dependencies": { + "igniteui-dockmanager": "^2.2.1", + "igniteui-react": "19.9.0", + "igniteui-react-core": "19.6.0", + "igniteui-react-grids": "19.10.0", + "igniteui-webcomponents": "~7.4.1", + "lit-html": "^3.2.0", + "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", + "eslint": "^8.33.0", + "eslint-config-react": "^1.1.7", + "eslint-plugin-react": "^7.20.0", + "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/grids/tree-grid/theming/sandbox.config.json b/samples/grids/tree-grid/theming/sandbox.config.json new file mode 100644 index 0000000000..07f53508eb --- /dev/null +++ b/samples/grids/tree-grid/theming/sandbox.config.json @@ -0,0 +1,5 @@ +{ + "infiniteLoopProtection": false, + "hardReloadOnChange": false, + "view": "browser" +} \ No newline at end of file diff --git a/samples/grids/tree-grid/theming/src/EmployeesFlatAvatars.ts b/samples/grids/tree-grid/theming/src/EmployeesFlatAvatars.ts new file mode 100644 index 0000000000..e7ddbf0314 --- /dev/null +++ b/samples/grids/tree-grid/theming/src/EmployeesFlatAvatars.ts @@ -0,0 +1,43 @@ +export class EmployeesFlatAvatarsItem { + public constructor(init: Partial) { + Object.assign(this, init); + } + + public Age: number; + public Avatar: string; + public HireDate: string; + public ID: number; + public Name: string; + public ParentID: number; + public Title: string; + +} +export class EmployeesFlatAvatars extends Array { + public constructor(items: Array | number = -1) { + if (Array.isArray(items)) { + super(...items); + } else { + const newItems = [ + new EmployeesFlatAvatarsItem({ Age: 55, Avatar: `https://dl.infragistics.com/x/img/people/men/25.png`, HireDate: `2008-03-20`, ID: 1, Name: `Johnathan Winchester`, ParentID: -1, Title: `Development Manager` }), + new EmployeesFlatAvatarsItem({ Age: 42, Avatar: `https://dl.infragistics.com/x/img/people/women/14.png`, HireDate: `2014-01-22`, ID: 4, Name: `Ana Sanders`, ParentID: -1, Title: `CEO` }), + new EmployeesFlatAvatarsItem({ Age: 49, Avatar: `https://dl.infragistics.com/x/img/people/women/12.png`, HireDate: `2014-01-22`, ID: 18, Name: `Victoria Lincoln`, ParentID: -1, Title: `Accounting Manager` }), + new EmployeesFlatAvatarsItem({ Age: 61, Avatar: `https://dl.infragistics.com/x/img/people/men/24.png`, HireDate: `2010-01-01`, ID: 10, Name: `Yang Wang`, ParentID: -1, Title: `Localization Manager` }), + new EmployeesFlatAvatarsItem({ Age: 43, Avatar: `https://dl.infragistics.com/x/img/people/men/21.png`, HireDate: `2011-06-03`, ID: 3, Name: `Michael Burke`, ParentID: 1, Title: `Senior Software Developer` }), + new EmployeesFlatAvatarsItem({ Age: 29, Avatar: `https://dl.infragistics.com/x/img/people/men/22.png`, HireDate: `2009-06-19`, ID: 2, Name: `Thomas Anderson`, ParentID: 1, Title: `Senior Software Developer` }), + new EmployeesFlatAvatarsItem({ Age: 31, Avatar: `https://dl.infragistics.com/x/img/people/women/13.png`, HireDate: `2014-08-18`, ID: 11, Name: `Monica Reyes`, ParentID: 1, Title: `Software Development Team Lead` }), + new EmployeesFlatAvatarsItem({ Age: 35, Avatar: `https://dl.infragistics.com/x/img/people/men/23.png`, HireDate: `2015-09-17`, ID: 6, Name: `Roland Mendel`, ParentID: 11, Title: `Senior Software Developer` }), + new EmployeesFlatAvatarsItem({ Age: 44, Avatar: `https://dl.infragistics.com/x/img/people/men/26.png`, HireDate: `2009-10-11`, ID: 12, Name: `Sven Cooper`, ParentID: 11, Title: `Senior Software Developer` }), + new EmployeesFlatAvatarsItem({ Age: 44, Avatar: `https://dl.infragistics.com/x/img/people/men/27.png`, HireDate: `2014-04-04`, ID: 14, Name: `Laurence Johnson`, ParentID: 4, Title: `Director` }), + new EmployeesFlatAvatarsItem({ Age: 25, Avatar: `https://dl.infragistics.com/x/img/people/women/11.png`, HireDate: `2017-11-09`, ID: 5, Name: `Elizabeth Richards`, ParentID: 4, Title: `Vice President` }), + new EmployeesFlatAvatarsItem({ Age: 39, Avatar: `https://dl.infragistics.com/x/img/people/men/28.png`, HireDate: `2010-03-22`, ID: 13, Name: `Trevor Ashworth`, ParentID: 5, Title: `Director` }), + new EmployeesFlatAvatarsItem({ Age: 44, Avatar: `https://dl.infragistics.com/x/img/people/men/29.png`, HireDate: `2014-04-04`, ID: 17, Name: `Antonio Moreno`, ParentID: 18, Title: `Senior Accountant` }), + new EmployeesFlatAvatarsItem({ Age: 50, Avatar: `https://dl.infragistics.com/x/img/people/men/20.png`, HireDate: `2007-11-18`, ID: 7, Name: `Pedro Rodriguez`, ParentID: 10, Title: `Senior Localization Developer` }), + new EmployeesFlatAvatarsItem({ Age: 27, Avatar: `https://dl.infragistics.com/x/img/people/women/15.png`, HireDate: `2016-02-19`, ID: 8, Name: `Casey Harper`, ParentID: 10, Title: `Senior Localization Developer` }), + new EmployeesFlatAvatarsItem({ Age: 25, Avatar: `https://dl.infragistics.com/x/img/people/women/16.png`, HireDate: `2017-11-09`, ID: 15, Name: `Patricia Simpson`, ParentID: 7, Title: `Localization Intern` }), + new EmployeesFlatAvatarsItem({ Age: 39, Avatar: `https://dl.infragistics.com/x/img/people/men/26.png`, HireDate: `2010-03-22`, ID: 9, Name: `Francisco Chang`, ParentID: 7, Title: `Localization Intern` }), + new EmployeesFlatAvatarsItem({ Age: 25, Avatar: `https://dl.infragistics.com/x/img/people/men/27.png`, HireDate: `2018-03-18`, ID: 16, Name: `Peter Lewis`, ParentID: 7, Title: `Localization Intern` }), + ]; + super(...newItems.slice(0)); + } + } +} diff --git a/samples/grids/tree-grid/theming/src/index.css b/samples/grids/tree-grid/theming/src/index.css new file mode 100644 index 0000000000..75fa193403 --- /dev/null +++ b/samples/grids/tree-grid/theming/src/index.css @@ -0,0 +1,261 @@ +/* shared styles are loaded from: */ +/* https://dl.infragistics.com/x/css/samples/shared.v8.css */ + +.themed-grid { + --ig-grid-grid-elevation: var(--ig-elevation-2); + --ig-grid-drag-elevation: var(--ig-elevation-5); + --ig-grid-grouparea-color: color-mix(in srgb, var(--ig-grid-header-text-color) 60%, var(--ig-grid-header-background)); + --ig-grid-grouparea-background: var(--ig-grid-header-background); + --ig-grid-drop-area-text-color: color-mix(in srgb, var(--ig-grid-header-text-color) 80%, var(--ig-grid-header-background)); + --ig-grid-drop-area-icon-color: var(--ig-grid-drop-area-text-color); + --ig-grid-drop-area-background: lch(from var(--ig-grid-header-background) calc(l + (50 - l) * 0.1 + sign(50 - l) * 5) c h); + --ig-grid-drop-area-on-drop-background: lch(from var(--ig-grid-header-background) calc(l + (50 - l) * 0.1 + sign(50 - l) * 5) c h); + --ig-grid-header-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-sortable-header-icon-hover-color: var(--ig-grid-accent-color); + --ig-grid-sorted-header-icon-color: hsl(from var(--ig-grid-accent-color) h s l/0.7); + --ig-grid-header-border-width: 0.0625rem; + --ig-grid-header-border-style: solid; + --ig-grid-header-border-color: color-mix(in srgb, var(--ig-grid-header-text-color) 20%, var(--ig-grid-header-background)); + --ig-grid-action-border-color: color-mix(in srgb, var(--ig-grid-foreground) 20%, var(--ig-grid-background)); + --ig-grid-ghost-header-background: var(--ig-grid-header-background); + --ig-grid-ghost-header-text-color: var(--ig-grid-header-text-color); + --ig-grid-ghost-header-icon-color: var(--ig-grid-header-text-color); + --ig-grid-excel-filtering-header-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-subheader-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-icon-color: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-hover-foreground: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-hover-icon-color: var(--ig-grid-foreground); + --ig-grid-excel-filtering-actions-selected-icon-color: var(--ig-grid-accent-color); + --ig-grid-excel-filtering-actions-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-background)); + --ig-grid-excel-filtering-actions-disabled-foreground: color-mix(in srgb, var(--ig-grid-foreground) 50%, var(--ig-grid-background)); + --ig-grid-excel-filtering-border-color: color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)); + --ig-grid-grid-border-color: transparent; + --ig-grid-content-background: var(--ig-grid-background); + --ig-grid-content-text-color: var(--ig-grid-foreground); + --ig-grid-row-odd-background: var(--ig-grid-background); + --ig-grid-row-even-background: var(--ig-grid-background); + --ig-grid-body-column-border-color-odd: var(--ig-grid-background); + --ig-grid-body-column-border-color-even: var(--ig-grid-background); + --ig-grid-row-odd-text-color: var(--ig-grid-foreground); + --ig-grid-row-even-text-color: inherit; + --ig-grid-tree-selected-filtered-row-text-color: var(--ig-secondary-300); + --ig-grid-row-selected-text-color: var(--ig-grid-foreground); + --ig-grid-row-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-row-odd-background)); + --ig-grid-body-column-hover-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 8%, var(--ig-grid-row-odd-background)); + --ig-grid-row-hover-text-color: var(--ig-grid-foreground); + --ig-grid-row-border-width: 0.0625rem; + --ig-grid-row-border-style: solid; + --ig-grid-row-border-color: hsl(from color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)) h s l/0.38); + --ig-grid-row-drag-color: var(--ig-grid-foreground); + --ig-grid-pinned-border-width: 0.125rem; + --ig-grid-pinned-border-style: solid; + --ig-grid-pinned-border-color: color-mix(in srgb, var(--ig-grid-foreground) 20%, var(--ig-grid-background)); + --ig-grid-cell-active-border-width: 0.0625rem; + --ig-grid-cell-active-border-color: var(--ig-grid-accent-color); + --ig-grid-cell-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 24%, var(--ig-grid-background)); + --ig-grid-tree-selected-filtered-cell-text-color: var(--ig-secondary-500); + --ig-grid-cell-selected-text-color: var(--ig-grid-foreground); + --ig-grid-cell-editing-background: var(--ig-grid-background); + --ig-grid-cell-editing-foreground: var(--ig-grid-foreground); + --ig-grid-cell-editing-focus-foreground: var(--ig-grid-foreground); + --ig-grid-edit-mode-color: var(--ig-grid-accent-color); + --ig-grid-edited-row-indicator: color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)); + --ig-grid-cell-new-color: var(--ig-grid-foreground); + --ig-grid-cell-edited-value-color: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-cell-disabled-color: color-mix(in srgb, var(--ig-grid-foreground) 50%, var(--ig-grid-background)); + --ig-grid-resize-line-color: var(--ig-grid-accent-color); + --ig-grid-drop-indicator-color: var(--ig-grid-accent-color); + --ig-grid-group-label-column-name-text: var(--ig-grid-accent-color); + --ig-grid-group-label-icon: var(--ig-grid-accent-color); + --ig-grid-group-label-text: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-expand-all-icon-color: color-mix(in srgb, var(--ig-grid-foreground) 70%, var(--ig-grid-background)); + --ig-grid-expand-all-icon-hover-color: color-mix(in srgb, var(--ig-grid-foreground) 80%, var(--ig-grid-background)); + --ig-grid-expand-icon-color: color-mix(in srgb, var(--ig-grid-foreground) 60%, var(--ig-grid-background)); + --ig-grid-expand-icon-hover-color: color-mix(in srgb, var(--ig-grid-foreground) 70%, var(--ig-grid-background)); + --ig-grid-active-expand-icon-color: var(--ig-gray-500); + --ig-grid-active-expand-icon-hover-color: var(--ig-primary-500); + --ig-grid-group-count-background: color-mix(in srgb, var(--ig-grid-foreground) 12%, var(--ig-grid-background)); + --ig-grid-group-count-text-color: var(--ig-grid-foreground); + --ig-grid-group-row-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-group-row-selected-background: color-mix(in srgb, var(--ig-grid-foreground) 6%, var(--ig-grid-background)); + --ig-grid-filtering-header-background: var(--ig-grid-background); + --ig-grid-filtering-header-text-color: var(--ig-grid-foreground); + --ig-grid-filtering-row-background: var(--ig-grid-background); + --ig-grid-filtering-row-text-color: var(--ig-grid-foreground); + --ig-grid-filtering-dialog-background: var(--ig-grid-background); + --ig-grid-tree-filtered-text-color: var(--ig-gray-500); + --ig-grid-row-highlight: var(--ig-grid-accent-color); + --ig-grid-row-ghost-background: var(--ig-grid-background); + --ig-grid-row-ghost-border-color: hsl(from color-mix(in srgb, var(--ig-grid-foreground) 16%, var(--ig-grid-background)) h s l/0.38); + --ig-grid-drop-area-border-radius: clamp(0rem, calc(var(--ig-radius-factor, 1) * 1rem), 1rem); + --ig-grid-summaries-border-color: var(--ig-gray-400); + --ig-grid-summaries-patch-background: color-mix(in srgb, var(--ig-grid-foreground) 12%, var(--ig-grid-background)); + --ig-grid-active-state-border-style: solid; + --ig-grid-header-text-color: var(--ig-grid-foreground); + --ig-grid-header-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-header-background)); + --ig-grid-header-selected-text-color: var(--ig-grid-header-text-color); + --ig-grid-row-selected-background: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-background)); + --ig-grid-row-selected-hover-background: color-mix(in srgb, var(--ig-grid-accent-color) 16%, var(--ig-grid-background)); + --ig-grid-row-selected-hover-text-color: var(--ig-grid-foreground); + --ig-grid-body-column-selected-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 16%, var(--ig-grid-background)); + --ig-grid-body-column-hover-selected-border-color: color-mix(in srgb, var(--ig-grid-accent-color) 12%, var(--ig-grid-background)); + --ig-grid-cell-selected-within-background: color-mix(in srgb, var(--ig-grid-accent-color) 24%, var(--ig-grid-background)); + --ig-grid-cell-selected-within-text-color: var(--ig-grid-foreground); + --ig-grid-foreground: hsla(from color(from var(--ig-grid-background) var(--y-contrast)) h 0 l/1); +} + +.theme-studio { + --ig-size: var(--ig-size-large); + --ig-radius-factor: 0.6; + + --ig-grid-background: #faf4ed; + --ig-grid-foreground: #575279; + --ig-grid-accent-color: #907aa9; + --ig-grid-header-background: #fffaf3; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-header-border-color: #dfdad9; + --ig-grid-row-border-color: #f2e9e1; + --ig-grid-grid-border-color: #dfdad9; + --ig-grid-grid-elevation: 0 0.0625rem 0.1875rem rgba(87, 82, 121, 0.1), 0 0.0625rem 0.125rem rgba(87, 82, 121, 0.06); +} + +.theme-ledger { + --ig-size: var(--ig-size-small); + --ig-radius-factor: 0; + + --ig-grid-background: #eceff4; + --ig-grid-foreground: #2e3440; + --ig-grid-accent-color: #5e81ac; + --ig-grid-header-background: #d8dee9; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-row-odd-background: #eceff4; + --ig-grid-row-even-background: #e5e9f0; + --ig-grid-body-column-border-color-odd: #d8dee9; + --ig-grid-body-column-border-color-even: #d8dee9; + --ig-grid-row-border-color: #d8dee9; + --ig-grid-grid-border-color: #c8d0dc; +} + +.theme-editorial { + --ig-size: var(--ig-size-large); + --ig-radius-factor: 0; + + --ig-grid-background: #333c43; + --ig-grid-foreground: #d3c6aa; + --ig-grid-accent-color: #a7c080; + --ig-grid-header-background: #3a464c; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-row-border-color: #333c43; + --ig-grid-grid-border-color: #333c43; +} + +.theme-midnight { + --ig-size: var(--ig-size-medium); + --ig-radius-factor: 0.25; + + --ig-grid-background: #282a36; + --ig-grid-foreground: #f8f8f2; + --ig-grid-accent-color: #bd93f9; + --ig-grid-header-background: #21222c; + --ig-grid-header-text-color: hsla(from color(from var(--ig-grid-header-background) var(--y-contrast)) h 0 l/1); + --ig-grid-body-column-border-color-odd: #44475a; + --ig-grid-body-column-border-color-even: #44475a; + --ig-grid-row-border-color: #44475a; + --ig-grid-grid-border-color: #44475a; +} + +.grid-theming-sample { + display: flex; + flex-direction: column; + gap: 1rem; + box-sizing: border-box; +} + +.theme-picker { + display: flex; + flex-direction: column; + gap: 0.375rem; + align-self: flex-start; +} + +.theme-picker__label { + font-size: 0.75rem; + font-weight: 500; + letter-spacing: 0.04em; + color: var(--ig-gray-700); +} + +.theme-picker .theme-picker__hint { + margin: 0; + font-size: 0.75rem; + line-height: 1.45; + color: var(--ig-gray-600); +} + +.theme-picker__hint code { + font-family: 'JetBrains Mono', 'Fira Code', Consolas, monospace; + font-size: 0.6875rem; + font-variant-ligatures: none; +} + +.theme-swatch { + display: inline-block; + min-width: 0.875rem; + aspect-ratio: 1; + border-radius: 50%; + border: 0.0625rem solid var(--ig-gray-300); + vertical-align: -0.125rem; + background: linear-gradient(135deg, var(--swatch-bg) 0 50%, var(--swatch-accent) 50% 100%); +} + +.theme-swatch--studio { + --swatch-bg: #faf4ed; + --swatch-accent: #907aa9; +} + +.theme-swatch--ledger { + --swatch-bg: #eceff4; + --swatch-accent: #5e81ac; +} + +.theme-swatch--editorial { + --swatch-bg: #333c43; + --swatch-accent: #a7c080; +} + +.theme-swatch--midnight { + --swatch-bg: #282a36; + --swatch-accent: #bd93f9; +} + +igc-button-group { + --item-text-color: unset; + --elevation: unset; + + width: fit-content; +} + +igc-toggle-button { + max-width: 7.875rem; +} + +igx-grid-excel-style-filtering { + --ig-size: 3; +} + +.cell__inner { + display: flex; + align-items: center; + height: 100%; + position: relative; + justify-content: space-between; +} + +.cell__inner igc-avatar { + --ig-size: var(--ig-size-small); +} + +.name { + margin-left: 1.875rem; +} diff --git a/samples/grids/tree-grid/theming/src/index.tsx b/samples/grids/tree-grid/theming/src/index.tsx new file mode 100644 index 0000000000..7d0b6a94b9 --- /dev/null +++ b/samples/grids/tree-grid/theming/src/index.tsx @@ -0,0 +1,118 @@ +import React, { useState } from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; + +import { + IgrTreeGrid, + IgrColumn, + IgrCellTemplateContext, +} from 'igniteui-react-grids'; +import { IgrAvatar, IgrButtonGroup, IgrToggleButton } from 'igniteui-react'; +import { EmployeesFlatAvatars } from './EmployeesFlatAvatars'; + +import 'igniteui-react-grids/grids/themes/light/material.css'; + +const employeesFlatAvatars = new EmployeesFlatAvatars(); + +const nameCellTemplate = (props: { dataContext: IgrCellTemplateContext }) => { + return ( +
+ + {props.dataContext.cell.value} +
+ ); +}; + +export default function TreeGridTheming() { + const [activeTheme, setActiveTheme] = useState('theme-studio'); + + return ( +
+
+
+ Pick a theme + ) => setActiveTheme(e.detail)} + > + + Studio + + + Ledger + + + + Editorial + + + + Midnight + + +

+ Custom themes, not built-in: each is a set of{' '} + --ig-grid-* variables with its own background and + accent. +

+
+
+ + + + + + +
+
+
+ ); +} + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render(); diff --git a/samples/grids/tree-grid/theming/tsconfig.json b/samples/grids/tree-grid/theming/tsconfig.json new file mode 100644 index 0000000000..8c0d146f95 --- /dev/null +++ b/samples/grids/tree-grid/theming/tsconfig.json @@ -0,0 +1,44 @@ +{ + "compilerOptions": { + "resolveJsonModule": true, + "esModuleInterop": true, + "baseUrl": ".", + "outDir": "build/dist", + "module": "esnext", + "target": "es5", + "lib": [ + "es6", + "dom" + ], + "sourceMap": true, + "allowJs": true, + "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, + "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/grids/tree-grid/theming/vite.config.js b/samples/grids/tree-grid/theming/vite.config.js new file mode 100644 index 0000000000..1744dbc719 --- /dev/null +++ b/samples/grids/tree-grid/theming/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