0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-11-21 21:49:51 +01:00

chore: remove antd (#24256)

This commit is contained in:
David Newell 2024-08-14 09:54:37 +01:00 committed by GitHub
parent 804ace56f3
commit 362d05f65d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
41 changed files with 79 additions and 902 deletions

View File

@ -118,22 +118,6 @@ module.exports = {
name: '@ant-design/icons', name: '@ant-design/icons',
message: 'Please use icons from the @posthog/icons package instead', message: 'Please use icons from the @posthog/icons package instead',
}, },
{
name: 'antd',
importNames: [
'Card',
'Col',
'Row',
'Alert',
'Tooltip',
'Progress',
'Radio',
'Divider',
'Popconfirm',
'Table',
],
message: 'please use the Lemon equivalent instead',
},
], ],
}, },
], ],

View File

@ -1,5 +1,4 @@
import '~/styles' import '~/styles'
import './storybook.scss'
import type { Meta, Parameters, Preview } from '@storybook/react' import type { Meta, Parameters, Preview } from '@storybook/react'
import { Title, Subtitle, Description, Primary, Controls, Stories } from '@storybook/blocks' import { Title, Subtitle, Description, Primary, Controls, Stories } from '@storybook/blocks'
import { worker } from '~/mocks/browser' import { worker } from '~/mocks/browser'

View File

@ -1,16 +0,0 @@
// Counteract toolbar styles
.sb-show-main {
.ant-modal-mask,
.ant-modal-wrap {
z-index: 1050 !important;
}
.ant-select-dropdown,
.ant-picker-dropdown {
z-index: 1060 !important;
}
.ant-tooltip {
z-index: 1060 !important;
}
}

View File

@ -54,7 +54,6 @@ declare module '@storybook/types' {
const RETRY_TIMES = 2 const RETRY_TIMES = 2
const LOADER_SELECTORS = [ const LOADER_SELECTORS = [
'.ant-skeleton',
'.Spinner', '.Spinner',
'.LemonSkeleton', '.LemonSkeleton',
'.LemonTableLoader', '.LemonTableLoader',

View File

@ -17,7 +17,6 @@
}, },
"peerDependencies": { "peerDependencies": {
"@posthog/lemon-ui": "*", "@posthog/lemon-ui": "*",
"antd": "*",
"kea": "*", "kea": "*",
"kea-router": "*", "kea-router": "*",
"react": "*", "react": "*",

View File

@ -17,7 +17,6 @@
"typescript": ">=4.0.0" "typescript": ">=4.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"antd": "*",
"kea": "*", "kea": "*",
"kea-router": "*", "kea-router": "*",
"react": "*", "react": "*",

View File

@ -20,12 +20,6 @@
background: none; background: none;
} }
.ant-tooltip & {
color: #fff;
background: rgba(#000, 0.333);
border-color: rgba(#fff, 0.333);
}
& + .KeyboardShortcut__key { & + .KeyboardShortcut__key {
margin-left: 0.25rem; margin-left: 0.25rem;
} }

View File

@ -1,7 +1,7 @@
import { useEffect } from 'react' import { useEffect } from 'react'
export function FullScreen({ onExit }: { onExit?: () => any }): null { export function FullScreen({ onExit }: { onExit?: () => any }): null {
const selector = 'aside.ant-layout-sider, .layout-top-content' const selector = '.layout-top-content'
useEffect(() => { useEffect(() => {
const myClasses = window.document.querySelectorAll<HTMLElement>(selector) const myClasses = window.document.querySelectorAll<HTMLElement>(selector)

View File

@ -8,13 +8,6 @@
font-weight: bold; font-weight: bold;
} }
.ant-tag {
margin-right: 0;
color: var(--primary-alt);
background-color: var(--border-light);
border: 0;
}
.graph-series-glyph { .graph-series-glyph {
padding: 0 6px; padding: 0 6px;
margin-right: 4px; margin-right: 4px;

View File

@ -18,7 +18,7 @@ export function IntervalFilter({ disabled }: IntervalFilterProps): JSX.Element {
return ( return (
<> <>
<span> <span>
<span className="hide-lte-md">grouped </span>by <span className="hidden md:inline">grouped </span>by
</span> </span>
<IntervalFilterStandalone <IntervalFilterStandalone
disabled={disabled} disabled={disabled}

View File

@ -74,13 +74,6 @@
font-weight: bold; font-weight: bold;
} }
&.skeleton-row {
// center-align this antd skeleton
.ant-skeleton-paragraph {
margin-bottom: 0;
}
}
&.expand-row { &.expand-row {
color: var(--primary-3000); color: var(--primary-3000);
} }

View File

@ -255,7 +255,7 @@ export function InfiniteList({ popupAnchorElement }: InfiniteListProps): JSX.Ele
) : ( ) : (
<div <div
{...commonDivProps} {...commonDivProps}
className={`${commonDivProps.className} skeleton-row`} className={commonDivProps.className}
data-attr={`prop-skeleton-${listGroupType}-${rowIndex}`} data-attr={`prop-skeleton-${listGroupType}-${rowIndex}`}
> >
<LemonSkeleton /> <LemonSkeleton />

View File

@ -3,7 +3,7 @@ import { useEffect } from 'react'
export const CLICK_OUTSIDE_BLOCK_CLASS = 'click-outside-block' export const CLICK_OUTSIDE_BLOCK_CLASS = 'click-outside-block'
const exceptions = ['.ant-select-dropdown *', `.${CLICK_OUTSIDE_BLOCK_CLASS}`, `.${CLICK_OUTSIDE_BLOCK_CLASS} *`] const exceptions = [`.${CLICK_OUTSIDE_BLOCK_CLASS}`, `.${CLICK_OUTSIDE_BLOCK_CLASS} *`]
export function useOutsideClickHandler( export function useOutsideClickHandler(
refs: React.MutableRefObject<HTMLElement | ReferenceType | null>[], refs: React.MutableRefObject<HTMLElement | ReferenceType | null>[],

View File

@ -335,21 +335,6 @@
} }
} }
.ant-tooltip & {
// Buttons have an overriden style in tooltips, as they are always dark
&:hover {
background: rgb(255 255 255 / 15%) !important;
}
&:active {
background: rgb(255 255 255 / 20%) !important;
}
.LemonButton__icon {
color: #fff !important;
}
}
@include shared-variables; @include shared-variables;
@include size-variables; @include size-variables;
} }

View File

@ -6,7 +6,7 @@
line-height: 1.5rem; line-height: 1.5rem;
.LemonCheckbox__input { .LemonCheckbox__input {
width: 0 !important; // Some ant-form styles override this so we mark as important width: 0 !important;
height: 0 !important; height: 0 !important;
appearance: none !important; appearance: none !important;
} }

View File

@ -47,9 +47,7 @@ export interface PopoverProps {
/** Whether default box padding should be applies. @default true */ /** Whether default box padding should be applies. @default true */
padded?: boolean padded?: boolean
middleware?: Middleware[] middleware?: Middleware[]
/** Any other refs that needs to be taken into account for handling outside clicks e.g. other nested popovers. /** Any other refs that needs to be taken into account for handling outside clicks e.g. other nested popovers. */
* Works also with strings, matching classnames or ids, for antd legacy components that don't support refs
* **/
additionalRefs?: React.MutableRefObject<HTMLDivElement | null>[] additionalRefs?: React.MutableRefObject<HTMLDivElement | null>[]
referenceRef?: UseFloatingReturn['refs']['reference'] referenceRef?: UseFloatingReturn['refs']['reference']
floatingRef?: UseFloatingReturn['refs']['floating'] floatingRef?: UseFloatingReturn['refs']['floating']

View File

@ -1,5 +1,3 @@
import 'antd/lib/dropdown/style/index.css'
import { CohortEdit } from 'scenes/cohorts/CohortEdit' import { CohortEdit } from 'scenes/cohorts/CohortEdit'
import { SceneExport } from 'scenes/sceneTypes' import { SceneExport } from 'scenes/sceneTypes'

View File

@ -219,18 +219,14 @@ export function CohortEdit({ id }: CohortLogicProps): JSX.Element {
<IconUploadFile <IconUploadFile
style={{ fontSize: '3rem', color: 'var(--muted-alt)' }} style={{ fontSize: '3rem', color: 'var(--muted-alt)' }}
/> />
<div className="ant-upload-text"> <div>{cohort.csv?.name ?? 'File chosen'}</div>
{cohort.csv?.name ?? 'File chosen'}
</div>
</> </>
) : ( ) : (
<> <>
<IconUploadFile <IconUploadFile
style={{ fontSize: '3rem', color: 'var(--muted-alt)' }} style={{ fontSize: '3rem', color: 'var(--muted-alt)' }}
/> />
<div className="ant-upload-text"> <div>Drag a file here or click to browse for a file</div>
Drag a file here or click to browse for a file
</div>
</> </>
)} )}
</div> </div>

View File

@ -1,17 +1,8 @@
.cohorts-drawer .ant-drawer-content-wrapper {
width: 100% !important;
max-width: 850px !important;
}
.cohort-recalculating { .cohort-recalculating {
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
margin-top: 1rem; margin-top: 1rem;
background-color: var(--bg-3000); background-color: var(--bg-3000);
border-radius: var(--radius); border-radius: var(--radius);
.ant-spin-spinning {
margin-right: 0.375rem;
}
} }
.cohort-csv-dragger { .cohort-csv-dragger {

View File

@ -84,8 +84,3 @@
cursor: ns-resize; cursor: ns-resize;
} }
} }
// All dropdowns must be below top navigation
.ant-dropdown {
z-index: 700;
}

View File

@ -99,7 +99,7 @@ export function DashboardItems(): JSX.Element {
isDragging.current = false isDragging.current = false
}, 250) }, 250)
}} }}
draggableCancel=".anticon,.ant-dropdown,table,button,.Popover" draggableCancel=".anticon,table,button,.Popover"
> >
{tiles?.map((tile: DashboardTile) => { {tiles?.map((tile: DashboardTile) => {
const { insight: legacyInsight, text } = tile const { insight: legacyInsight, text } = tile

View File

@ -22,10 +22,6 @@
padding-bottom: 1rem; padding-bottom: 1rem;
margin-top: 0.5rem; margin-top: 0.5rem;
.ant-form-horizontal {
min-height: 32px;
}
.border-top { .border-top {
border-top-left-radius: 4px; border-top-left-radius: 4px;
border-top-right-radius: 4px; border-top-right-radius: 4px;
@ -75,14 +71,6 @@
margin-bottom: 1rem; margin-bottom: 1rem;
border-top: 1px solid var(--border); border-top: 1px solid var(--border);
} }
.ant-input-number-disabled {
color: black;
}
.ant-input[disabled] {
color: black;
}
} }
.view-experiment { .view-experiment {
@ -97,12 +85,6 @@
.participants { .participants {
background-color: white; background-color: white;
.ant-collapse-header {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
padding-left: 0.75rem;
}
} }
.variants-list { .variants-list {
@ -123,11 +105,6 @@
padding-top: 1rem; padding-top: 1rem;
} }
.ant-collapse-content-box {
display: flex;
flex-flow: column;
}
.secondary-progress { .secondary-progress {
margin-top: 0.5rem; margin-top: 0.5rem;

View File

@ -5,19 +5,8 @@
border: 1px solid var(--border); border: 1px solid var(--border);
border-radius: var(--radius); border-radius: var(--radius);
.ant-form-item {
min-height: 32px;
}
.label-row { .label-row {
font-weight: bold; font-weight: bold;
.ant-col {
display: flex;
align-items: center;
justify-content: space-between;
min-height: 32px;
}
} }
.VariantFormList__row { .VariantFormList__row {

View File

@ -140,7 +140,7 @@ function FeatureFlagCopySection(): JSX.Element {
return hasMultipleProjects && featureFlag.can_edit ? ( return hasMultipleProjects && featureFlag.can_edit ? (
<> <>
<h3 className="l3">Feature flag copy</h3> <h3 className="l3">Feature flag copy</h3>
<div className="ant-row">Copy your flag and its configuration to another project.</div> <div>Copy your flag and its configuration to another project.</div>
{hasStaticCohort && ( {hasStaticCohort && (
<LemonBanner type="info" className="mt-4"> <LemonBanner type="info" className="mt-4">
The flag you are about to copy references a static cohort. If the cohort with identical name does The flag you are about to copy references a static cohort. If the cohort with identical name does

View File

@ -2,9 +2,5 @@
.funnel-bins-custom-picker { .funnel-bins-custom-picker {
width: 43px; // enough to hold two characters width: 43px; // enough to hold two characters
margin: 5px 0 5px 13px; // margin left comes from 24px (padding left select option) - 11px (padding inside input) margin: 5px 0 5px 13px; // margin left comes from 24px (padding left select option) - 11px (padding inside input)
.ant-input-number-handler-wrap {
display: none;
}
} }
} }

View File

@ -171,11 +171,6 @@
.StepLegend { .StepLegend {
height: 100%; height: 100%;
// overwrite antd-styles for legends without persons modal
// e.g. in exported insights
font-feature-settings: normal;
font-variant-numeric: normal;
white-space: nowrap; white-space: nowrap;
border-left: 1px solid var(--border); border-left: 1px solid var(--border);

View File

@ -8,10 +8,6 @@
font-size: 1.1em; font-size: 1.1em;
color: var(--muted); color: var(--muted);
.ant-empty {
margin: 1rem 0;
}
&.error { &.error {
h2 { h2 {
color: var(--danger); color: var(--danger);
@ -31,10 +27,6 @@
color: var(--primary-alt); color: var(--primary-alt);
} }
button.ant-btn-lg {
height: 42px;
}
.empty-state-inner { .empty-state-inner {
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@ -16,12 +16,7 @@ export function KafkaInspectorTab(): JSX.Element {
<LemonDivider className="my-4" /> <LemonDivider className="my-4" />
<section> <section>
<div className="flex mb-3"> <div className="flex mb-3">
<Form <Form logic={kafkaInspectorLogic} formKey="fetchKafkaMessage" enableFormOnSubmit>
logic={kafkaInspectorLogic}
formKey="fetchKafkaMessage"
className="ant-form-horizontal ant-form-hide-required-mark"
enableFormOnSubmit
>
<div className="grid grid-cols-12 gap-4"> <div className="grid grid-cols-12 gap-4">
<div className="col-span-4"> <div className="col-span-4">
<Field name="topic"> <Field name="topic">

View File

@ -4,12 +4,6 @@
flex-direction: column; flex-direction: column;
width: 100%; width: 100%;
// overriding ::selection is necessary here because
// antd makes it invisible otherwise
span::selection {
color: var(--primary-3000);
}
.NotebookEditor { .NotebookEditor {
position: relative; position: relative;
flex: 1; flex: 1;

View File

@ -12,14 +12,6 @@
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
.ant-skeleton {
width: 300px;
h3 {
margin: 0;
}
}
a { a {
color: var(--text-3000); color: var(--text-3000);

View File

@ -119,7 +119,6 @@ export function FeatureFlag({ id }: { id?: string } = {}): JSX.Element {
logic={featureFlagLogic} logic={featureFlagLogic}
props={logicProps} props={logicProps}
formKey="featureFlag" formKey="featureFlag"
className="ant-form-vertical ant-form-hide-required-mark"
enableFormOnSubmit // makes the HTML "submit" button work directly enableFormOnSubmit // makes the HTML "submit" button work directly
> >
<Field name="active"> <Field name="active">

View File

@ -23,5 +23,4 @@ Topics to cover here:
- Can I nest components? Can I put a lemon table in a lemon table in a lemon table in a lemon switch's label? - Can I nest components? Can I put a lemon table in a lemon table in a lemon table in a lemon switch's label?
- What about common CSS variables, states (primary, secondary, danger, etc), how do I modify other components or states? - What about common CSS variables, states (primary, secondary, danger, etc), how do I modify other components or states?
- What CSS conventions do we use? Can I install my own css framework for that one new button? - What CSS conventions do we use? Can I install my own css framework for that one new button?
- When to use lemon, when to use antd.
- Everything with plenty of example code to copy. - Everything with plenty of example code to copy.

View File

@ -1,45 +0,0 @@
/* This file sets theming configuration on Ant Design for PostHog. Ant uses LESS which is incompatible
with SASS, leading to duplicated config. When changing any variable here, please remember to update vars.scss too */
@import 'antd/lib/style/themes/default.less';
@import 'antd/dist/antd.less';
@text-color: var(--text-3000);
@text-muted: #5f5f5f;
@primary-color: #1d4aff;
@link-color: #1d4aff;
@success-color: #388600;
@warning-color: #f7a501;
@error-color: #db3707;
@font-size-base: 14px;
@heading-color: @text-color;
@text-color-secondary: #403939;
@disabled-color: @text-muted;
@border-radius-base: var(--radius);
@border-color-base: var(--border);
@body-background: var(--bg-light);
@component-background: var(--bg-light);
@layout-body-background: var(--bg-light);
@font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', 'Roboto', Helvetica, Arial, sans-serif,
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
@table-expanded-row-bg: var(--bg-3000);
.hide-gte-lg {
display: none !important;
@media (max-width: @screen-lg-min) {
display: inherit !important;
}
}
.hide-lte-lg {
display: none !important;
@media (min-width: @screen-lg-min) {
display: inherit !important;
}
}
.hide-lte-md {
display: none !important;
@media (min-width: @screen-md-min) {
display: initial !important;
}
}

View File

@ -32,6 +32,7 @@ body strong {
// Disable default styling for ul // Disable default styling for ul
ul { ul {
padding-left: 0; padding-left: 0;
margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
list-style: none; list-style: none;
} }
@ -40,6 +41,7 @@ ul {
*, *,
*::before, *::before,
*::after { *::after {
box-sizing: border-box;
border-color: var(--border); border-color: var(--border);
border-style: solid; border-style: solid;
border-width: 0; border-width: 0;
@ -57,10 +59,6 @@ input[type='radio'] {
min-height: 2.5rem; min-height: 2.5rem;
margin: 1rem 0 0.25rem; margin: 1rem 0 0.25rem;
.ant-form-item {
margin-bottom: 0 !important;
}
@include screen($md) { @include screen($md) {
flex-wrap: nowrap; flex-wrap: nowrap;
} }
@ -339,7 +337,10 @@ input::-ms-clear {
} }
} }
// AntD overrrides, placed inside `body` to increase specifity (nicely avoiding the need for !important) html {
text-size-adjust: 100%;
}
body { body {
// Remove below once we're using Tailwind's base // Remove below once we're using Tailwind's base
--tw-content: ''; --tw-content: '';
@ -355,6 +356,13 @@ body {
--tw-scale-x: 1; --tw-scale-x: 1;
--tw-scale-y: 1; --tw-scale-y: 1;
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, Inter, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif,
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
font-size: 14px;
font-variant: tabular-nums;
line-height: 1.5715;
color: var(--text-3000);
touch-action: manipulation; // Disable double-tap-to-zoom on mobile, making taps slightly snappier touch-action: manipulation; // Disable double-tap-to-zoom on mobile, making taps slightly snappier
background: var(--bg-3000); background: var(--bg-3000);
@ -391,7 +399,10 @@ body {
h3, h3,
h4, h4,
h5 { h5 {
margin-top: 0;
margin-bottom: 0.5em;
font-family: var(--font-title); font-family: var(--font-title);
font-weight: 500;
} }
h1, h1,
@ -411,6 +422,10 @@ body {
letter-spacing: 0.075em; letter-spacing: 0.075em;
} }
small {
font-size: 80%;
}
pre, pre,
code, code,
kbd, kbd,
@ -418,8 +433,10 @@ body {
font-family: var(--font-mono); font-family: var(--font-mono);
} }
a { pre {
color: var(--link); margin-top: 0;
margin-bottom: 1em;
overflow: auto;
} }
.LemonButton, .LemonButton,
@ -435,98 +452,44 @@ body {
} }
} }
// AntD uses its own border color for the bottom of tab lists, but we want to use `var(--border)`
.ant-tabs-top,
.ant-tabs-bottom {
&,
& > div {
& > .ant-tabs-nav::before {
border-bottom-color: var(--border);
}
}
}
.ant-dropdown {
color: var(--text-3000);
border-radius: var(--radius);
}
.ant-dropdown-menu {
border-radius: var(--radius);
}
.ant-modal-content {
box-shadow: var(--shadow-elevation-3000);
}
.ant-modal-mask {
z-index: var(--z-ant-modal-mask);
}
.ant-modal-wrap {
z-index: var(--z-ant-modal-wrap);
}
.ant-message {
z-index: var(--z-ant-message);
}
.ant-select-dropdown {
z-index: var(--z-ant-select-dropdown);
background-color: var(--bg-3000);
.ant-select-item.ant-select-item-option {
background-color: var(--bg-3000);
&.ant-select-item-option-active {
background-color: var(--border-3000);
}
}
}
.ant-input-number:hover,
.ant-input-number-focused {
border-color: var(--border-bold);
}
.ant-input-number-group-addon {
background: var(--bg-3000);
}
.ant-picker-dropdown {
z-index: var(--z-ant-select-dropdown);
}
.ant-card-bordered {
border-color: var(--border);
}
.ant-card-body > :first-child {
margin-top: 0;
}
.ant-form-item-label {
> label {
font-weight: 600;
.ant-form-item-optional {
font-weight: 400;
color: var(--muted);
}
}
}
.ant-form-item {
margin-bottom: 1rem;
&:last-child {
margin-bottom: 0;
}
}
@include common-variables; @include common-variables;
} }
a {
color: var(--link);
text-decoration: none;
}
p {
margin-top: 0;
margin-bottom: 1em;
}
table {
border-collapse: collapse;
}
img {
vertical-align: middle;
border-style: none;
}
button,
input,
optgroup,
select,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
color: inherit;
}
[tabindex='-1']:focus {
outline: none !important;
}
.storybook-test-runner { .storybook-test-runner {
&.storybook-test-runner--fullscreen { &.storybook-test-runner--fullscreen {
height: fit-content; height: fit-content;
@ -550,9 +513,13 @@ body {
} }
// Hide some parts of the UI that were causing flakiness // Hide some parts of the UI that were causing flakiness
::-webkit-scrollbar, * > ::-webkit-scrollbar, // Scrollbar in WebKit/Blink browsers ::-webkit-scrollbar,
.LemonTabs__bar::after, // Active tab slider *> ::-webkit-scrollbar,
.scrollable::after, // Scrollability indicators // Scrollbar in WebKit/Blink browsers
.LemonTabs__bar::after,
// Active tab slider
.scrollable::after,
// Scrollability indicators
.scrollable::before { .scrollable::before {
display: none; display: none;
} }
@ -568,11 +535,6 @@ body {
} }
} }
.ant-radio-button-wrapper {
background: var(--secondary-3000);
border-color: transparent;
}
.ligatures-none { .ligatures-none {
font-variant-ligatures: none; font-variant-ligatures: none;
} }

View File

@ -1,2 +1 @@
import './antd.less' /* Imports Ant Design's components */
import './global.scss' /* Contains PostHog's main styling configurations */ import './global.scss' /* Contains PostHog's main styling configurations */

View File

@ -195,16 +195,12 @@ $_lifecycle_dormant: map.get($colors, 'danger');
--z-bottom-notice: 5100; --z-bottom-notice: 5100;
--z-command-palette: 1875; --z-command-palette: 1875;
--z-force-modal-above-popovers: 1850; --z-force-modal-above-popovers: 1850;
--z-ant-message: 1070;
--z-tooltip: 1070; --z-tooltip: 1070;
--z-ant-select-dropdown: 1065;
--z-definition-popover: 1064; --z-definition-popover: 1064;
--z-popover: 1063; --z-popover: 1063;
--z-graph-tooltip: 1062; --z-graph-tooltip: 1062;
--z-modal: 1060; --z-modal: 1060;
--z-ant-modal-wrap: 1060;
--z-hedgehog-buddy: 1059; --z-hedgehog-buddy: 1059;
--z-ant-modal-mask: 1050;
--z-annotation-popover: 1049; --z-annotation-popover: 1049;
--z-drawer: 950; --z-drawer: 950;
--z-notifications-popover: 949; // below the TZ aware popover but over the main-nav --z-notifications-popover: 949; // below the TZ aware popover but over the main-nav

View File

@ -1,6 +1,5 @@
@import '../styles/vars'; @import '../styles/vars';
// was inherited from antd.less before removing that
*, *,
*::before, *::before,
*::after { *::after {

View File

@ -102,7 +102,6 @@ const config: Config = {
'^lib/(.*)$': '<rootDir>/frontend/src/lib/$1', '^lib/(.*)$': '<rootDir>/frontend/src/lib/$1',
'monaco-editor': '<rootDir>/node_modules/monaco-editor/esm/vs/editor/editor.api.d.ts', 'monaco-editor': '<rootDir>/node_modules/monaco-editor/esm/vs/editor/editor.api.d.ts',
'^scenes/(.*)$': '<rootDir>/frontend/src/scenes/$1', '^scenes/(.*)$': '<rootDir>/frontend/src/scenes/$1',
'^antd/es/(.*)$': 'antd/lib/$1',
'^react-virtualized/dist/es/(.*)$': 'react-virtualized/dist/commonjs/$1', '^react-virtualized/dist/es/(.*)$': 'react-virtualized/dist/commonjs/$1',
'^rrweb/es/rrweb': 'rrweb/dist/rrweb.min.js', '^rrweb/es/rrweb': 'rrweb/dist/rrweb.min.js',
d3: '<rootDir>/node_modules/d3/dist/d3.min.js', d3: '<rootDir>/node_modules/d3/dist/d3.min.js',

View File

@ -99,8 +99,6 @@
"@types/react-virtualized": "^9.21.23", "@types/react-virtualized": "^9.21.23",
"ajv": "^8.12.0", "ajv": "^8.12.0",
"algoliasearch": "^4.22.1", "algoliasearch": "^4.22.1",
"antd": "^4.17.1",
"antd-dayjs-webpack-plugin": "^1.0.6",
"autoprefixer": "^10.4.13", "autoprefixer": "^10.4.13",
"babel-preset-nano-react-app": "^0.1.0", "babel-preset-nano-react-app": "^0.1.0",
"chart.js": "^4.4.3", "chart.js": "^4.4.3",

View File

@ -118,12 +118,6 @@ dependencies:
algoliasearch: algoliasearch:
specifier: ^4.22.1 specifier: ^4.22.1
version: 4.22.1 version: 4.22.1
antd:
specifier: ^4.17.1
version: 4.17.1(react-dom@18.2.0)(react@18.2.0)
antd-dayjs-webpack-plugin:
specifier: ^1.0.6
version: 1.0.6(dayjs@1.11.11)
autoprefixer: autoprefixer:
specifier: ^10.4.13 specifier: ^10.4.13
version: 10.4.13(postcss@8.4.31) version: 10.4.13(postcss@8.4.31)
@ -878,19 +872,6 @@ packages:
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
dev: false dev: false
/@ant-design/react-slick@0.28.1(react@18.2.0):
resolution: {integrity: sha512-Uk+GNexHOmiK3BMk/xvliNsNt+LYnN49u5o4lqeuMKXJlNqE9kGpEF03KpxDqu/zybO0/0yAJALha8oPtR5iHA==}
peerDependencies:
react: '>=16.0.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
json2mq: 0.2.0
lodash: 4.17.21
react: 18.2.0
resize-observer-polyfill: 1.5.1
dev: false
/@aw-web-design/x-default-browser@1.4.126: /@aw-web-design/x-default-browser@1.4.126:
resolution: {integrity: sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==} resolution: {integrity: sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==}
hasBin: true hasBin: true
@ -9293,66 +9274,6 @@ packages:
engines: {node: '>=12'} engines: {node: '>=12'}
dev: true dev: true
/antd-dayjs-webpack-plugin@1.0.6(dayjs@1.11.11):
resolution: {integrity: sha512-UlK3BfA0iE2c5+Zz/Bd2iPAkT6cICtrKG4/swSik5MZweBHtgmu1aUQCHvICdiv39EAShdZy/edfP6mlkS/xXg==}
peerDependencies:
dayjs: '*'
dependencies:
dayjs: 1.11.11(patch_hash=lbfir4woetqmvzqg7l4q5mjtfq)
dev: false
/antd@4.17.1(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-GNVuVnWJjFE1r3AGYc7vhy+gzlDAimAAZMTNCZdAncLBDN7gCTrf8euSb+C0TEqr7UV26yNGBQ9yGoeUcHUdSA==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@ant-design/colors': 6.0.0
'@ant-design/icons': 4.7.0(react-dom@18.2.0)(react@18.2.0)
'@ant-design/react-slick': 0.28.1(react@18.2.0)
'@babel/runtime': 7.24.0
'@ctrl/tinycolor': 3.4.1
array-tree-filter: 2.1.0
classnames: 2.3.2
copy-to-clipboard: 3.3.2
lodash: 4.17.21
moment: 2.29.4
rc-cascader: 2.1.5(react-dom@18.2.0)(react@18.2.0)
rc-checkbox: 2.3.2(react-dom@18.2.0)(react@18.2.0)
rc-collapse: 3.1.0(react-dom@18.2.0)(react@18.2.0)
rc-dialog: 8.6.0(react-dom@18.2.0)(react@18.2.0)
rc-drawer: 4.4.3(react-dom@18.2.0)(react@18.2.0)
rc-dropdown: 3.2.0(react-dom@18.2.0)(react@18.2.0)
rc-field-form: 1.21.2(react-dom@18.2.0)(react@18.2.0)
rc-image: 5.2.5(react-dom@18.2.0)(react@18.2.0)
rc-input-number: 7.3.4(react-dom@18.2.0)(react@18.2.0)
rc-mentions: 1.6.1(react-dom@18.2.0)(react@18.2.0)
rc-menu: 9.0.14(react-dom@18.2.0)(react@18.2.0)
rc-motion: 2.6.2(react-dom@18.2.0)(react@18.2.0)
rc-notification: 4.5.7(react-dom@18.2.0)(react@18.2.0)
rc-pagination: 3.1.14(react-dom@18.2.0)(react@18.2.0)
rc-picker: 2.5.19(react-dom@18.2.0)(react@18.2.0)
rc-progress: 3.1.3(react-dom@18.2.0)(react@18.2.0)
rc-rate: 2.9.1(react-dom@18.2.0)(react@18.2.0)
rc-resize-observer: 1.2.0(react-dom@18.2.0)(react@18.2.0)
rc-select: 13.1.1(react-dom@18.2.0)(react@18.2.0)
rc-slider: 9.7.5(react-dom@18.2.0)(react@18.2.0)
rc-steps: 4.1.3(react-dom@18.2.0)(react@18.2.0)
rc-switch: 3.2.2(react-dom@18.2.0)(react@18.2.0)
rc-table: 7.19.2(react-dom@18.2.0)(react@18.2.0)
rc-tabs: 11.10.3(react-dom@18.2.0)(react@18.2.0)
rc-textarea: 0.3.4(react-dom@18.2.0)(react@18.2.0)
rc-tooltip: 5.1.1(react-dom@18.2.0)(react@18.2.0)
rc-tree: 5.2.2(react-dom@18.2.0)(react@18.2.0)
rc-tree-select: 4.6.3(react-dom@18.2.0)(react@18.2.0)
rc-trigger: 5.3.3(react-dom@18.2.0)(react@18.2.0)
rc-upload: 4.3.2(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
scroll-into-view-if-needed: 2.2.26
dev: false
/any-promise@1.3.0: /any-promise@1.3.0:
resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
@ -9455,10 +9376,6 @@ packages:
is-string: 1.0.7 is-string: 1.0.7
dev: true dev: true
/array-tree-filter@2.1.0:
resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==}
dev: false
/array-union@2.1.0: /array-union@2.1.0:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -9593,10 +9510,6 @@ packages:
resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==}
dev: true dev: true
/async-validator@4.2.5:
resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
dev: false
/async@3.2.4: /async@3.2.4:
resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==}
dev: true dev: true
@ -10582,10 +10495,6 @@ packages:
- supports-color - supports-color
dev: true dev: true
/compute-scroll-into-view@1.0.16:
resolution: {integrity: sha512-a85LHKY81oQnikatZYA90pufpZ6sQx++BoCxOEMsjpZx+ZnaKGQnCyCehTRr/1p9GBIAHTjcU9k71kSYWloLiQ==}
dev: false
/concat-map@0.0.1: /concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
@ -10653,12 +10562,6 @@ packages:
dependencies: dependencies:
is-what: 3.14.1 is-what: 3.14.1
/copy-to-clipboard@3.3.2:
resolution: {integrity: sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg==}
dependencies:
toggle-selection: 1.0.6
dev: false
/core-js-compat@3.32.0: /core-js-compat@3.32.0:
resolution: {integrity: sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==} resolution: {integrity: sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==}
dependencies: dependencies:
@ -11373,6 +11276,7 @@ packages:
/date-fns@2.29.3: /date-fns@2.29.3:
resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==}
engines: {node: '>=0.11'} engines: {node: '>=0.11'}
dev: true
/dayjs@1.11.11(patch_hash=lbfir4woetqmvzqg7l4q5mjtfq): /dayjs@1.11.11(patch_hash=lbfir4woetqmvzqg7l4q5mjtfq):
resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==}
@ -15278,12 +15182,6 @@ packages:
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
dev: true dev: true
/json2mq@0.2.0:
resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==}
dependencies:
string-convert: 0.2.1
dev: false
/json5@1.0.1: /json5@1.0.1:
resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
hasBin: true hasBin: true
@ -16127,6 +16025,7 @@ packages:
/moment@2.29.4: /moment@2.29.4:
resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==}
dev: true
/monaco-editor-webpack-plugin@7.0.1(monaco-editor@0.49.0)(webpack@5.88.2): /monaco-editor-webpack-plugin@7.0.1(monaco-editor@0.49.0)(webpack@5.88.2):
resolution: {integrity: sha512-M8qIqizltrPlIbrb73cZdTWfU9sIsUVFvAZkL3KGjAHmVWEJ0hZKa/uad14JuOckc0GwnCaoGHvMoYtJjVyCzw==} resolution: {integrity: sha512-M8qIqizltrPlIbrb73cZdTWfU9sIsUVFvAZkL3KGjAHmVWEJ0hZKa/uad14JuOckc0GwnCaoGHvMoYtJjVyCzw==}
@ -18228,163 +18127,6 @@ packages:
resize-observer-polyfill: 1.5.1 resize-observer-polyfill: 1.5.1
dev: false dev: false
/rc-cascader@2.1.5(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-FiGPfSxKmSft2CT2XSr6HeKihqcxM+1ozmH6FGXTDthVNNvV0ai82CA6l30iPmMmlflwDfSm/623qkekqNq4BQ==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
array-tree-filter: 2.1.0
rc-tree-select: 4.6.3(react-dom@18.2.0)(react@18.2.0)
rc-trigger: 5.3.3(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
warning: 4.0.3
dev: false
/rc-checkbox@2.3.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-afVi1FYiGv1U0JlpNH/UaEXdh6WUJjcWokj/nUN2TgG80bfG+MDdbfHKlLcNNba94mbjy2/SXJ1HDgrOkXGAjg==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-collapse@3.1.0(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-EwpNPJcLe7b+5JfyaxM9ZNnkCgqArt3QQO0Cr5p5plwz/C9h8liAmjYY5I4+hl9lAjBqb7ZwLu94+z+rt5g1WQ==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-motion: 2.6.2(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
shallowequal: 1.1.0
dev: false
/rc-dialog@8.6.0(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-GSbkfqjqxpZC5/zc+8H332+q5l/DKUhpQr0vdX2uDsxo5K0PhvaMEVjyoJUTkZ3+JstEADQji1PVLVb/2bJeOQ==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-motion: 2.6.2(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-drawer@4.4.3(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-FYztwRs3uXnFOIf1hLvFxIQP9MiZJA+0w+Os8dfDh/90X7z/HqP/Yg+noLCIeHEbKln1Tqelv8ymCAN24zPcfQ==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-dropdown@3.2.0(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-j1HSw+/QqlhxyTEF6BArVZnTmezw2LnSmRk6I9W7BCqNCKaRwleRmMMs1PHbuaG8dKHVqP6e21RQ7vPBLVnnNw==}
peerDependencies:
react: '*'
react-dom: '*'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-trigger: 5.3.3(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-field-form@1.21.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-LR/bURt/Tf5g39mb0wtMtQuWn42d/7kEzpzlC5fNC7yaRVmLTtlPP4sBBlaViETM9uZQKLoaB0Pt9Mubhm9gow==}
engines: {node: '>=8.x'}
peerDependencies:
react: '>= 16.9.0'
react-dom: '>= 16.9.0'
dependencies:
'@babel/runtime': 7.24.0
async-validator: 4.2.5
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-image@5.2.5(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-qUfZjYIODxO0c8a8P5GeuclYXZjzW4hV/5hyo27XqSFo1DmTCs2HkVeQObkcIk5kNsJtgsj1KoPThVsSc/PXOw==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-dialog: 8.6.0(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-input-number@7.3.4(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-W9uqSzuvJUnz8H8vsVY4kx+yK51SsAxNTwr8SNH4G3XqQNocLVmKIibKFRjocnYX1RDHMND9FFbgj2h7E7nvGA==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-mentions@1.6.1(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-LDzGI8jJVGnkhpTZxZuYBhMz3avcZZqPGejikchh97xPni/g4ht714Flh7DVvuzHQ+BoKHhIjobHnw1rcP8erg==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-menu: 9.0.14(react-dom@18.2.0)(react@18.2.0)
rc-textarea: 0.3.4(react-dom@18.2.0)(react@18.2.0)
rc-trigger: 5.3.3(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-menu@9.0.14(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-CIox5mZeLDAi32SlHrV7UeSjv7tmJJhwRyxQtZCKt351w3q59XlL4WMFOmtT9gwIfP9h0XoxdBZUMe/xzkp78A==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-motion: 2.6.2(react-dom@18.2.0)(react@18.2.0)
rc-overflow: 1.2.8(react-dom@18.2.0)(react@18.2.0)
rc-trigger: 5.3.3(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
shallowequal: 1.1.0
dev: false
/rc-motion@2.6.2(react-dom@18.2.0)(react@18.2.0): /rc-motion@2.6.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-4w1FaX3dtV749P8GwfS4fYnFG4Rb9pxvCYPc/b2fw1cmlHJWNNgOFIz7ysiD+eOrzJSvnLJWlNQQncpNMXwwpg==} resolution: {integrity: sha512-4w1FaX3dtV749P8GwfS4fYnFG4Rb9pxvCYPc/b2fw1cmlHJWNNgOFIz7ysiD+eOrzJSvnLJWlNQQncpNMXwwpg==}
peerDependencies: peerDependencies:
@ -18398,270 +18140,6 @@ packages:
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
dev: false dev: false
/rc-notification@4.5.7(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-zhTGUjBIItbx96SiRu3KVURcLOydLUHZCPpYEn1zvh+re//Tnq/wSxN4FKgp38n4HOgHSVxcLEeSxBMTeBBDdw==}
engines: {node: '>=8.x'}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-motion: 2.6.2(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-overflow@1.2.8(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-QJ0UItckWPQ37ZL1dMEBAdY1dhfTXFL9k6oTTcyydVwoUNMnMqCGqnRNA98axSr/OeDKqR6DVFyi8eA5RQI/uQ==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-resize-observer: 1.2.0(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-pagination@3.1.14(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-tcugvxrtPiVU00Uh0IwC8NIUlxa4KtA9pXcaMNJdSHeO2uQqVkHEwllsULTAWRF3zRV2ozo2weP/DRKIUrX+Zg==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-picker@2.5.19(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-u6myoCu/qiQ0vLbNzSzNrzTQhs7mldArCpPHrEI6OUiifs+IPXmbesqSm0zilJjfzrZJLgYeyyOMSznSlh0GKA==}
engines: {node: '>=8.x'}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
date-fns: 2.29.3
dayjs: 1.11.11(patch_hash=lbfir4woetqmvzqg7l4q5mjtfq)
moment: 2.29.4
rc-trigger: 5.3.3(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
shallowequal: 1.1.0
dev: false
/rc-progress@3.1.3(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-Jl4fzbBExHYMoC6HBPzel0a9VmhcSXx24LVt/mdhDM90MuzoMCJjXZAlhA0V0CJi+SKjMhfBoIQ6Lla1nD4QNw==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-rate@2.9.1(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-MmIU7FT8W4LYRRHJD1sgG366qKtSaKb67D0/vVvJYR0lrCuRrCiVQ5qhfT5ghVO4wuVIORGpZs7ZKaYu+KMUzA==}
engines: {node: '>=8.x'}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-resize-observer@1.2.0(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
resize-observer-polyfill: 1.5.1
dev: false
/rc-select@13.1.1(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-Oy4L27x5QgGR8902pw0bJVjrTWFnKPKvdLHzJl5pjiA+jM1hpzDfLGg/bY2ntk5ElxxQKZUwbFKUeqfCQU7SrQ==}
engines: {node: '>=8.x'}
peerDependencies:
react: '*'
react-dom: '*'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-motion: 2.6.2(react-dom@18.2.0)(react@18.2.0)
rc-overflow: 1.2.8(react-dom@18.2.0)(react@18.2.0)
rc-trigger: 5.3.3(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
rc-virtual-list: 3.4.11(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-slider@9.7.5(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-LV/MWcXFjco1epPbdw1JlLXlTgmWpB9/Y/P2yinf8Pg3wElHxA9uajN21lJiWtZjf5SCUekfSP6QMJfDo4t1hg==}
engines: {node: '>=8.x'}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-tooltip: 5.2.2(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
shallowequal: 1.1.0
dev: false
/rc-steps@4.1.3(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-GXrMfWQOhN3sVze3JnzNboHpQdNHcdFubOETUHyDpa/U3HEKBZC3xJ8XK4paBgF4OJ3bdUVLC+uBPc6dCxvDYA==}
engines: {node: '>=8.x'}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-switch@3.2.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-table@7.19.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-NdpnoM50MK02H5/hGOsObfxCvGFUG5cHB9turE5BKJ81T5Ycbq193w5tLhnpILXe//Oanzr47MdMxkUnVGP+qg==}
engines: {node: '>=8.x'}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-resize-observer: 1.2.0(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
shallowequal: 1.1.0
dev: false
/rc-tabs@11.10.3(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-rPxsci+76/nnJowNOBO3LTi4eL6trG49cR9yPc4XbuyHXhCHUujN5F4+jFl7trISy+yVN6gCZ/wiTtVnkcR/UA==}
engines: {node: '>=8.x'}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-dropdown: 3.2.0(react-dom@18.2.0)(react@18.2.0)
rc-menu: 9.0.14(react-dom@18.2.0)(react@18.2.0)
rc-resize-observer: 1.2.0(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-textarea@0.3.4(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-ILUYx831ZukQPv3m7R4RGRtVVWmL1LV4ME03L22mvT56US0DGCJJaRTHs4vmpcSjFHItph5OTmhodY4BOwy81A==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-resize-observer: 1.2.0(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-tooltip@5.1.1(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-alt8eGMJulio6+4/uDm7nvV+rJq9bsfxFDCI0ljPdbuoygUscbsMYb6EQgwib/uqsXQUvzk+S7A59uYHmEgmDA==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
rc-trigger: 5.3.3(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-tooltip@5.2.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-trigger: 5.3.3(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-tree-select@4.6.3(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-VymfystOnW8EfoWaWehgB8zpYKgRZf4ILu9KHf7FJZVZ/1dnBEHDqg1bBi43/1BYLwYFKSKKSjkYyNYntWJM4A==}
peerDependencies:
react: '*'
react-dom: '*'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-select: 13.1.1(react-dom@18.2.0)(react@18.2.0)
rc-tree: 5.2.2(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-tree@5.2.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-ZQPGi5rGmipXvSUqeMbh0Rm0Cn2zFVWQFvS3sinH+lis5VNCChkFs2dAFpWZnb9/d/SZPeMfYG/x2XFq/q3UTA==}
engines: {node: '>=10.x'}
peerDependencies:
react: '*'
react-dom: '*'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-motion: 2.6.2(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
rc-virtual-list: 3.4.11(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-trigger@5.3.3(react-dom@18.2.0)(react@18.2.0): /rc-trigger@5.3.3(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-IC4nuTSAME7RJSgwvHCNDQrIzhvGMKf6NDu5veX+zk1MG7i1UnwTWWthcP9WHw3+FZfP3oZGvkrHFPu/EGkFKw==} resolution: {integrity: sha512-IC4nuTSAME7RJSgwvHCNDQrIzhvGMKf6NDu5veX+zk1MG7i1UnwTWWthcP9WHw3+FZfP3oZGvkrHFPu/EGkFKw==}
engines: {node: '>=8.x'} engines: {node: '>=8.x'}
@ -18678,19 +18156,6 @@ packages:
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
dev: false dev: false
/rc-upload@4.3.2(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-v0HdwC/19xKAn1OYZ4hTMUSqSs/IA0n1v4p/cioSSnKubHrdpcCXC45N+TFMSOZtBlf4+xMNCFo3KDih31lAMg==}
peerDependencies:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/rc-util@5.24.4(react-dom@18.2.0)(react@18.2.0): /rc-util@5.24.4(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-2a4RQnycV9eV7lVZPEJ7QwJRPlZNc06J7CwcwZo4vIHr3PfUqtYgl1EkUV9ETAc6VRRi8XZOMFhYG63whlIC9Q==} resolution: {integrity: sha512-2a4RQnycV9eV7lVZPEJ7QwJRPlZNc06J7CwcwZo4vIHr3PfUqtYgl1EkUV9ETAc6VRRi8XZOMFhYG63whlIC9Q==}
peerDependencies: peerDependencies:
@ -18704,21 +18169,6 @@ packages:
shallowequal: 1.1.0 shallowequal: 1.1.0
dev: false dev: false
/rc-virtual-list@3.4.11(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-BvUUH60kkeTBPigN5F89HtGaA5jSP4y2aM6cJ4dk9Y42I9yY+h6i08wF6UKeDcxdfOU8j3I5HxkSS/xA77J3wA==}
engines: {node: '>=8.x'}
peerDependencies:
react: '*'
react-dom: '*'
dependencies:
'@babel/runtime': 7.24.0
classnames: 2.3.2
rc-resize-observer: 1.2.0(react-dom@18.2.0)(react@18.2.0)
rc-util: 5.24.4(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
/react-base16-styling@0.6.0: /react-base16-styling@0.6.0:
resolution: {integrity: sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==} resolution: {integrity: sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==}
dependencies: dependencies:
@ -19825,12 +19275,6 @@ packages:
ajv-keywords: 5.1.0(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0)
dev: true dev: true
/scroll-into-view-if-needed@2.2.26:
resolution: {integrity: sha512-SQ6AOKfABaSchokAmmaxVnL9IArxEnLEX9j4wAZw+x4iUTb40q7irtHG3z4GtAWz5veVZcCnubXDBRyLVQaohw==}
dependencies:
compute-scroll-into-view: 1.0.16
dev: false
/search-insights@2.13.0: /search-insights@2.13.0:
resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==} resolution: {integrity: sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==}
dev: false dev: false
@ -20245,10 +19689,6 @@ packages:
engines: {node: '>=0.6.19'} engines: {node: '>=0.6.19'}
dev: true dev: true
/string-convert@0.2.1:
resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==}
dev: false
/string-length@4.0.2: /string-length@4.0.2:
resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -20953,10 +20393,6 @@ packages:
resolution: {integrity: sha512-IfajhBTeg0HlMXu1f+VMbPef05QpDTsZ9X2Yn1+8npdaXsXg/+wrm9Ze1WG5OS1UDC3qJ5EQN/XOZ3gfXjPFCw==} resolution: {integrity: sha512-IfajhBTeg0HlMXu1f+VMbPef05QpDTsZ9X2Yn1+8npdaXsXg/+wrm9Ze1WG5OS1UDC3qJ5EQN/XOZ3gfXjPFCw==}
dev: true dev: true
/toggle-selection@1.0.6:
resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==}
dev: false
/toidentifier@1.0.1: /toidentifier@1.0.1:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'} engines: {node: '>=0.6'}

View File

@ -3,7 +3,6 @@ const path = require('path')
const webpack = require('webpack') const webpack = require('webpack')
const HtmlWebpackPlugin = require('html-webpack-plugin') const HtmlWebpackPlugin = require('html-webpack-plugin')
const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin') const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin')
const AntdDayjsWebpackPlugin = require('antd-dayjs-webpack-plugin')
const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin') const MonacoWebpackPlugin = require('monaco-editor-webpack-plugin')
const webpackDevServerHost = process.env.WEBPACK_HOT_RELOAD_HOST || '127.0.0.1' const webpackDevServerHost = process.env.WEBPACK_HOT_RELOAD_HOST || '127.0.0.1'
@ -184,7 +183,6 @@ function createEntry(entry) {
: {}), : {}),
plugins: [ plugins: [
new MonacoWebpackPlugin(), new MonacoWebpackPlugin(),
new AntdDayjsWebpackPlugin(),
// common plugins for all entrypoints // common plugins for all entrypoints
].concat( ].concat(
entry === 'main' entry === 'main'