commit dc51623816bff8375c204a58f0a62f6194d01c87
parent 11dc017d657d2fde0ab9e887b02f3535fc207d02
Author: Yuukin256 <Yuukin256@gmail.com>
Date: Wed, 17 Aug 2022 17:41:07 +0900
フロントの表示を実装
Diffstat:
28 files changed, 2104 insertions(+), 225 deletions(-)
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
@@ -11,13 +11,7 @@
"settings": {},
// Add the IDs of extensions you want installed when the container is created.
- "extensions": [
- "dbaeumer.vscode-eslint",
- "esbenp.prettier-vscode",
- "eg2.vscode-npm-script",
- "editorconfig.editorconfig",
- "orta.vscode-jest"
- ],
+ "extensions": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "editorconfig.editorconfig"],
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// This can be used to network with other containers or with the host.
diff --git a/.eslintrc.yml b/.eslintrc.yml
@@ -4,6 +4,7 @@ env:
extends:
- eslint:recommended
+ - plugin:@next/next/recommended
- plugin:@typescript-eslint/recommended
- plugin:import/recommended
- plugin:import/typescript
diff --git a/.prettierignore b/.prettierignore
@@ -1,2 +1,3 @@
node_modules/
.yarn/
+.next/
diff --git a/.prettierrc.yml b/.prettierrc.yml
@@ -4,3 +4,4 @@ semi: true
singleQuote: true
useTabs: false
tabWidth: 2
+jsxSingleQuote: true
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
@@ -1,8 +1,3 @@
{
- "recommendations": [
- "dbaeumer.vscode-eslint",
- "esbenp.prettier-vscode",
- "eg2.vscode-npm-script",
- "editorconfig.editorconfig",
- ]
+ "recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode", "editorconfig.editorconfig"]
}
diff --git a/next-env.d.ts b/next-env.d.ts
@@ -0,0 +1,5 @@
+/// <reference types="next" />
+/// <reference types="next/image-types/global" />
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/next.config.js b/next.config.js
@@ -0,0 +1,8 @@
+/* eslint-disable */
+/** @type {import('next').NextConfig} */
+const nextConfig = {
+ reactStrictMode: true,
+ trailingSlash: false,
+};
+
+module.exports = nextConfig;
diff --git a/package.json b/package.json
@@ -1,23 +1,41 @@
{
- "name": "typescript-template",
+ "name": "timetable-app",
"version": "0.1.0",
"private": true,
"scripts": {
"prepare": "husky install",
- "build": "tsc",
- "dev": "ts-node",
- "start": "node dist/index.js",
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start",
"lint": "eslint src/**/*.{ts,tsx} && tsc --noEmit",
"lint:fix": "eslint src/**/*.{ts,tsx} --fix",
"type-check": "tsc --noEmit",
"format": "prettier --write ."
},
"dependencies": {
+ "@date-io/date-fns": "^2.14.0",
+ "@emotion/react": "^11.9.3",
+ "@emotion/styled": "^11.9.3",
"@js-temporal/polyfill": "^0.4.1",
- "immutable": "^4.0.0"
+ "@mui/icons-material": "^5.8.4",
+ "@mui/material": "^5.9.2",
+ "@mui/x-date-pickers": "^5.0.0-beta.3",
+ "date-fns": "^2.29.1",
+ "immutable": "^4.0.0",
+ "next": "^12.2.3",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "react-swipeable-views": "^0.14.0",
+ "react-swipeable-views-utils": "^0.14.0"
},
"devDependencies": {
+ "@next/eslint-plugin-next": "^12.2.4",
+ "@tsconfig/strictest": "^1.0.1",
"@types/node": "^17.0.33",
+ "@types/react": "^18.0.15",
+ "@types/react-dom": "^18.0.6",
+ "@types/react-swipeable-views": "^0.13.1",
+ "@types/react-swipeable-views-utils": "^0.13.3",
"@typescript-eslint/eslint-plugin": "^5.17.0",
"@typescript-eslint/parser": "^5.17.0",
"eslint": "^8.12.0",
@@ -28,7 +46,6 @@
"husky": "^7.0.4",
"lint-staged": "^12.3.7",
"prettier": "^2.6.1",
- "ts-node": "^10.7.0",
"typescript": "^4.6.3"
},
"packageManager": "yarn@3.2.0"
diff --git a/src/components/common/Head/index.tsx b/src/components/common/Head/index.tsx
@@ -0,0 +1,32 @@
+import NextHead from 'next/head';
+
+import { APP_DESCRIPTION, APP_TITLE, APP_URL } from 'constant';
+
+import type { FC } from 'react';
+
+type Props = {
+ title?: string;
+};
+
+const Head: FC<Props> = ({ title: pageTitle }) => {
+ const title = pageTitle ? `${pageTitle} | ${APP_TITLE}` : `${APP_TITLE}`;
+ return (
+ <NextHead>
+ <title>{title}</title>
+ <meta name='viewport' content='width=device-width,initial-scale=1.0' />
+ <meta name='description' content={APP_DESCRIPTION} />
+ <meta property='og:url' content={APP_URL} />
+ <meta property='og:title' content={title} />
+ <meta property='og:site_name' content={APP_TITLE} />
+ <meta property='og:description' content={APP_DESCRIPTION} />
+ <meta property='og:type' content='website' />
+ <meta property='og:image' content='' />
+ <meta name='twitter:card' content='summary' />
+ <meta name='twitter:title' content={title} />
+ <meta name='twitter:description' content={APP_DESCRIPTION} />
+ {/* <meta name="twitter:image" content="" />*/}
+ </NextHead>
+ );
+};
+
+export default Head;
diff --git a/src/components/common/Link/index.tsx b/src/components/common/Link/index.tsx
@@ -0,0 +1,98 @@
+import MuiLink from '@mui/material/Link';
+import { styled } from '@mui/material/styles';
+import { clsx } from 'clsx';
+import NextLink from 'next/link';
+import { useRouter } from 'next/router';
+import * as React from 'react';
+
+import type { LinkProps as MuiLinkProps } from '@mui/material/Link';
+import type { LinkProps as NextLinkProps } from 'next/link';
+
+// Add support for the sx prop for consistency with the other branches.
+const Anchor = styled('a')({});
+
+interface NextLinkComposedProps
+ extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>,
+ Omit<NextLinkProps, 'href' | 'as' | 'onClick' | 'onMouseEnter'> {
+ to: NextLinkProps['href'];
+ linkAs?: NextLinkProps['as'];
+}
+
+export const NextLinkComposed = React.forwardRef<HTMLAnchorElement, NextLinkComposedProps>(function NextLinkComposed(
+ props,
+ ref
+) {
+ const { to, linkAs, replace, scroll, shallow, prefetch, locale, ...other } = props;
+
+ return (
+ <NextLink
+ href={to}
+ prefetch={prefetch}
+ as={linkAs}
+ replace={replace}
+ scroll={scroll}
+ shallow={shallow}
+ passHref
+ locale={locale}
+ >
+ <Anchor ref={ref} {...other} />
+ </NextLink>
+ );
+});
+
+export type LinkProps = {
+ activeClassName?: string;
+ as?: NextLinkProps['as'];
+ href: NextLinkProps['href'];
+ linkAs?: NextLinkProps['as']; // Useful when the as prop is shallow by styled().
+ noLinkStyle?: boolean;
+} & Omit<NextLinkComposedProps, 'to' | 'linkAs' | 'href'> &
+ Omit<MuiLinkProps, 'href'>;
+
+// A styled version of the Next.js Link component:
+// https://nextjs.org/docs/api-reference/next/link
+const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(function Link(props, ref) {
+ const {
+ activeClassName = 'active',
+ as,
+ className: classNameProps,
+ href,
+ linkAs: linkAsProp,
+ locale,
+ noLinkStyle,
+ prefetch,
+ replace,
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ role, // Link don't have roles.
+ scroll,
+ shallow,
+ ...other
+ } = props;
+
+ const router = useRouter();
+ const pathname = typeof href === 'string' ? href : href.pathname;
+ const className = clsx(classNameProps, {
+ [activeClassName]: router.pathname === pathname && activeClassName,
+ });
+
+ const isExternal = typeof href === 'string' && (href.indexOf('http') === 0 || href.indexOf('mailto:') === 0);
+
+ if (isExternal) {
+ if (noLinkStyle) {
+ return <Anchor className={className} href={href} ref={ref} {...other} />;
+ }
+
+ return <MuiLink className={className} href={href} ref={ref} {...other} />;
+ }
+
+ const linkAs = linkAsProp || as;
+ const nextjsProps = { to: href, linkAs, replace, scroll, shallow, prefetch, locale };
+
+ if (noLinkStyle) {
+ return <NextLinkComposed className={className} ref={ref} {...nextjsProps} {...other} />;
+ }
+
+ return <MuiLink component={NextLinkComposed} className={className} ref={ref} {...nextjsProps} {...other} />;
+});
+
+export default Link;
diff --git a/src/components/daily/DailyView.tsx b/src/components/daily/DailyView.tsx
@@ -0,0 +1,70 @@
+import Box from '@mui/material/Box';
+import Paper from '@mui/material/Paper';
+import SwipeableViews from 'react-swipeable-views';
+
+import useDailyTimetable from 'hooks/useDailyTimetable';
+
+import DateIndicator from './DateIndicator';
+
+import type { FC } from 'react';
+import type { Calendar } from 'types';
+
+type Props = {
+ calendar: Calendar;
+};
+
+const DailyView: FC<Props> = ({ calendar }) => {
+ const { date, dates, index, handlers } = useDailyTimetable(calendar);
+
+ return (
+ <Box sx={{ display: 'flex', flexDirection: 'column', width: '100%' }}>
+ <Box sx={{ py: 1 }}>
+ <DateIndicator
+ currentDate={date}
+ dates={dates}
+ setDate={handlers.setDate}
+ prev={handlers.prev}
+ next={handlers.next}
+ />
+ </Box>
+
+ <Box sx={{ flexGrow: 1 }}>
+ {index < 0 ? (
+ <Box sx={{ p: 3 }}>時間割がありません</Box>
+ ) : (
+ <SwipeableViews
+ index={index}
+ onChangeIndex={(i) => handlers.setIndex(i)}
+ enableMouseEvents
+ style={{ padding: '10px 30px' }}
+ slideStyle={{ padding: '0 10px' }}
+ >
+ {calendar.toArray().map(([d, lessons]) => (
+ <Paper
+ variant='outlined'
+ sx={(theme) => ({
+ listStylePosition: 'inside',
+ [theme.breakpoints.up('xs')]: { p: 2, fontSize: 36 },
+ [theme.breakpoints.up('sm')]: { py: 3, px: 5, fontSize: 48 },
+ })}
+ key={d}
+ >
+ <ol style={{ margin: 0, padding: 0 }}>
+ <li>{lessons[1]}</li>
+ <li>{lessons[2]}</li>
+ <li>{lessons[3]}</li>
+ <li>{lessons[4]}</li>
+ <li>{lessons[5]}</li>
+ <li>{lessons[6]}</li>
+ <li>{lessons[7]}</li>
+ </ol>
+ </Paper>
+ ))}
+ </SwipeableViews>
+ )}
+ </Box>
+ </Box>
+ );
+};
+
+export default DailyView;
diff --git a/src/components/daily/DateIndicator.tsx b/src/components/daily/DateIndicator.tsx
@@ -0,0 +1,72 @@
+import { Temporal } from '@js-temporal/polyfill';
+import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';
+import ChevronRightIcon from '@mui/icons-material/ChevronRight';
+import EventIcon from '@mui/icons-material/Event';
+import Box from '@mui/material/Box';
+import IconButton from '@mui/material/IconButton';
+import InputAdornment from '@mui/material/InputAdornment';
+import Stack from '@mui/material/Stack';
+import TextField from '@mui/material/TextField';
+import { LocalizationProvider, MobileDatePicker } from '@mui/x-date-pickers';
+import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
+import { ja } from 'date-fns/locale';
+
+import { dateToPlainDate, plainDateToDate } from 'utils';
+
+import type { FC } from 'react';
+
+type Props = {
+ dates: Temporal.PlainDate[];
+ currentDate: Temporal.PlainDate | null;
+ setDate: (d: Temporal.PlainDate) => void;
+ prev: () => void;
+ next: () => void;
+};
+
+const DateIndicator: FC<Props> = ({ currentDate, dates, setDate, prev, next }) => {
+ const date = currentDate ?? Temporal.Now.plainDateISO();
+ const handleChange = (n: Date | null) => {
+ if (n == null) return;
+ setDate(dateToPlainDate(n));
+ };
+
+ const minDate = dates.at(0);
+ const maxDate = dates.at(-1);
+
+ return (
+ <LocalizationProvider dateAdapter={AdapterDateFns} adapterLocale={ja}>
+ <Stack direction='row' justifyContent='space-between' alignItems='center' spacing={4} width='100%' px={3}>
+ <IconButton disabled={minDate && date.equals(minDate)} onClick={prev}>
+ <ChevronLeftIcon />
+ </IconButton>
+
+ <Box sx={{ width: '12rem' }}>
+ <MobileDatePicker
+ value={plainDateToDate(date)}
+ onChange={handleChange}
+ minDate={plainDateToDate(minDate)}
+ maxDate={plainDateToDate(maxDate)}
+ shouldDisableDate={(d1) => dates.every((d2) => !dateToPlainDate(d1).equals(d2))}
+ renderInput={(params) => <TextField {...params} />}
+ InputProps={{
+ fullWidth: true,
+ size: 'small',
+ startAdornment: (
+ <InputAdornment position='start'>
+ <EventIcon fontSize='small' />
+ </InputAdornment>
+ ),
+ }}
+ inputFormat='yyyy/MM/dd (EEEEE)'
+ />
+ </Box>
+
+ <IconButton disabled={maxDate && date.equals(maxDate)} onClick={next}>
+ <ChevronRightIcon />
+ </IconButton>
+ </Stack>
+ </LocalizationProvider>
+ );
+};
+
+export default DateIndicator;
diff --git a/src/components/layouts/Layout.tsx b/src/components/layouts/Layout.tsx
@@ -0,0 +1,78 @@
+import HomeIcon from '@mui/icons-material/Home';
+import InfoIcon from '@mui/icons-material/Info';
+import AppBar from '@mui/material/AppBar';
+import Box from '@mui/material/Box';
+import Container from '@mui/material/Container';
+import IconButton from '@mui/material/IconButton';
+import Toolbar from '@mui/material/Toolbar';
+import Typography from '@mui/material/Typography';
+
+import { NextLinkComposed } from 'components/common/Link';
+
+import type { FC, ReactNode } from 'react';
+
+type Props = {
+ children: ReactNode;
+ title: string;
+};
+
+const Layout: FC<Props> = ({ children, title }) => {
+ return (
+ <Container
+ maxWidth='sm'
+ disableGutters
+ sx={(theme) => ({
+ [theme.breakpoints.up('sm')]: {
+ borderRight: 'solid 1px gray',
+ borderLeft: 'solid 1px gray',
+ },
+ minHeight: '100vh',
+ display: 'flex',
+ flexDirection: 'column',
+ })}
+ >
+ <AppBar position='sticky'>
+ <Toolbar variant='dense' sx={{ color: 'white' }}>
+ <IconButton
+ color='inherit'
+ title='ホームに戻る'
+ edge='start'
+ sx={{ mr: 2 }}
+ component={NextLinkComposed}
+ to={{
+ pathname: '/',
+ }}
+ >
+ <HomeIcon />
+ </IconButton>
+ <Box sx={{ flexGrow: 1 }}>
+ <Typography variant='h1' fontSize={24} fontWeight={500}>
+ {title}
+ </Typography>
+ </Box>
+ <IconButton
+ color='inherit'
+ title='このアプリについて'
+ component={NextLinkComposed}
+ to={{
+ pathname: '/about',
+ }}
+ >
+ <InfoIcon />
+ </IconButton>
+ </Toolbar>
+ </AppBar>
+ <Box
+ sx={{
+ paddingY: '10px',
+ flexGrow: 1,
+ }}
+ >
+ <main>{children}</main>
+ </Box>
+ <Box sx={{ px: 2, py: 1, fontSize: 14, fontFamily: 'serif' }}>大阪府立岸和田高等学校</Box>
+ </Container>
+ );
+};
+
+export default Layout;
diff --git a/src/constant/index.tsx b/src/constant/index.tsx
@@ -0,0 +1,39 @@
+export const APP_TITLE = '岸高時間割アプリ';
+export const APP_DESCRIPTION = '岸和田高校の時間割を確認できるアプリ';
+export const APP_URL = '';
+
+export const GRADED_CLASSES = [
+ ['1-1', '1-2', '1-3', '1-4', '1-5', '1-6', '1-7', '1-8'],
+ ['2-1', '2-2', '2-3', '2-4', '2-5', '2-6', '2-7', '2-8'],
+ ['3-1', '3-2', '3-3', '3-4', '3-5', '3-6', '3-7', '3-8'],
+] as const;
+
+export const CLASSES = [
+ '1-1',
+ '1-2',
+ '1-3',
+ '1-4',
+ '1-5',
+ '1-6',
+ '1-7',
+ '1-8',
+ '2-1',
+ '2-2',
+ '2-3',
+ '2-4',
+ '2-5',
+ '2-6',
+ '2-7',
+ '2-8',
+ '3-1',
+ '3-2',
+ '3-3',
+ '3-4',
+ '3-5',
+ '3-6',
+ '3-7',
+ '3-8',
+] as const;
+
+export const BUG_REPORT_FORM_URL = process.env['NEXT_PUBLIC_BUG_REPORT_FORM_URL'];
+export const REQUEST_FORM_URL = process.env['NEXT_PUBLIC_REQUEST_FORM_URL'];
diff --git a/src/data/test.csv b/src/data/test.csv
@@ -1 +0,0 @@
-test date, data1, data2
diff --git a/src/hooks/useDailyTimetable.ts b/src/hooks/useDailyTimetable.ts
@@ -0,0 +1,74 @@
+import { Temporal } from '@js-temporal/polyfill';
+import closestIndexTo from 'date-fns/closestIndexTo';
+import { useMemo, useState } from 'react';
+
+import type { Dispatch, SetStateAction } from 'react';
+import type { Calendar, DayLessons } from 'types';
+
+type BaseReturn = {
+ index: number;
+ date: Temporal.PlainDate | null;
+ lessons: DayLessons | null;
+ dates: Temporal.PlainDate[];
+ handlers: {
+ prev: () => void;
+ next: () => void;
+ setDate: (d: Temporal.PlainDate) => void;
+ setIndex: Dispatch<SetStateAction<number>>;
+ };
+};
+
+type Return = BaseReturn;
+
+const useDailyTimetable = (calendar: Calendar): Return => {
+ const calendarDateSeq = useMemo(() => calendar.keySeq(), [calendar]);
+ const dates = useMemo(() => calendarDateSeq.toArray().map((v) => Temporal.PlainDate.from(v)), [calendarDateSeq]);
+
+ // 初期設定の日付: 16時以前なら当日; 16時以降なら翌日
+ const now = Temporal.Now.zonedDateTimeISO('Asia/Tokyo');
+ const duration = now.since(now.with({ hour: 16, minute: 0, second: 0 }));
+ const initialDate = duration.sign === -1 ? Temporal.Now.plainDateISO() : Temporal.Now.plainDateISO().add({ days: 1 });
+
+ const [index, setIndex] = useState<number>(() => {
+ const i = calendarDateSeq.indexOf(initialDate.toJSON());
+ if (i !== -1) {
+ return i;
+ }
+
+ return (
+ closestIndexTo(
+ new Date(initialDate.toJSON()),
+ calendarDateSeq.toArray().map((v) => new Date(v))
+ ) ?? calendar.size - 1
+ );
+ });
+
+ const dateString = calendarDateSeq.get(index);
+ const date = dateString ? Temporal.PlainDate.from(dateString) : null;
+
+ const lessons = dateString ? calendar.get(dateString) ?? null : null;
+
+ const setDate = (d: Temporal.PlainDate) => {
+ const newIndex = calendarDateSeq.indexOf(d.toJSON());
+ if (newIndex !== -1) {
+ setIndex(newIndex);
+ }
+ };
+ const prev = () => setIndex((old) => (old > 0 ? old - 1 : old));
+ const next = () => setIndex((old) => (old !== calendar.size ? old + 1 : old));
+
+ return {
+ index,
+ date,
+ lessons,
+ dates,
+ handlers: {
+ setIndex,
+ setDate,
+ prev,
+ next,
+ },
+ };
+};
+
+export default useDailyTimetable;
diff --git a/src/index.ts b/src/index.ts
@@ -5,12 +5,19 @@ import { isAbstractLessonName } from './utils';
import type { Grade, Class, Calendar, Standard, Unusual } from './types';
-const main = async (g: Grade, c: Class) => {
- console.log(`${g}-${c}`);
+export const main = async (g: Grade, c: Class) => {
+ console.log(g, c);
- const calendar: Calendar = Map([
- [new Temporal.PlainDate(2022, 1, 26), { 1: '水1', 2: '水2', 3: '水5', 4: '水6', 5: '水3', 6: '水4', 7: '水7' }],
- ]);
+ let calendar: Calendar = Map();
+ calendar = calendar.set(new Temporal.PlainDate(2022, 1, 26).toJSON(), {
+ 1: '水1',
+ 2: '水2',
+ 3: '水5',
+ 4: '水6',
+ 5: '水3',
+ 6: '水4',
+ 7: '水7',
+ });
const standard: Standard = {
月1: '',
@@ -48,7 +55,8 @@ const main = async (g: Grade, c: Class) => {
金6: '',
金7: '',
};
- const unusual: Unusual = Map([[new Temporal.PlainDate(2022, 1, 26), { 1: '数学A', 3: '古典' }]]);
+ let unusual: Unusual = Map();
+ unusual = unusual.set(new Temporal.PlainDate(2022, 1, 26).toJSON(), { 1: '数学A', 3: '古典' });
const standardAppliedCalendar = applyStandard(calendar, standard);
@@ -79,7 +87,7 @@ const applyStandard = (calendar: Calendar, standard: Standard): Calendar => {
const applyUnusual = (calendar: Calendar, unusual: Unusual): Calendar => {
return calendar.map((originalLessons, date) => {
// この日の臨時時間割
- const unusualLessons = unusual.find((_, k) => k.equals(date));
+ const unusualLessons = unusual.find((_, k) => k === date);
// ない場合は終了
if (typeof unusualLessons === 'undefined') {
@@ -90,5 +98,3 @@ const applyUnusual = (calendar: Calendar, unusual: Unusual): Calendar => {
return merge(originalLessons, unusualLessons);
});
};
-
-console.log(main(2, 4));
diff --git a/src/lib/createEmotionCache.ts b/src/lib/createEmotionCache.ts
@@ -0,0 +1,5 @@
+import createCache from '@emotion/cache';
+
+export default function createEmotionCache() {
+ return createCache({ key: 'css', prepend: true });
+}
diff --git a/src/pages/[class].tsx b/src/pages/[class].tsx
@@ -0,0 +1,95 @@
+import { Temporal } from '@js-temporal/polyfill';
+import { Map } from 'immutable';
+
+import Head from 'components/common/Head';
+import DailyView from 'components/daily/DailyView';
+import Layout from 'components/layouts/Layout';
+
+import { CLASSES } from '../constant';
+
+import type { GetStaticPaths, GetStaticProps, NextPage } from 'next';
+import type { Calendar } from 'types';
+
+type UrlQuery = {
+ class: string;
+};
+
+type PageProps = {
+ class: string;
+};
+
+export const getStaticPaths: GetStaticPaths<UrlQuery> = async () => {
+ const paths = CLASSES.map((c) => ({ params: { class: c } }));
+
+ return {
+ paths,
+ fallback: false,
+ };
+};
+
+export const getStaticProps: GetStaticProps<PageProps, UrlQuery> = async ({ params }) => {
+ const className = params?.class;
+
+ if (className == null) {
+ return {
+ notFound: true,
+ };
+ }
+
+ return {
+ props: { class: className },
+ };
+};
+
+const Page: NextPage<PageProps> = (props) => {
+ const calendar: Calendar = Map();
+ const newCalendar = calendar
+ .set(new Temporal.PlainDate(2022, 8, 11).toJSON(), {
+ 1: '08/06',
+ 2: '英語構文',
+ 3: '倫理政経',
+ 4: '現代文',
+ 5: 'HR',
+ 6: '体育',
+ 7: '家庭科',
+ })
+ .set(new Temporal.PlainDate(2022, 8, 10).toJSON(), {
+ 1: '数学II',
+ 2: '英語構文',
+ 3: '倫理政経',
+ 4: '現代文',
+ 5: 'HR',
+ 6: '体育',
+ 7: '家庭科',
+ })
+ .set(new Temporal.PlainDate(2022, 8, 9).toJSON(), {
+ 1: '数学II',
+ 2: '英語構文',
+ 3: '倫理政経',
+ 4: '現代文',
+ 5: 'HR',
+ 6: '体育',
+ 7: '家庭科',
+ })
+ .set(new Temporal.PlainDate(2022, 8, 14).toJSON(), {
+ 1: null,
+ 2: null,
+ 3: null,
+ 4: null,
+ 5: null,
+ 6: null,
+ 7: null,
+ })
+ .sortBy((_, date) => Temporal.PlainDate.from(date), Temporal.PlainDate.compare);
+
+ return (
+ <>
+ <Head title={props.class} />
+ <Layout title={props.class}>
+ <DailyView calendar={newCalendar} />
+ </Layout>
+ </>
+ );
+};
+
+export default Page;
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
@@ -0,0 +1,36 @@
+import { CacheProvider } from '@emotion/react';
+import CssBaseline from '@mui/material/CssBaseline';
+import { createTheme, ThemeProvider } from '@mui/material/styles';
+import Head from 'next/head';
+
+import createEmotionCache from 'lib/createEmotionCache';
+
+import type { EmotionCache } from '@emotion/react';
+import type { AppProps } from 'next/app';
+import 'styles/global.css';
+
+const clientSideEmotionCache = createEmotionCache();
+
+interface MyAppProps extends AppProps {
+ emotionCache?: EmotionCache;
+}
+
+function MyApp(props: MyAppProps) {
+ const { Component, emotionCache = clientSideEmotionCache, pageProps } = props;
+
+ const theme = createTheme();
+
+ return (
+ <CacheProvider value={emotionCache}>
+ <Head>
+ <meta name='viewport' content='initial-scale=1, width=device-width' />
+ </Head>
+ <ThemeProvider theme={theme}>
+ <CssBaseline />
+ <Component {...pageProps} />
+ </ThemeProvider>
+ </CacheProvider>
+ );
+}
+
+export default MyApp;
diff --git a/src/pages/about.tsx b/src/pages/about.tsx
@@ -0,0 +1,54 @@
+import Box from '@mui/material/Box';
+import Divider from '@mui/material/Divider';
+import Link from '@mui/material/Link';
+
+import Head from 'components/common/Head';
+import Layout from 'components/layouts/Layout';
+import { BUG_REPORT_FORM_URL, REQUEST_FORM_URL } from 'constant';
+
+import type { NextPage } from 'next';
+
+const AboutPage: NextPage = () => {
+ return (
+ <>
+ <Head title='このアプリについて' />
+ <Layout title='このアプリについて'>
+ <Box sx={{ px: 2 }}>
+ <p>
+ 大阪府立岸和田高等学校 76期 情報ゼミ
+ 制作「岸高時間割アプリ」です。「課題研究」授業の活動として制作しました。曜日変更はすべて対応済みですが、臨時変更については一部対応できていないことがあります。正確性を保証することはできません(特に臨時変更)ので、参考程度に使ってください。
+ </p>
+
+ <p>
+ アプリの動作に不具合があった場合や、時間割の情報が間違っていた場合は、以下の Google
+ フォームに報告をお願いします。
+ </p>
+ <ul>
+ <li>
+ <Link href={BUG_REPORT_FORM_URL}>不具合報告フォーム</Link>
+ </li>
+ </ul>
+
+ <p>アプリについてなにかご意見・ご要望等ありましたら、以下の Google フォームに送信をお願いします。</p>
+ <ul>
+ <li>
+ <Link href={REQUEST_FORM_URL}>ご意見・ご要望送信フォーム</Link>
+ </li>
+ </ul>
+
+ <p>今後の研究活動に活かすため、積極的に情報提供をお願いします。</p>
+
+ <Divider />
+
+ <ul>
+ <li>
+ <Link href='https://www.osaka-c.ed.jp/kishiwada/'>大阪府立岸和田高等学校</Link>
+ </li>
+ </ul>
+ </Box>
+ </Layout>
+ </>
+ );
+};
+
+export default AboutPage;
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
@@ -0,0 +1,40 @@
+import Box from '@mui/material/Box';
+import Stack from '@mui/material/Stack';
+
+import Head from 'components/common/Head';
+import Link from 'components/common/Link';
+import Layout from 'components/layouts/Layout';
+import { GRADED_CLASSES } from 'constant';
+
+import type { NextPage } from 'next';
+
+const Page: NextPage = () => {
+ return (
+ <>
+ <Head title='トップ' />
+ <Layout title='トップ'>
+ <Box sx={{ px: 2 }}>
+ <p>
+ 岸和田高校情報ゼミ制作「岸高時間割アプリ」です。詳細は「<Link href='/about'>このアプリについて</Link>
+ 」をご覧ください。
+ </p>
+ <Stack direction='row' justifyContent='space-around' alignItems='center'>
+ {GRADED_CLASSES.map((classes, g) => (
+ <Box sx={{ margin: 2 }} key={g}>
+ <ul style={{ margin: 0, padding: 0 }}>
+ {classes.map((c) => (
+ <li key={c}>
+ <Link href={`/${c}`}>{c}</Link>
+ </li>
+ ))}
+ </ul>
+ </Box>
+ ))}
+ </Stack>
+ </Box>
+ </Layout>
+ </>
+ );
+};
+
+export default Page;
diff --git a/src/.gitkeep b/src/styles/global.css
diff --git a/src/types.ts b/src/types.ts
@@ -1,29 +0,0 @@
-import type { Temporal } from '@js-temporal/polyfill';
-import type { Map } from 'immutable';
-
-// 学年
-export type Grade = 1 | 2 | 3;
-// クラス
-export type Class = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
-
-type Weekday = '月' | '火' | '水' | '木' | '金';
-type SchoolPeriod = 1 | 2 | 3 | 4 | 5 | 6 | 7;
-
-// 月1 から 金7 (木7 以外)
-export type AbstractLessonName = Exclude<`${Weekday}${SchoolPeriod}`, '木7'>;
-// 授業名
-export type ActualLessonName = string;
-
-export type Lesson = AbstractLessonName | ActualLessonName;
-
-// 1日の授業
-type DayLessons = Record<SchoolPeriod, string | null>;
-
-// クラスの標準時間割
-export type Standard = Readonly<Record<AbstractLessonName, string>>;
-
-// 曜日変更込みの時間割表 (月1, 月2,… など) または、授業名代入済みの時間割表
-export type Calendar = Map<Temporal.PlainDate, DayLessons>;
-
-// クラスの臨時変更
-export type Unusual = Map<Temporal.PlainDate, Partial<DayLessons>>;
diff --git a/src/types/index.ts b/src/types/index.ts
@@ -0,0 +1,28 @@
+import type { Map } from 'immutable';
+
+// 学年
+export type Grade = 1 | 2 | 3;
+// クラス
+export type Class = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
+
+type Weekday = '月' | '火' | '水' | '木' | '金';
+type SchoolPeriod = 1 | 2 | 3 | 4 | 5 | 6 | 7;
+
+// 月1 から 金7 (木7 以外)
+export type AbstractLessonName = Exclude<`${Weekday}${SchoolPeriod}`, '木7'>;
+// 授業名
+export type ActualLessonName = string;
+
+export type LessonName = AbstractLessonName | ActualLessonName;
+
+// 1日の授業
+export type DayLessons = Record<SchoolPeriod, LessonName | null>;
+
+// クラスの標準時間割
+export type Standard = Readonly<Record<AbstractLessonName, string>>;
+
+// 曜日変更込みの時間割表 (月1, 月2,… など) または、授業名代入済みの時間割表
+export type Calendar = Map<string, DayLessons>;
+
+// クラスの臨時変更
+export type Unusual = Map<string, Partial<DayLessons>>;
diff --git a/src/utils.ts b/src/utils.ts
@@ -1,29 +1,11 @@
-import { readFile, writeFile } from 'node:fs/promises';
+import { Temporal } from '@js-temporal/polyfill';
-import type { PathLike } from 'node:fs';
import type { AbstractLessonName } from 'types';
export const isAbstractLessonName = (value: string): value is AbstractLessonName => {
return /((月|火|水|金)(1|2|3|4|5|6|7)|木(1|2|3|4|5|6))/.test(value);
};
-const csvToArray = async (path: PathLike): Promise<string[][]> => {
- const csv = await readFile(path);
- const arr = csv
- .toString()
- .trim()
- .split('\n')
- .map((s) => s.split(','));
- return arr;
-};
-
-const arrayToCsv = async (path: PathLike, arr: (string | null)[][]): Promise<void> => {
- const csvString = arr.map((v) => (v ?? '').join(',')).join('\n');
- writeFile(path, csvString);
-};
-
-const main = async () => {
- arrayToCsv('./src/data/output.csv', await csvToArray('./src/data/test.csv'));
-};
-
-main();
+export const plainDateToDate = (date: Temporal.PlainDate | undefined) => (date ? new Date(date.toString()) : undefined);
+export const dateToPlainDate = (date: Date) =>
+ new Temporal.PlainDate(date.getFullYear(), date.getMonth() + 1, date.getDate());
diff --git a/tsconfig.json b/tsconfig.json
@@ -1,16 +1,19 @@
{
+ "extends": "@tsconfig/strictest/tsconfig.json",
"compilerOptions": {
- "outDir": "./dist",
+ "target": "es5",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "noEmit": true,
+ "module": "esnext",
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "incremental": true,
"baseUrl": "./src/",
- "moduleResolution": "Node",
- "module": "CommonJS",
- "target": "ES6",
- "sourceMap": true,
- "noImplicitReturns": true,
- "strict": true,
- "esModuleInterop": true,
- "allowSyntheticDefaultImports": true,
- "lib": ["ESNext", "DOM"],
+ "allowJs": true,
+ "exactOptionalPropertyTypes": false
},
- "include": ["src/*.ts"]
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
+ "exclude": ["node_modules"]
}
diff --git a/yarn.lock b/yarn.lock
@@ -5,19 +5,292 @@ __metadata:
version: 6
cacheKey: 8
-"@cspotcode/source-map-consumer@npm:0.8.0":
+"@babel/code-frame@npm:^7.0.0":
+ version: 7.18.6
+ resolution: "@babel/code-frame@npm:7.18.6"
+ dependencies:
+ "@babel/highlight": ^7.18.6
+ checksum: 195e2be3172d7684bf95cff69ae3b7a15a9841ea9d27d3c843662d50cdd7d6470fd9c8e64be84d031117e4a4083486effba39f9aef6bbb2c89f7f21bcfba33ba
+ languageName: node
+ linkType: hard
+
+"@babel/helper-module-imports@npm:^7.12.13":
+ version: 7.18.6
+ resolution: "@babel/helper-module-imports@npm:7.18.6"
+ dependencies:
+ "@babel/types": ^7.18.6
+ checksum: f393f8a3b3304b1b7a288a38c10989de754f01d29caf62ce7c4e5835daf0a27b81f3ac687d9d2780d39685aae7b55267324b512150e7b2be967b0c493b6a1def
+ languageName: node
+ linkType: hard
+
+"@babel/helper-plugin-utils@npm:^7.18.6":
+ version: 7.18.9
+ resolution: "@babel/helper-plugin-utils@npm:7.18.9"
+ checksum: ebae876cd60f1fe238c7210986093845fa5c4cad5feeda843ea4d780bf068256717650376d3af2a5e760f2ed6a35c065ae144f99c47da3e54aa6cba99d8804e0
+ languageName: node
+ linkType: hard
+
+"@babel/helper-validator-identifier@npm:^7.18.6":
+ version: 7.18.6
+ resolution: "@babel/helper-validator-identifier@npm:7.18.6"
+ checksum: e295254d616bbe26e48c196a198476ab4d42a73b90478c9842536cf910ead887f5af6b5c4df544d3052a25ccb3614866fa808dc1e3a5a4291acd444e243c0648
+ languageName: node
+ linkType: hard
+
+"@babel/highlight@npm:^7.18.6":
+ version: 7.18.6
+ resolution: "@babel/highlight@npm:7.18.6"
+ dependencies:
+ "@babel/helper-validator-identifier": ^7.18.6
+ chalk: ^2.0.0
+ js-tokens: ^4.0.0
+ checksum: 92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-syntax-jsx@npm:^7.12.13":
+ version: 7.18.6
+ resolution: "@babel/plugin-syntax-jsx@npm:7.18.6"
+ dependencies:
+ "@babel/helper-plugin-utils": ^7.18.6
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 6d37ea972970195f1ffe1a54745ce2ae456e0ac6145fae9aa1480f297248b262ea6ebb93010eddb86ebfacb94f57c05a1fc5d232b9a67325b09060299d515c67
+ languageName: node
+ linkType: hard
+
+"@babel/runtime@npm:7.0.0":
+ version: 7.0.0
+ resolution: "@babel/runtime@npm:7.0.0"
+ dependencies:
+ regenerator-runtime: ^0.12.0
+ checksum: 7dbeb4bfa5762b80b4137f21009d2b754dd1adba0390d909d53397c510c1e708677302774d69386f936a26fb898f055c32a0c668e2d908d78d36f76d0c3d04dd
+ languageName: node
+ linkType: hard
+
+"@babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.17.2, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.2.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.7":
+ version: 7.18.9
+ resolution: "@babel/runtime@npm:7.18.9"
+ dependencies:
+ regenerator-runtime: ^0.13.4
+ checksum: 36dd736baba7164e82b3cc9d43e081f0cb2d05ff867ad39cac515d99546cee75b7f782018b02a3dcf5f2ef3d27f319faa68965fdfec49d4912c60c6002353a2e
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.18.6":
+ version: 7.18.9
+ resolution: "@babel/types@npm:7.18.9"
+ dependencies:
+ "@babel/helper-validator-identifier": ^7.18.6
+ to-fast-properties: ^2.0.0
+ checksum: f0e0147267895fd8a5b82133e711ce7ce99941f3ce63647e0e3b00656a7afe48a8aa48edbae27543b701794d2b29a562a08f51f88f41df401abce7c3acc5e13a
+ languageName: node
+ linkType: hard
+
+"@date-io/core@npm:^2.14.0":
+ version: 2.14.0
+ resolution: "@date-io/core@npm:2.14.0"
+ checksum: 495d6086366778590a10b554aeeaf0f22e8d7ad7eb2eeffcd16bd2864f68e9f41d956e4d5469a5f012b8bd4ff300409e5649d33bdd5d599a20296738d4f6ed12
+ languageName: node
+ linkType: hard
+
+"@date-io/date-fns@npm:^2.14.0":
+ version: 2.14.0
+ resolution: "@date-io/date-fns@npm:2.14.0"
+ dependencies:
+ "@date-io/core": ^2.14.0
+ peerDependencies:
+ date-fns: ^2.0.0
+ peerDependenciesMeta:
+ date-fns:
+ optional: true
+ checksum: 6904676e2db8410555f4b289b0d10ba080a47867d82c87e108d4577188cdf75774b602be7440d47850d3487c8cbed926bdf2d0cbc0d714f3450f0e651ddd6c5d
+ languageName: node
+ linkType: hard
+
+"@date-io/dayjs@npm:^2.14.0":
+ version: 2.14.0
+ resolution: "@date-io/dayjs@npm:2.14.0"
+ dependencies:
+ "@date-io/core": ^2.14.0
+ peerDependencies:
+ dayjs: ^1.8.17
+ peerDependenciesMeta:
+ dayjs:
+ optional: true
+ checksum: 8e2433176048ba4590e124c77a21c230757fe858941877236a74f40d2cac4a9343802ccd53a19a52b36cf474119601ef6441b54aa785093e41b85b8da3cab6ba
+ languageName: node
+ linkType: hard
+
+"@date-io/luxon@npm:^2.14.0":
+ version: 2.14.0
+ resolution: "@date-io/luxon@npm:2.14.0"
+ dependencies:
+ "@date-io/core": ^2.14.0
+ peerDependencies:
+ luxon: ^1.21.3 || ^2.x
+ peerDependenciesMeta:
+ luxon:
+ optional: true
+ checksum: 68f2c2f7f94311f00c9e0e31e08b5e0ed8d7800f8d11b4e760bf1f1b56b3bbfc5252996830521ce4fcc7d267fe54cafcd22b2855995285cbb8a7bbc75470e50f
+ languageName: node
+ linkType: hard
+
+"@date-io/moment@npm:^2.14.0":
+ version: 2.14.0
+ resolution: "@date-io/moment@npm:2.14.0"
+ dependencies:
+ "@date-io/core": ^2.14.0
+ peerDependencies:
+ moment: ^2.24.0
+ peerDependenciesMeta:
+ moment:
+ optional: true
+ checksum: ceea1f4b2245fda1b81fa9440e84cc4c3d1f8e1285a111effb3ed503e84982f227b8c6ce1cadf1d92738a3a5edb2d9c7eed8b06003c91d086680d9137fd77248
+ languageName: node
+ linkType: hard
+
+"@emotion/babel-plugin@npm:^11.7.1":
+ version: 11.9.2
+ resolution: "@emotion/babel-plugin@npm:11.9.2"
+ dependencies:
+ "@babel/helper-module-imports": ^7.12.13
+ "@babel/plugin-syntax-jsx": ^7.12.13
+ "@babel/runtime": ^7.13.10
+ "@emotion/hash": ^0.8.0
+ "@emotion/memoize": ^0.7.5
+ "@emotion/serialize": ^1.0.2
+ babel-plugin-macros: ^2.6.1
+ convert-source-map: ^1.5.0
+ escape-string-regexp: ^4.0.0
+ find-root: ^1.1.0
+ source-map: ^0.5.7
+ stylis: 4.0.13
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 2d2c4fadd389862896bcbc5f42c9b9c1a199810173fcf14e5520506c7179c2ddb991b8832fd273f42104cf0dae98886ad8e767b5e38ad235b652d903c3b8a328
+ languageName: node
+ linkType: hard
+
+"@emotion/cache@npm:^11.9.3":
+ version: 11.9.3
+ resolution: "@emotion/cache@npm:11.9.3"
+ dependencies:
+ "@emotion/memoize": ^0.7.4
+ "@emotion/sheet": ^1.1.1
+ "@emotion/utils": ^1.0.0
+ "@emotion/weak-memoize": ^0.2.5
+ stylis: 4.0.13
+ checksum: 6e0aab2fa5b9b6b0b9bf66b5328ed44265c23ced16b46c13d2602c3497fabd95299f6cf2c87cbc02b630452aa3cff599c194c538125d744aa135824129698ccc
+ languageName: node
+ linkType: hard
+
+"@emotion/hash@npm:^0.8.0":
version: 0.8.0
- resolution: "@cspotcode/source-map-consumer@npm:0.8.0"
- checksum: c0c16ca3d2f58898f1bd74c4f41a189dbcc202e642e60e489cbcc2e52419c4e89bdead02c886a12fb13ea37798ede9e562b2321df997ebc210ae9bd881561b4e
+ resolution: "@emotion/hash@npm:0.8.0"
+ checksum: 4b35d88a97e67275c1d990c96d3b0450451d089d1508619488fc0acb882cb1ac91e93246d471346ebd1b5402215941ef4162efe5b51534859b39d8b3a0e3ffaa
+ languageName: node
+ linkType: hard
+
+"@emotion/is-prop-valid@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "@emotion/is-prop-valid@npm:1.1.3"
+ dependencies:
+ "@emotion/memoize": ^0.7.4
+ checksum: 511997c3bbaab5a967db65b65a111afc46c4aac8b3b87a436fd9e3dc2891829a9ada1405b77326f407d93934ee3b831e62248b498c071089312c5be080af75dd
+ languageName: node
+ linkType: hard
+
+"@emotion/memoize@npm:^0.7.4, @emotion/memoize@npm:^0.7.5":
+ version: 0.7.5
+ resolution: "@emotion/memoize@npm:0.7.5"
+ checksum: 83da8d4a7649a92c72f960817692bc6be13cc13e107b9f7e878d63766525ed4402881bfeb3cda61145c050281e7e260f114a0a2870515527346f2ef896b915b3
languageName: node
linkType: hard
-"@cspotcode/source-map-support@npm:0.7.0":
- version: 0.7.0
- resolution: "@cspotcode/source-map-support@npm:0.7.0"
+"@emotion/react@npm:^11.9.3":
+ version: 11.9.3
+ resolution: "@emotion/react@npm:11.9.3"
+ dependencies:
+ "@babel/runtime": ^7.13.10
+ "@emotion/babel-plugin": ^11.7.1
+ "@emotion/cache": ^11.9.3
+ "@emotion/serialize": ^1.0.4
+ "@emotion/utils": ^1.1.0
+ "@emotion/weak-memoize": ^0.2.5
+ hoist-non-react-statics: ^3.3.1
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ react: ">=16.8.0"
+ peerDependenciesMeta:
+ "@babel/core":
+ optional: true
+ "@types/react":
+ optional: true
+ checksum: 19bc7205e85e87cadebbe5a926d45103b836af70ab6972ea4c333c8dd01b463fc9646d4e4097a36f145a05dd4bc388739667437b990f8cf7f7f925f9610d1aa8
+ languageName: node
+ linkType: hard
+
+"@emotion/serialize@npm:^1.0.2, @emotion/serialize@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "@emotion/serialize@npm:1.0.4"
dependencies:
- "@cspotcode/source-map-consumer": 0.8.0
- checksum: 9faddda7757cd778b5fd6812137b2cc265810043680d6399acc20441668fafcdc874053be9dccd0d9110087287bfad27eb3bf342f72bceca9aa9059f5d0c4be8
+ "@emotion/hash": ^0.8.0
+ "@emotion/memoize": ^0.7.4
+ "@emotion/unitless": ^0.7.5
+ "@emotion/utils": ^1.0.0
+ csstype: ^3.0.2
+ checksum: e8cc342056734e176ea837fe44035126dea174962db40852a7ced499d258c0056b0fd3c298743c446f9ba0f2647cb42dfb623b8e5783c265deb9eb20138d68e7
+ languageName: node
+ linkType: hard
+
+"@emotion/sheet@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "@emotion/sheet@npm:1.1.1"
+ checksum: b916ac665735ef6dfda26b09f2d3493789d432d649733db9da18c4db0115e7fdadeb8d45f6490320248916bb13d978bba74c914b711ac96f659b76a5e52d5cd2
+ languageName: node
+ linkType: hard
+
+"@emotion/styled@npm:^11.9.3":
+ version: 11.9.3
+ resolution: "@emotion/styled@npm:11.9.3"
+ dependencies:
+ "@babel/runtime": ^7.13.10
+ "@emotion/babel-plugin": ^11.7.1
+ "@emotion/is-prop-valid": ^1.1.3
+ "@emotion/serialize": ^1.0.4
+ "@emotion/utils": ^1.1.0
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ "@emotion/react": ^11.0.0-rc.0
+ react: ">=16.8.0"
+ peerDependenciesMeta:
+ "@babel/core":
+ optional: true
+ "@types/react":
+ optional: true
+ checksum: 16d9ef8c5840b13ec47f91f9963b64ec8a94197fe99bb3bd4e9f7404a09bb65a333e9ab6590af97c0090360816db70e8c920731198c3a30fbb2c2cfd5e8d8a65
+ languageName: node
+ linkType: hard
+
+"@emotion/unitless@npm:^0.7.5":
+ version: 0.7.5
+ resolution: "@emotion/unitless@npm:0.7.5"
+ checksum: f976e5345b53fae9414a7b2e7a949aa6b52f8bdbcc84458b1ddc0729e77ba1d1dfdff9960e0da60183877873d3a631fa24d9695dd714ed94bcd3ba5196586a6b
+ languageName: node
+ linkType: hard
+
+"@emotion/utils@npm:^1.0.0, @emotion/utils@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@emotion/utils@npm:1.1.0"
+ checksum: d3b681ca3a23b07033ac6c6937e71010a5549ac8ccec325eb6c91a7e48d9a73db83fa5dadc58be981bb125d7c00fedca868ea4362b1da9e02866615f96be4df1
+ languageName: node
+ linkType: hard
+
+"@emotion/weak-memoize@npm:^0.2.5":
+ version: 0.2.5
+ resolution: "@emotion/weak-memoize@npm:0.2.5"
+ checksum: 27d402b0c683b94658220b6d47840346ee582329ca2a15ec9c233492e0f1a27687ccb233b76eedc922f2e185e444cc89f7b97a81a1d3e5ae9f075bab08e965ea
languageName: node
linkType: hard
@@ -66,6 +339,329 @@ __metadata:
languageName: node
linkType: hard
+"@material-ui/types@npm:^4.0.0":
+ version: 4.1.1
+ resolution: "@material-ui/types@npm:4.1.1"
+ dependencies:
+ "@types/react": "*"
+ checksum: 987a4ae1848b25ca14d644fa59d4c5ba46b5f1900318930b48bcc63b92b12757cc4413c8e50d3e7660c39b2f44653ce831f818cb648bac3836f14b7de8193e3e
+ languageName: node
+ linkType: hard
+
+"@mui/base@npm:5.0.0-alpha.91":
+ version: 5.0.0-alpha.91
+ resolution: "@mui/base@npm:5.0.0-alpha.91"
+ dependencies:
+ "@babel/runtime": ^7.17.2
+ "@emotion/is-prop-valid": ^1.1.3
+ "@mui/types": ^7.1.5
+ "@mui/utils": ^5.9.1
+ "@popperjs/core": ^2.11.5
+ clsx: ^1.2.1
+ prop-types: ^15.8.1
+ react-is: ^18.2.0
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 12c6b398f32725de8b2a1944dd893c9412f090bd3173e67f20edfce0888c7de9ce2cc81923440a23f46ea37ef77f21088be88a7d222d95ca5063cbf4846cf256
+ languageName: node
+ linkType: hard
+
+"@mui/icons-material@npm:^5.8.4":
+ version: 5.8.4
+ resolution: "@mui/icons-material@npm:5.8.4"
+ dependencies:
+ "@babel/runtime": ^7.17.2
+ peerDependencies:
+ "@mui/material": ^5.0.0
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 1df0ffb08670628968b803c7048fc645df5e2870860759626d80a355fdef62498e60e4ebed2d47ca8b3600e6ecb6db1829bec5acf3a766ff41e518007c7e2f5b
+ languageName: node
+ linkType: hard
+
+"@mui/material@npm:^5.9.2":
+ version: 5.9.2
+ resolution: "@mui/material@npm:5.9.2"
+ dependencies:
+ "@babel/runtime": ^7.17.2
+ "@mui/base": 5.0.0-alpha.91
+ "@mui/system": ^5.9.2
+ "@mui/types": ^7.1.5
+ "@mui/utils": ^5.9.1
+ "@types/react-transition-group": ^4.4.5
+ clsx: ^1.2.1
+ csstype: ^3.1.0
+ prop-types: ^15.8.1
+ react-is: ^18.2.0
+ react-transition-group: ^4.4.2
+ peerDependencies:
+ "@emotion/react": ^11.5.0
+ "@emotion/styled": ^11.3.0
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ react-dom: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@emotion/react":
+ optional: true
+ "@emotion/styled":
+ optional: true
+ "@types/react":
+ optional: true
+ checksum: 50c21c730e3da9f1ba544b3c75747e8b3cb4726b22950043106ecc9aabd1f9e3e137fac5ea90c46c358207755385d9f9f6754cf2512544b332dd9cac982d6da3
+ languageName: node
+ linkType: hard
+
+"@mui/private-theming@npm:^5.9.1":
+ version: 5.9.1
+ resolution: "@mui/private-theming@npm:5.9.1"
+ dependencies:
+ "@babel/runtime": ^7.17.2
+ "@mui/utils": ^5.9.1
+ prop-types: ^15.8.1
+ peerDependencies:
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 98684e5992dcd915f1f518d07dc61e8d4b4b442be3838e87c246da38959e613e2dbf07c4316f21600738aa2b4cc97a1cca591b2680a2c601ef2972161810af28
+ languageName: node
+ linkType: hard
+
+"@mui/styled-engine@npm:^5.8.7":
+ version: 5.8.7
+ resolution: "@mui/styled-engine@npm:5.8.7"
+ dependencies:
+ "@babel/runtime": ^7.17.2
+ "@emotion/cache": ^11.9.3
+ csstype: ^3.1.0
+ prop-types: ^15.8.1
+ peerDependencies:
+ "@emotion/react": ^11.4.1
+ "@emotion/styled": ^11.3.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@emotion/react":
+ optional: true
+ "@emotion/styled":
+ optional: true
+ checksum: b350758d8a117b37eb109c9d81e2aa0f2ca38269ca7e22744ea7f85aa6dda1139792b9ec1223a5ee2fa54f4897a093a63b8bb3db190824a5887678babe7bc898
+ languageName: node
+ linkType: hard
+
+"@mui/system@npm:^5.9.2":
+ version: 5.9.2
+ resolution: "@mui/system@npm:5.9.2"
+ dependencies:
+ "@babel/runtime": ^7.17.2
+ "@mui/private-theming": ^5.9.1
+ "@mui/styled-engine": ^5.8.7
+ "@mui/types": ^7.1.5
+ "@mui/utils": ^5.9.1
+ clsx: ^1.2.1
+ csstype: ^3.1.0
+ prop-types: ^15.8.1
+ peerDependencies:
+ "@emotion/react": ^11.5.0
+ "@emotion/styled": ^11.3.0
+ "@types/react": ^17.0.0 || ^18.0.0
+ react: ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ "@emotion/react":
+ optional: true
+ "@emotion/styled":
+ optional: true
+ "@types/react":
+ optional: true
+ checksum: 9d0ebb98bf0023ba38a18331d73d2b518d6f0b85decbe94afbd508435db2ab86c2fc5b4df61261465078e6a0ac3dcbb975c2af8c998886b9201e27fa76ef2d1c
+ languageName: node
+ linkType: hard
+
+"@mui/types@npm:^7.1.5":
+ version: 7.1.5
+ resolution: "@mui/types@npm:7.1.5"
+ peerDependencies:
+ "@types/react": "*"
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: ce866083bfaef7c2231077b7d5db3db20e2a9b17758e4337aeac12bbae2063ea15b95f8384661dd4f260c51e6dfb098a0f768bf26daaad91e7e1233f794191f0
+ languageName: node
+ linkType: hard
+
+"@mui/utils@npm:^5.4.1, @mui/utils@npm:^5.9.1":
+ version: 5.9.1
+ resolution: "@mui/utils@npm:5.9.1"
+ dependencies:
+ "@babel/runtime": ^7.17.2
+ "@types/prop-types": ^15.7.5
+ "@types/react-is": ^16.7.1 || ^17.0.0
+ prop-types: ^15.8.1
+ react-is: ^18.2.0
+ peerDependencies:
+ react: ^17.0.0 || ^18.0.0
+ checksum: efd604249ab19a3203df0677ab6f2781de747dcd7d09097a32c20bee08a9b70a8f97834dc6e1e1cf49178b1cfd2a83c5ae030d0c2ec33d200d5ea2b509069bbb
+ languageName: node
+ linkType: hard
+
+"@mui/x-date-pickers@npm:^5.0.0-beta.3":
+ version: 5.0.0-beta.3
+ resolution: "@mui/x-date-pickers@npm:5.0.0-beta.3"
+ dependencies:
+ "@babel/runtime": ^7.18.6
+ "@date-io/core": ^2.14.0
+ "@date-io/date-fns": ^2.14.0
+ "@date-io/dayjs": ^2.14.0
+ "@date-io/luxon": ^2.14.0
+ "@date-io/moment": ^2.14.0
+ "@mui/utils": ^5.4.1
+ "@types/react-transition-group": ^4.4.5
+ clsx: ^1.2.1
+ prop-types: ^15.7.2
+ react-transition-group: ^4.4.2
+ rifm: ^0.12.1
+ peerDependencies:
+ "@emotion/react": ^11.9.0
+ "@emotion/styled": ^11.8.1
+ "@mui/material": ^5.4.1
+ "@mui/system": ^5.4.1
+ date-fns: ^2.25.0
+ dayjs: ^1.10.7
+ luxon: ^1.28.0 || ^2.0.0 || ^3.0.0
+ moment: ^2.29.1
+ react: ^17.0.2 || ^18.0.0
+ peerDependenciesMeta:
+ "@emotion/react":
+ optional: true
+ "@emotion/styled":
+ optional: true
+ date-fns:
+ optional: true
+ dayjs:
+ optional: true
+ luxon:
+ optional: true
+ moment:
+ optional: true
+ checksum: 59ee61be98c9265cfcbace053d879a4d1a755583cc5bef16530d102db56029a825df577283c6977958a342b1f7354b17b3cb4ebc95ac4b4ba1cb9a6f808ab121
+ languageName: node
+ linkType: hard
+
+"@next/env@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/env@npm:12.2.3"
+ checksum: e96dcbea3fbb3d6b6a0799fe2e41c4929ded383659709f5bd00b6479b0711b89891b72fb28753b428933871d5fd91792fa54bc64a74a038c704b5862d40821ec
+ languageName: node
+ linkType: hard
+
+"@next/eslint-plugin-next@npm:^12.2.4":
+ version: 12.2.4
+ resolution: "@next/eslint-plugin-next@npm:12.2.4"
+ dependencies:
+ glob: 7.1.7
+ checksum: c8320cb62dd22070679996f8df9c34fd76fd76fbb2215f26df51c498b73a0cb9e1aeb55abb1cf9afcffcf3571115a0ac351dcce7d6636d4abd1be96516eb2cbb
+ languageName: node
+ linkType: hard
+
+"@next/swc-android-arm-eabi@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-android-arm-eabi@npm:12.2.3"
+ conditions: os=android & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@next/swc-android-arm64@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-android-arm64@npm:12.2.3"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@next/swc-darwin-arm64@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-darwin-arm64@npm:12.2.3"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@next/swc-darwin-x64@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-darwin-x64@npm:12.2.3"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@next/swc-freebsd-x64@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-freebsd-x64@npm:12.2.3"
+ conditions: os=freebsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@next/swc-linux-arm-gnueabihf@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-linux-arm-gnueabihf@npm:12.2.3"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@next/swc-linux-arm64-gnu@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-linux-arm64-gnu@npm:12.2.3"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@next/swc-linux-arm64-musl@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-linux-arm64-musl@npm:12.2.3"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@next/swc-linux-x64-gnu@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-linux-x64-gnu@npm:12.2.3"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@next/swc-linux-x64-musl@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-linux-x64-musl@npm:12.2.3"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@next/swc-win32-arm64-msvc@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-win32-arm64-msvc@npm:12.2.3"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@next/swc-win32-ia32-msvc@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-win32-ia32-msvc@npm:12.2.3"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@next/swc-win32-x64-msvc@npm:12.2.3":
+ version: 12.2.3
+ resolution: "@next/swc-win32-x64-msvc@npm:12.2.3"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
"@nodelib/fs.scandir@npm:2.1.5":
version: 2.1.5
resolution: "@nodelib/fs.scandir@npm:2.1.5"
@@ -93,31 +689,26 @@ __metadata:
languageName: node
linkType: hard
-"@tsconfig/node10@npm:^1.0.7":
- version: 1.0.8
- resolution: "@tsconfig/node10@npm:1.0.8"
- checksum: b8d5fffbc6b17ef64ef74f7fdbccee02a809a063ade785c3648dae59406bc207f70ea2c4296f92749b33019fa36a5ae716e42e49cc7f1bbf0fd147be0d6b970a
+"@popperjs/core@npm:^2.11.5":
+ version: 2.11.5
+ resolution: "@popperjs/core@npm:2.11.5"
+ checksum: fd7f9dca3fb716d7426332b6ee283f88d2724c0ab342fb678865a640bad403dfb9eeebd8204a406986162f7e2b33394f104320008b74d0e9066d7322f70ea35d
languageName: node
linkType: hard
-"@tsconfig/node12@npm:^1.0.7":
- version: 1.0.9
- resolution: "@tsconfig/node12@npm:1.0.9"
- checksum: a01b2400ab3582b86b589c6d31dcd0c0656f333adecde85d6d7d4086adb059808b82692380bb169546d189bf771ae21d02544a75b57bd6da4a5dd95f8567bec9
+"@swc/helpers@npm:0.4.3":
+ version: 0.4.3
+ resolution: "@swc/helpers@npm:0.4.3"
+ dependencies:
+ tslib: ^2.4.0
+ checksum: 5c2f173e950dd3929d84ae48b3586a274d5a874e7cf2013b3d8081e4f8c723fa3a4d4e63b263e84bb7f06431f87b640e91a12655410463c81a3dc2bbc15eceda
languageName: node
linkType: hard
-"@tsconfig/node14@npm:^1.0.0":
+"@tsconfig/strictest@npm:^1.0.1":
version: 1.0.1
- resolution: "@tsconfig/node14@npm:1.0.1"
- checksum: 976345e896c0f059867f94f8d0f6ddb8b1844fb62bf36b727de8a9a68f024857e5db97ed51d3325e23e0616a5e48c034ff51a8d595b3fe7e955f3587540489be
- languageName: node
- linkType: hard
-
-"@tsconfig/node16@npm:^1.0.2":
- version: 1.0.2
- resolution: "@tsconfig/node16@npm:1.0.2"
- checksum: ca94d3639714672bbfd55f03521d3f56bb6a25479bd425da81faf21f13e1e9d15f40f97377dedbbf477a5841c5b0c8f4cd1b391f33553d750b9202c54c2c07aa
+ resolution: "@tsconfig/strictest@npm:1.0.1"
+ checksum: 608399038a9d798de675c08d5c31c002b5e0c0734127a679b7dfa6d7cf2510295ba6c9d59a96efdec969ec3585cf164232d46fea09b7dc9fe6c5bd85333743c0
languageName: node
linkType: hard
@@ -142,6 +733,85 @@ __metadata:
languageName: node
linkType: hard
+"@types/parse-json@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "@types/parse-json@npm:4.0.0"
+ checksum: fd6bce2b674b6efc3db4c7c3d336bd70c90838e8439de639b909ce22f3720d21344f52427f1d9e57b265fcb7f6c018699b99e5e0c208a1a4823014269a6bf35b
+ languageName: node
+ linkType: hard
+
+"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.5":
+ version: 15.7.5
+ resolution: "@types/prop-types@npm:15.7.5"
+ checksum: 5b43b8b15415e1f298243165f1d44390403bb2bd42e662bca3b5b5633fdd39c938e91b7fce3a9483699db0f7a715d08cef220c121f723a634972fdf596aec980
+ languageName: node
+ linkType: hard
+
+"@types/react-dom@npm:^18.0.6":
+ version: 18.0.6
+ resolution: "@types/react-dom@npm:18.0.6"
+ dependencies:
+ "@types/react": "*"
+ checksum: db571047af1a567631758700b9f7d143e566df939cfe5fbf7535347cc0c726a1cdbb5e3f8566d076e54cf708b6c1166689de194a9ba09ee35efc9e1d45911685
+ languageName: node
+ linkType: hard
+
+"@types/react-is@npm:^16.7.1 || ^17.0.0":
+ version: 17.0.3
+ resolution: "@types/react-is@npm:17.0.3"
+ dependencies:
+ "@types/react": "*"
+ checksum: 6abb7c47d54f012272650df8a962a28bd82f219291e5ef8b4dfa7fe0bb98ae243b060bf9fbe8ceff6213141794855a006db194b490b00ffd15842ae19d0ce1f0
+ languageName: node
+ linkType: hard
+
+"@types/react-swipeable-views-utils@npm:^0.13.3":
+ version: 0.13.3
+ resolution: "@types/react-swipeable-views-utils@npm:0.13.3"
+ dependencies:
+ "@material-ui/types": ^4.0.0
+ "@types/react": "*"
+ "@types/react-swipeable-views": "*"
+ checksum: 6ac25780701839b8a9d8b3f9e6fb72a5baeab26d294f94ff8b5cb6a2dbeb80ffa39b06812e2603f3ece17aaff8e7249cae9e14f56e68f36d6b84871bc6480938
+ languageName: node
+ linkType: hard
+
+"@types/react-swipeable-views@npm:*, @types/react-swipeable-views@npm:^0.13.1":
+ version: 0.13.1
+ resolution: "@types/react-swipeable-views@npm:0.13.1"
+ dependencies:
+ "@types/react": "*"
+ checksum: 47908514a541d40c454b09c3eb47e6bbe55742c37e88181b412052297941191d08b1fc0ec176b6c886bb3f22a8d66aff9bdeb2c26496c6335a7579e9aea02302
+ languageName: node
+ linkType: hard
+
+"@types/react-transition-group@npm:^4.4.5":
+ version: 4.4.5
+ resolution: "@types/react-transition-group@npm:4.4.5"
+ dependencies:
+ "@types/react": "*"
+ checksum: 265f1c74061556708ffe8d15559e35c60d6c11478c9950d3735575d2c116ca69f461d85effa06d73a613eb8b73c84fd32682feb57cf7c5f9e4284021dbca25b0
+ languageName: node
+ linkType: hard
+
+"@types/react@npm:*, @types/react@npm:^18.0.15":
+ version: 18.0.15
+ resolution: "@types/react@npm:18.0.15"
+ dependencies:
+ "@types/prop-types": "*"
+ "@types/scheduler": "*"
+ csstype: ^3.0.2
+ checksum: e22cc388d1c145aa184787e44dc28db4789976c704cd5db475c170bb76a560eb81def5f346cfe750949bb3d43ad88822b8cbb9f19b1286e3795892a8263e7715
+ languageName: node
+ linkType: hard
+
+"@types/scheduler@npm:*":
+ version: 0.16.2
+ resolution: "@types/scheduler@npm:0.16.2"
+ checksum: b6b4dcfeae6deba2e06a70941860fb1435730576d3689225a421280b7742318d1548b3d22c1f66ab68e414f346a9542f29240bc955b6332c5b11e561077583bc
+ languageName: node
+ linkType: hard
+
"@typescript-eslint/eslint-plugin@npm:^5.17.0":
version: 5.23.0
resolution: "@typescript-eslint/eslint-plugin@npm:5.23.0"
@@ -268,14 +938,7 @@ __metadata:
languageName: node
linkType: hard
-"acorn-walk@npm:^8.1.1":
- version: 8.2.0
- resolution: "acorn-walk@npm:8.2.0"
- checksum: 1715e76c01dd7b2d4ca472f9c58968516a4899378a63ad5b6c2d668bba8da21a71976c14ec5f5b75f887b6317c4ae0b897ab141c831d741dc76024d8745f1ad1
- languageName: node
- linkType: hard
-
-"acorn@npm:^8.4.1, acorn@npm:^8.7.1":
+"acorn@npm:^8.7.1":
version: 8.7.1
resolution: "acorn@npm:8.7.1"
bin:
@@ -329,6 +992,15 @@ __metadata:
languageName: node
linkType: hard
+"ansi-styles@npm:^3.2.1":
+ version: 3.2.1
+ resolution: "ansi-styles@npm:3.2.1"
+ dependencies:
+ color-convert: ^1.9.0
+ checksum: d85ade01c10e5dd77b6c89f34ed7531da5830d2cb5882c645f330079975b716438cd7ebb81d0d6e6b4f9c577f19ae41ab55f07f19786b02f9dfd9e0377395665
+ languageName: node
+ linkType: hard
+
"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0":
version: 4.3.0
resolution: "ansi-styles@npm:4.3.0"
@@ -345,13 +1017,6 @@ __metadata:
languageName: node
linkType: hard
-"arg@npm:^4.1.0":
- version: 4.1.3
- resolution: "arg@npm:4.1.3"
- checksum: 544af8dd3f60546d3e4aff084d451b96961d2267d668670199692f8d054f0415d86fc5497d0e641e91546f0aa920e7c29e5250e99fc89f5552a34b5d93b77f43
- languageName: node
- linkType: hard
-
"argparse@npm:^2.0.1":
version: 2.0.1
resolution: "argparse@npm:2.0.1"
@@ -398,6 +1063,17 @@ __metadata:
languageName: node
linkType: hard
+"babel-plugin-macros@npm:^2.6.1":
+ version: 2.8.0
+ resolution: "babel-plugin-macros@npm:2.8.0"
+ dependencies:
+ "@babel/runtime": ^7.7.2
+ cosmiconfig: ^6.0.0
+ resolve: ^1.12.0
+ checksum: 59b09a21cf3ae1e14186c1b021917d004b49b953824b24953a54c6502da79e8051d4ac31cfd4a0ae7f6ea5ddf1f7edd93df4895dd3c3982a5b2431859c2889ac
+ languageName: node
+ linkType: hard
+
"balanced-match@npm:^1.0.0":
version: 1.0.2
resolution: "balanced-match@npm:1.0.2"
@@ -441,6 +1117,24 @@ __metadata:
languageName: node
linkType: hard
+"caniuse-lite@npm:^1.0.30001332":
+ version: 1.0.30001370
+ resolution: "caniuse-lite@npm:1.0.30001370"
+ checksum: 28e1fd4d623a52945220b189b703556178ec8a185d317e4ae2557a24f68f88bd8168db67700970164690dbf7d29df69efbd318b54457b335a4361314bb530792
+ languageName: node
+ linkType: hard
+
+"chalk@npm:^2.0.0":
+ version: 2.4.2
+ resolution: "chalk@npm:2.4.2"
+ dependencies:
+ ansi-styles: ^3.2.1
+ escape-string-regexp: ^1.0.5
+ supports-color: ^5.3.0
+ checksum: ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2
+ languageName: node
+ linkType: hard
+
"chalk@npm:^4.0.0":
version: 4.1.2
resolution: "chalk@npm:4.1.2"
@@ -487,6 +1181,22 @@ __metadata:
languageName: node
linkType: hard
+"clsx@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "clsx@npm:1.2.1"
+ checksum: 30befca8019b2eb7dbad38cff6266cf543091dae2825c856a62a8ccf2c3ab9c2907c4d12b288b73101196767f66812365400a227581484a05f968b0307cfaf12
+ languageName: node
+ linkType: hard
+
+"color-convert@npm:^1.9.0":
+ version: 1.9.3
+ resolution: "color-convert@npm:1.9.3"
+ dependencies:
+ color-name: 1.1.3
+ checksum: fd7a64a17cde98fb923b1dd05c5f2e6f7aefda1b60d67e8d449f9328b4e53b228a428fd38bfeaeb2db2ff6b6503a776a996150b80cdf224062af08a5c8a3a203
+ languageName: node
+ linkType: hard
+
"color-convert@npm:^2.0.1":
version: 2.0.1
resolution: "color-convert@npm:2.0.1"
@@ -496,6 +1206,13 @@ __metadata:
languageName: node
linkType: hard
+"color-name@npm:1.1.3":
+ version: 1.1.3
+ resolution: "color-name@npm:1.1.3"
+ checksum: 09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d
+ languageName: node
+ linkType: hard
+
"color-name@npm:~1.1.4":
version: 1.1.4
resolution: "color-name@npm:1.1.4"
@@ -524,10 +1241,25 @@ __metadata:
languageName: node
linkType: hard
-"create-require@npm:^1.1.0":
- version: 1.1.1
- resolution: "create-require@npm:1.1.1"
- checksum: a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff
+"convert-source-map@npm:^1.5.0":
+ version: 1.8.0
+ resolution: "convert-source-map@npm:1.8.0"
+ dependencies:
+ safe-buffer: ~5.1.1
+ checksum: 985d974a2d33e1a2543ada51c93e1ba2f73eaed608dc39f229afc78f71dcc4c8b7d7c684aa647e3c6a3a204027444d69e53e169ce94e8d1fa8d7dee80c9c8fed
+ languageName: node
+ linkType: hard
+
+"cosmiconfig@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "cosmiconfig@npm:6.0.0"
+ 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
+ checksum: 8eed7c854b91643ecb820767d0deb038b50780ecc3d53b0b19e03ed8aabed4ae77271198d1ae3d49c3b110867edf679f5faad924820a8d1774144a87cb6f98fc
languageName: node
linkType: hard
@@ -542,6 +1274,20 @@ __metadata:
languageName: node
linkType: hard
+"csstype@npm:^3.0.2, csstype@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "csstype@npm:3.1.0"
+ checksum: 644e986cefab86525f0b674a06889cfdbb1f117e5b7d1ce0fc55b0423ecc58807a1ea42ecc75c4f18999d14fc42d1d255f84662a45003a52bb5840e977eb2ffd
+ languageName: node
+ linkType: hard
+
+"date-fns@npm:^2.29.1":
+ version: 2.29.1
+ resolution: "date-fns@npm:2.29.1"
+ checksum: 9d07f77dffc1eb8c213391bde39f2963ffe7c0019d9edde14487882d627224f3a39b963e6e99d0cc58afff220a6a1a7e8864d2789958f4eaa77714de94d4d076
+ languageName: node
+ linkType: hard
+
"debug@npm:^2.6.9":
version: 2.6.9
resolution: "debug@npm:2.6.9"
@@ -589,13 +1335,6 @@ __metadata:
languageName: node
linkType: hard
-"diff@npm:^4.0.1":
- version: 4.0.2
- resolution: "diff@npm:4.0.2"
- checksum: f2c09b0ce4e6b301c221addd83bf3f454c0bc00caa3dd837cf6c127d6edf7223aa2bbe3b688feea110b7f262adbfc845b757c44c8a9f8c0c5b15d8fa9ce9d20d
- languageName: node
- linkType: hard
-
"dir-glob@npm:^3.0.1":
version: 3.0.1
resolution: "dir-glob@npm:3.0.1"
@@ -623,6 +1362,16 @@ __metadata:
languageName: node
linkType: hard
+"dom-helpers@npm:^5.0.1":
+ version: 5.2.1
+ resolution: "dom-helpers@npm:5.2.1"
+ dependencies:
+ "@babel/runtime": ^7.8.7
+ csstype: ^3.0.2
+ checksum: 863ba9e086f7093df3376b43e74ce4422571d404fc9828bf2c56140963d5edf0e56160f9b2f3bb61b282c07f8fc8134f023c98fd684bddcb12daf7b0f14d951c
+ languageName: node
+ linkType: hard
+
"eastasianwidth@npm:^0.2.0":
version: 0.2.0
resolution: "eastasianwidth@npm:0.2.0"
@@ -644,6 +1393,15 @@ __metadata:
languageName: node
linkType: hard
+"error-ex@npm:^1.3.1":
+ version: 1.3.2
+ resolution: "error-ex@npm:1.3.2"
+ dependencies:
+ is-arrayish: ^0.2.1
+ checksum: c1c2b8b65f9c91b0f9d75f0debaa7ec5b35c266c2cac5de412c1a6de86d4cbae04ae44e510378cb14d032d0645a36925d0186f8bb7367bcc629db256b743a001
+ languageName: node
+ linkType: hard
+
"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5":
version: 1.20.0
resolution: "es-abstract@npm:1.20.0"
@@ -695,6 +1453,13 @@ __metadata:
languageName: node
linkType: hard
+"escape-string-regexp@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "escape-string-regexp@npm:1.0.5"
+ checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410
+ languageName: node
+ linkType: hard
+
"escape-string-regexp@npm:^4.0.0":
version: 4.0.0
resolution: "escape-string-regexp@npm:4.0.0"
@@ -1012,6 +1777,13 @@ __metadata:
languageName: node
linkType: hard
+"find-root@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "find-root@npm:1.1.0"
+ checksum: b2a59fe4b6c932eef36c45a048ae8f93c85640212ebe8363164814990ee20f154197505965f3f4f102efc33bfb1cbc26fd17c4a2fc739ebc51b886b137cbefaf
+ languageName: node
+ linkType: hard
+
"find-up@npm:^2.1.0":
version: 2.1.0
resolution: "find-up@npm:2.1.0"
@@ -1124,6 +1896,20 @@ __metadata:
languageName: node
linkType: hard
+"glob@npm:7.1.7":
+ version: 7.1.7
+ resolution: "glob@npm:7.1.7"
+ dependencies:
+ fs.realpath: ^1.0.0
+ inflight: ^1.0.4
+ inherits: 2
+ minimatch: ^3.0.4
+ once: ^1.3.0
+ path-is-absolute: ^1.0.0
+ checksum: b61f48973bbdcf5159997b0874a2165db572b368b931135832599875919c237fc05c12984e38fe828e69aa8a921eb0e8a4997266211c517c9cfaae8a93988bb8
+ languageName: node
+ linkType: hard
+
"glob@npm:^7.1.3, glob@npm:^7.2.0":
version: 7.2.2
resolution: "glob@npm:7.2.2"
@@ -1168,6 +1954,13 @@ __metadata:
languageName: node
linkType: hard
+"has-flag@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "has-flag@npm:3.0.0"
+ checksum: 4a15638b454bf086c8148979aae044dd6e39d63904cd452d970374fa6a87623423da485dfb814e7be882e05c096a7ccf1ebd48e7e7501d0208d8384ff4dea73b
+ languageName: node
+ linkType: hard
+
"has-flag@npm:^4.0.0":
version: 4.0.0
resolution: "has-flag@npm:4.0.0"
@@ -1209,6 +2002,15 @@ __metadata:
languageName: node
linkType: hard
+"hoist-non-react-statics@npm:^3.3.1":
+ version: 3.3.2
+ resolution: "hoist-non-react-statics@npm:3.3.2"
+ dependencies:
+ react-is: ^16.7.0
+ checksum: b1538270429b13901ee586aa44f4cc3ecd8831c061d06cb8322e50ea17b3f5ce4d0e2e66394761e6c8e152cd8c34fb3b4b690116c6ce2bd45b18c746516cb9e8
+ languageName: node
+ linkType: hard
+
"human-signals@npm:^2.1.0":
version: 2.1.0
resolution: "human-signals@npm:2.1.0"
@@ -1239,7 +2041,7 @@ __metadata:
languageName: node
linkType: hard
-"import-fresh@npm:^3.0.0, import-fresh@npm:^3.2.1":
+"import-fresh@npm:^3.0.0, import-fresh@npm:^3.1.0, import-fresh@npm:^3.2.1":
version: 3.3.0
resolution: "import-fresh@npm:3.3.0"
dependencies:
@@ -1291,6 +2093,13 @@ __metadata:
languageName: node
linkType: hard
+"is-arrayish@npm:^0.2.1":
+ version: 0.2.1
+ resolution: "is-arrayish@npm:0.2.1"
+ checksum: eef4417e3c10e60e2c810b6084942b3ead455af16c4509959a27e490e7aee87cfb3f38e01bbde92220b528a0ee1a18d52b787e1458ee86174d8c7f0e58cd488f
+ languageName: node
+ linkType: hard
+
"is-bigint@npm:^1.0.1":
version: 1.0.4
resolution: "is-bigint@npm:1.0.4"
@@ -1317,7 +2126,7 @@ __metadata:
languageName: node
linkType: hard
-"is-core-module@npm:^2.8.1":
+"is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0":
version: 2.9.0
resolution: "is-core-module@npm:2.9.0"
dependencies:
@@ -1448,6 +2257,13 @@ __metadata:
languageName: node
linkType: hard
+"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "js-tokens@npm:4.0.0"
+ checksum: 8a95213a5a77deb6cbe94d86340e8d9ace2b93bc367790b260101d2f36a2eaf4e4e22d9fa9cf459b38af3a32fb4190e638024cf82ec95ef708680e405ea7cc78
+ languageName: node
+ linkType: hard
+
"js-yaml@npm:^4.1.0":
version: 4.1.0
resolution: "js-yaml@npm:4.1.0"
@@ -1466,6 +2282,13 @@ __metadata:
languageName: node
linkType: hard
+"json-parse-even-better-errors@npm:^2.3.0":
+ version: 2.3.1
+ resolution: "json-parse-even-better-errors@npm:2.3.1"
+ checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f
+ languageName: node
+ linkType: hard
+
"json-schema-traverse@npm:^0.4.1":
version: 0.4.1
resolution: "json-schema-traverse@npm:0.4.1"
@@ -1491,6 +2314,13 @@ __metadata:
languageName: node
linkType: hard
+"keycode@npm:^2.1.7":
+ version: 2.2.1
+ resolution: "keycode@npm:2.2.1"
+ checksum: 7a5c775b2410a3b6d9c07a415ecb70639187a965be239d2c11c71079cb1ca2f9dede94b86426f3ece475dc8ae3debf2367531bbcafc0af8c82f157d9a4f7e6cb
+ languageName: node
+ linkType: hard
+
"levn@npm:^0.4.1":
version: 0.4.1
resolution: "levn@npm:0.4.1"
@@ -1508,6 +2338,13 @@ __metadata:
languageName: node
linkType: hard
+"lines-and-columns@npm:^1.1.6":
+ version: 1.2.4
+ resolution: "lines-and-columns@npm:1.2.4"
+ checksum: 0c37f9f7fa212b38912b7145e1cd16a5f3cd34d782441c3e6ca653485d326f58b3caccda66efce1c5812bde4961bbde3374fae4b0d11bf1226152337f3894aa5
+ languageName: node
+ linkType: hard
+
"lint-staged@npm:^12.3.7":
version: 12.4.1
resolution: "lint-staged@npm:12.4.1"
@@ -1582,6 +2419,17 @@ __metadata:
languageName: node
linkType: hard
+"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "loose-envify@npm:1.4.0"
+ dependencies:
+ js-tokens: ^3.0.0 || ^4.0.0
+ bin:
+ loose-envify: cli.js
+ checksum: 6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4
+ languageName: node
+ linkType: hard
+
"lru-cache@npm:^6.0.0":
version: 6.0.0
resolution: "lru-cache@npm:6.0.0"
@@ -1591,13 +2439,6 @@ __metadata:
languageName: node
linkType: hard
-"make-error@npm:^1.1.1":
- version: 1.3.6
- resolution: "make-error@npm:1.3.6"
- checksum: b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402
- languageName: node
- linkType: hard
-
"merge-stream@npm:^2.0.0":
version: 2.0.0
resolution: "merge-stream@npm:2.0.0"
@@ -1666,6 +2507,15 @@ __metadata:
languageName: node
linkType: hard
+"nanoid@npm:^3.3.4":
+ version: 3.3.4
+ resolution: "nanoid@npm:3.3.4"
+ bin:
+ nanoid: bin/nanoid.cjs
+ checksum: 2fddd6dee994b7676f008d3ffa4ab16035a754f4bb586c61df5a22cf8c8c94017aadd360368f47d653829e0569a92b129979152ff97af23a558331e47e37cd9c
+ languageName: node
+ linkType: hard
+
"natural-compare@npm:^1.4.0":
version: 1.4.0
resolution: "natural-compare@npm:1.4.0"
@@ -1673,6 +2523,75 @@ __metadata:
languageName: node
linkType: hard
+"next@npm:^12.2.3":
+ version: 12.2.3
+ resolution: "next@npm:12.2.3"
+ dependencies:
+ "@next/env": 12.2.3
+ "@next/swc-android-arm-eabi": 12.2.3
+ "@next/swc-android-arm64": 12.2.3
+ "@next/swc-darwin-arm64": 12.2.3
+ "@next/swc-darwin-x64": 12.2.3
+ "@next/swc-freebsd-x64": 12.2.3
+ "@next/swc-linux-arm-gnueabihf": 12.2.3
+ "@next/swc-linux-arm64-gnu": 12.2.3
+ "@next/swc-linux-arm64-musl": 12.2.3
+ "@next/swc-linux-x64-gnu": 12.2.3
+ "@next/swc-linux-x64-musl": 12.2.3
+ "@next/swc-win32-arm64-msvc": 12.2.3
+ "@next/swc-win32-ia32-msvc": 12.2.3
+ "@next/swc-win32-x64-msvc": 12.2.3
+ "@swc/helpers": 0.4.3
+ caniuse-lite: ^1.0.30001332
+ postcss: 8.4.14
+ styled-jsx: 5.0.2
+ use-sync-external-store: 1.2.0
+ peerDependencies:
+ fibers: ">= 3.1.0"
+ node-sass: ^6.0.0 || ^7.0.0
+ react: ^17.0.2 || ^18.0.0-0
+ react-dom: ^17.0.2 || ^18.0.0-0
+ sass: ^1.3.0
+ dependenciesMeta:
+ "@next/swc-android-arm-eabi":
+ optional: true
+ "@next/swc-android-arm64":
+ optional: true
+ "@next/swc-darwin-arm64":
+ optional: true
+ "@next/swc-darwin-x64":
+ optional: true
+ "@next/swc-freebsd-x64":
+ optional: true
+ "@next/swc-linux-arm-gnueabihf":
+ optional: true
+ "@next/swc-linux-arm64-gnu":
+ optional: true
+ "@next/swc-linux-arm64-musl":
+ optional: true
+ "@next/swc-linux-x64-gnu":
+ optional: true
+ "@next/swc-linux-x64-musl":
+ optional: true
+ "@next/swc-win32-arm64-msvc":
+ optional: true
+ "@next/swc-win32-ia32-msvc":
+ optional: true
+ "@next/swc-win32-x64-msvc":
+ optional: true
+ peerDependenciesMeta:
+ fibers:
+ optional: true
+ node-sass:
+ optional: true
+ sass:
+ optional: true
+ bin:
+ next: dist/bin/next
+ checksum: b13b42fbb327adca51abeef68aca4b31c82297f07eb3a12d31a3bf2c1aa9ca34cf1ab41bc2b9f4d3162623e70a1ddf230da39fd3ce241b1eea113a4a010a11fd
+ languageName: node
+ linkType: hard
+
"normalize-path@npm:^3.0.0":
version: 3.0.0
resolution: "normalize-path@npm:3.0.0"
@@ -1689,6 +2608,13 @@ __metadata:
languageName: node
linkType: hard
+"object-assign@npm:^4.1.1":
+ version: 4.1.1
+ resolution: "object-assign@npm:4.1.1"
+ checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f
+ languageName: node
+ linkType: hard
+
"object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0":
version: 1.12.0
resolution: "object-inspect@npm:1.12.0"
@@ -1801,6 +2727,18 @@ __metadata:
languageName: node
linkType: hard
+"parse-json@npm:^5.0.0":
+ version: 5.2.0
+ resolution: "parse-json@npm:5.2.0"
+ 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
+ checksum: 62085b17d64da57f40f6afc2ac1f4d95def18c4323577e1eced571db75d9ab59b297d1d10582920f84b15985cbfc6b6d450ccbf317644cfa176f3ed982ad87e2
+ languageName: node
+ linkType: hard
+
"path-exists@npm:^3.0.0":
version: 3.0.0
resolution: "path-exists@npm:3.0.0"
@@ -1836,6 +2774,13 @@ __metadata:
languageName: node
linkType: hard
+"picocolors@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "picocolors@npm:1.0.0"
+ checksum: a2e8092dd86c8396bdba9f2b5481032848525b3dc295ce9b57896f931e63fc16f79805144321f72976383fc249584672a75cc18d6777c6b757603f372f745981
+ languageName: node
+ linkType: hard
+
"picomatch@npm:^2.3.1":
version: 2.3.1
resolution: "picomatch@npm:2.3.1"
@@ -1852,6 +2797,17 @@ __metadata:
languageName: node
linkType: hard
+"postcss@npm:8.4.14":
+ version: 8.4.14
+ resolution: "postcss@npm:8.4.14"
+ dependencies:
+ nanoid: ^3.3.4
+ picocolors: ^1.0.0
+ source-map-js: ^1.0.2
+ checksum: fe58766ff32e4becf65a7d57678995cfd239df6deed2fe0557f038b47c94e4132e7e5f68b5aa820c13adfec32e523b693efaeb65798efb995ce49ccd83953816
+ languageName: node
+ linkType: hard
+
"prelude-ls@npm:^1.2.1":
version: 1.2.1
resolution: "prelude-ls@npm:1.2.1"
@@ -1868,6 +2824,17 @@ __metadata:
languageName: node
linkType: hard
+"prop-types@npm:^15.5.4, prop-types@npm:^15.6.0, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1":
+ version: 15.8.1
+ resolution: "prop-types@npm:15.8.1"
+ dependencies:
+ loose-envify: ^1.4.0
+ object-assign: ^4.1.1
+ react-is: ^16.13.1
+ checksum: c056d3f1c057cb7ff8344c645450e14f088a915d078dcda795041765047fa080d38e5d626560ccaac94a4e16e3aa15f3557c1a9a8d1174530955e992c675e459
+ languageName: node
+ linkType: hard
+
"punycode@npm:^2.1.0":
version: 2.1.1
resolution: "punycode@npm:2.1.1"
@@ -1882,6 +2849,122 @@ __metadata:
languageName: node
linkType: hard
+"react-dom@npm:^18.2.0":
+ version: 18.2.0
+ resolution: "react-dom@npm:18.2.0"
+ dependencies:
+ loose-envify: ^1.1.0
+ scheduler: ^0.23.0
+ peerDependencies:
+ react: ^18.2.0
+ checksum: 7d323310bea3a91be2965f9468d552f201b1c27891e45ddc2d6b8f717680c95a75ae0bc1e3f5cf41472446a2589a75aed4483aee8169287909fcd59ad149e8cc
+ languageName: node
+ linkType: hard
+
+"react-event-listener@npm:^0.6.0":
+ version: 0.6.6
+ resolution: "react-event-listener@npm:0.6.6"
+ dependencies:
+ "@babel/runtime": ^7.2.0
+ prop-types: ^15.6.0
+ warning: ^4.0.1
+ peerDependencies:
+ react: ^16.3.0
+ checksum: 0287e0ae8cbf0a4c03889ffc2b745f5494b3edea0f4667357d709f5646dd78c7289ce305b6f473ec6ac5789f8a937c86b7e543d0249f0bf787bccdb1eab7ecd0
+ languageName: node
+ linkType: hard
+
+"react-is@npm:^16.13.1, react-is@npm:^16.7.0":
+ version: 16.13.1
+ resolution: "react-is@npm:16.13.1"
+ checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f
+ languageName: node
+ linkType: hard
+
+"react-is@npm:^18.2.0":
+ version: 18.2.0
+ resolution: "react-is@npm:18.2.0"
+ checksum: e72d0ba81b5922759e4aff17e0252bd29988f9642ed817f56b25a3e217e13eea8a7f2322af99a06edb779da12d5d636e9fda473d620df9a3da0df2a74141d53e
+ languageName: node
+ linkType: hard
+
+"react-swipeable-views-core@npm:^0.14.0":
+ version: 0.14.0
+ resolution: "react-swipeable-views-core@npm:0.14.0"
+ dependencies:
+ "@babel/runtime": 7.0.0
+ warning: ^4.0.1
+ checksum: 7683bcb809b57d502603396d8560677105b5af1f4db3ecad6cef03a548ae45462af78156516f8fe2f32d36b1bbd295ed2aab49f0d967ac077b3bd902697bfb07
+ languageName: node
+ linkType: hard
+
+"react-swipeable-views-utils@npm:^0.14.0":
+ version: 0.14.0
+ resolution: "react-swipeable-views-utils@npm:0.14.0"
+ dependencies:
+ "@babel/runtime": 7.0.0
+ keycode: ^2.1.7
+ prop-types: ^15.6.0
+ react-event-listener: ^0.6.0
+ react-swipeable-views-core: ^0.14.0
+ shallow-equal: ^1.2.1
+ checksum: 560f3f1000254adfe7ba2c82c133dbd26404a3cfa05794e15eb090056c13f3494aa61f34e133d5e2c970a2eb797a0f55fd8a9bb3bbd85c78770c11912a26b9bb
+ languageName: node
+ linkType: hard
+
+"react-swipeable-views@npm:^0.14.0":
+ version: 0.14.0
+ resolution: "react-swipeable-views@npm:0.14.0"
+ dependencies:
+ "@babel/runtime": 7.0.0
+ prop-types: ^15.5.4
+ react-swipeable-views-core: ^0.14.0
+ react-swipeable-views-utils: ^0.14.0
+ warning: ^4.0.1
+ peerDependencies:
+ react: ^15.3.0 || ^16.0.0 || ^17.0.0
+ checksum: 477bcf2d6b88312cd74c069c23aff48983209ce74b8d10c0d6adabf00795735f55a9c12dc3f23e5d7168308959f18c178d486821abec02e8a562295eada3568b
+ languageName: node
+ linkType: hard
+
+"react-transition-group@npm:^4.4.2":
+ version: 4.4.2
+ resolution: "react-transition-group@npm:4.4.2"
+ 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"
+ checksum: b67bf5b3e86dbab72d658b9a52a3589e5960583ab28c7c66272427d8fe30d4c7de422d5046ae96bd2683cdf80cc3264b2516f5ce80cae1dbe6cf3ca6dda392c5
+ languageName: node
+ linkType: hard
+
+"react@npm:^18.2.0":
+ version: 18.2.0
+ resolution: "react@npm:18.2.0"
+ dependencies:
+ loose-envify: ^1.1.0
+ checksum: 88e38092da8839b830cda6feef2e8505dec8ace60579e46aa5490fc3dc9bba0bd50336507dc166f43e3afc1c42939c09fe33b25fae889d6f402721dcd78fca1b
+ languageName: node
+ linkType: hard
+
+"regenerator-runtime@npm:^0.12.0":
+ version: 0.12.1
+ resolution: "regenerator-runtime@npm:0.12.1"
+ checksum: 348c401336bcebe2be17fd4f24c5b0a1ed75bff3024dc817a69cdc776b48b98c7f6f3b98e1baa4220569440bb9215e1fff3dcb01c8aad3ff2ed3732e30d017bf
+ languageName: node
+ linkType: hard
+
+"regenerator-runtime@npm:^0.13.4":
+ version: 0.13.9
+ resolution: "regenerator-runtime@npm:0.13.9"
+ checksum: 65ed455fe5afd799e2897baf691ca21c2772e1a969d19bb0c4695757c2d96249eb74ee3553ea34a91062b2a676beedf630b4c1551cc6299afb937be1426ec55e
+ languageName: node
+ linkType: hard
+
"regexp.prototype.flags@npm:^1.4.1":
version: 1.4.3
resolution: "regexp.prototype.flags@npm:1.4.3"
@@ -1907,6 +2990,19 @@ __metadata:
languageName: node
linkType: hard
+"resolve@npm:^1.12.0":
+ version: 1.22.1
+ resolution: "resolve@npm:1.22.1"
+ dependencies:
+ is-core-module: ^2.9.0
+ path-parse: ^1.0.7
+ supports-preserve-symlinks-flag: ^1.0.0
+ bin:
+ resolve: bin/resolve
+ checksum: 07af5fc1e81aa1d866cbc9e9460fbb67318a10fa3c4deadc35c3ad8a898ee9a71a86a65e4755ac3195e0ea0cfbe201eb323ebe655ce90526fd61917313a34e4e
+ languageName: node
+ linkType: hard
+
"resolve@npm:^1.20.0, resolve@npm:^1.22.0":
version: 1.22.0
resolution: "resolve@npm:1.22.0"
@@ -1920,6 +3016,19 @@ __metadata:
languageName: node
linkType: hard
+"resolve@patch:resolve@^1.12.0#~builtin<compat/resolve>":
+ version: 1.22.1
+ resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=07638b"
+ dependencies:
+ is-core-module: ^2.9.0
+ path-parse: ^1.0.7
+ supports-preserve-symlinks-flag: ^1.0.0
+ bin:
+ resolve: bin/resolve
+ checksum: 5656f4d0bedcf8eb52685c1abdf8fbe73a1603bb1160a24d716e27a57f6cecbe2432ff9c89c2bd57542c3a7b9d14b1882b73bfe2e9d7849c9a4c0b8b39f02b8b
+ languageName: node
+ linkType: hard
+
"resolve@patch:resolve@^1.20.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.22.0#~builtin<compat/resolve>":
version: 1.22.0
resolution: "resolve@patch:resolve@npm%3A1.22.0#~builtin<compat/resolve>::version=1.22.0&hash=07638b"
@@ -1957,6 +3066,15 @@ __metadata:
languageName: node
linkType: hard
+"rifm@npm:^0.12.1":
+ version: 0.12.1
+ resolution: "rifm@npm:0.12.1"
+ peerDependencies:
+ react: ">=16.8"
+ checksum: 7f11621b6a14885bdee0b49c21174627272a5f683f74aaf8444570dae319f86de38d2af55c17e08af1ebb837bf956894971cceadeaca890e4c9cd1d46f02a385
+ languageName: node
+ linkType: hard
+
"rimraf@npm:^3.0.2":
version: 3.0.2
resolution: "rimraf@npm:3.0.2"
@@ -1986,6 +3104,22 @@ __metadata:
languageName: node
linkType: hard
+"safe-buffer@npm:~5.1.1":
+ version: 5.1.2
+ resolution: "safe-buffer@npm:5.1.2"
+ checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c
+ languageName: node
+ linkType: hard
+
+"scheduler@npm:^0.23.0":
+ version: 0.23.0
+ resolution: "scheduler@npm:0.23.0"
+ dependencies:
+ loose-envify: ^1.1.0
+ checksum: d79192eeaa12abef860c195ea45d37cbf2bbf5f66e3c4dcd16f54a7da53b17788a70d109ee3d3dde1a0fd50e6a8fc171f4300356c5aee4fc0171de526bf35f8a
+ languageName: node
+ linkType: hard
+
"semver@npm:^7.3.5":
version: 7.3.7
resolution: "semver@npm:7.3.7"
@@ -1997,6 +3131,13 @@ __metadata:
languageName: node
linkType: hard
+"shallow-equal@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "shallow-equal@npm:1.2.1"
+ checksum: 4f1645cc516e7754c4438db687e1da439a5f29a7dba2ba90c5f88e5708aeb17bc4355ba45cad805b0e95dc898e37d8bf6d77d854919c7512f89939986cff8cd1
+ languageName: node
+ linkType: hard
+
"shebang-command@npm:^2.0.0":
version: 2.0.0
resolution: "shebang-command@npm:2.0.0"
@@ -2070,6 +3211,20 @@ __metadata:
languageName: node
linkType: hard
+"source-map-js@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "source-map-js@npm:1.0.2"
+ checksum: c049a7fc4deb9a7e9b481ae3d424cc793cb4845daa690bc5a05d428bf41bf231ced49b4cf0c9e77f9d42fdb3d20d6187619fc586605f5eabe995a316da8d377c
+ languageName: node
+ linkType: hard
+
+"source-map@npm:^0.5.7":
+ version: 0.5.7
+ resolution: "source-map@npm:0.5.7"
+ checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d
+ languageName: node
+ linkType: hard
+
"string-argv@npm:^0.3.1":
version: 0.3.1
resolution: "string-argv@npm:0.3.1"
@@ -2160,6 +3315,36 @@ __metadata:
languageName: node
linkType: hard
+"styled-jsx@npm:5.0.2":
+ version: 5.0.2
+ resolution: "styled-jsx@npm:5.0.2"
+ peerDependencies:
+ react: ">= 16.8.0 || 17.x.x || ^18.0.0-0"
+ peerDependenciesMeta:
+ "@babel/core":
+ optional: true
+ babel-plugin-macros:
+ optional: true
+ checksum: 86d55819ebeabd283a574d2f44f7d3f8fa6b8c28fa41687ece161bf1e910e04965611618921d8f5cd33dc6dae1033b926a70421ae5ea045440a9861edc3e0d87
+ languageName: node
+ linkType: hard
+
+"stylis@npm:4.0.13":
+ version: 4.0.13
+ resolution: "stylis@npm:4.0.13"
+ checksum: 8ea7a87028b6383c6a982231c4b5b6150031ce028e0fdaf7b2ace82253d28a8af50cc5a9da8a421d3c7c4441592f393086e332795add672aa4a825f0fe3713a3
+ languageName: node
+ linkType: hard
+
+"supports-color@npm:^5.3.0":
+ version: 5.5.0
+ resolution: "supports-color@npm:5.5.0"
+ dependencies:
+ has-flag: ^3.0.0
+ checksum: 95f6f4ba5afdf92f495b5a912d4abee8dcba766ae719b975c56c084f5004845f6f5a5f7769f52d53f40e21952a6d87411bafe34af4a01e65f9926002e38e1dac
+ languageName: node
+ linkType: hard
+
"supports-color@npm:^7.1.0":
version: 7.2.0
resolution: "supports-color@npm:7.2.0"
@@ -2197,6 +3382,52 @@ __metadata:
languageName: node
linkType: hard
+"timetable-app@workspace:.":
+ version: 0.0.0-use.local
+ resolution: "timetable-app@workspace:."
+ dependencies:
+ "@date-io/date-fns": ^2.14.0
+ "@emotion/react": ^11.9.3
+ "@emotion/styled": ^11.9.3
+ "@js-temporal/polyfill": ^0.4.1
+ "@mui/icons-material": ^5.8.4
+ "@mui/material": ^5.9.2
+ "@mui/x-date-pickers": ^5.0.0-beta.3
+ "@next/eslint-plugin-next": ^12.2.4
+ "@tsconfig/strictest": ^1.0.1
+ "@types/node": ^17.0.33
+ "@types/react": ^18.0.15
+ "@types/react-dom": ^18.0.6
+ "@types/react-swipeable-views": ^0.13.1
+ "@types/react-swipeable-views-utils": ^0.13.3
+ "@typescript-eslint/eslint-plugin": ^5.17.0
+ "@typescript-eslint/parser": ^5.17.0
+ date-fns: ^2.29.1
+ eslint: ^8.12.0
+ eslint-config-prettier: ^8.5.0
+ eslint-import-resolver-typescript: ^2.7.0
+ eslint-plugin-import: ^2.25.4
+ eslint-plugin-unused-imports: ^2.0.0
+ husky: ^7.0.4
+ immutable: ^4.0.0
+ lint-staged: ^12.3.7
+ next: ^12.2.3
+ prettier: ^2.6.1
+ react: ^18.2.0
+ react-dom: ^18.2.0
+ react-swipeable-views: ^0.14.0
+ react-swipeable-views-utils: ^0.14.0
+ typescript: ^4.6.3
+ languageName: unknown
+ linkType: soft
+
+"to-fast-properties@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "to-fast-properties@npm:2.0.0"
+ checksum: be2de62fe58ead94e3e592680052683b1ec986c72d589e7b21e5697f8744cdbf48c266fa72f6c15932894c10187b5f54573a3bcf7da0bfd964d5caf23d436168
+ languageName: node
+ linkType: hard
+
"to-regex-range@npm:^5.0.1":
version: 5.0.1
resolution: "to-regex-range@npm:5.0.1"
@@ -2206,44 +3437,6 @@ __metadata:
languageName: node
linkType: hard
-"ts-node@npm:^10.7.0":
- version: 10.7.0
- resolution: "ts-node@npm:10.7.0"
- dependencies:
- "@cspotcode/source-map-support": 0.7.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.0
- yn: 3.1.1
- 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
- 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
- checksum: 2a379e43f7478d0b79e1e63af91fe222d83857727957df4bd3bdf3c0a884de5097b12feb9bbf530074526b8874c0338b0e6328cf334f3a5e2c49c71e837273f7
- languageName: node
- linkType: hard
-
"tsconfig-paths@npm:^3.14.1":
version: 3.14.1
resolution: "tsconfig-paths@npm:3.14.1"
@@ -2263,7 +3456,7 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^2.1.0, tslib@npm:^2.3.1":
+"tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0":
version: 2.4.0
resolution: "tslib@npm:2.4.0"
checksum: 8c4aa6a3c5a754bf76aefc38026134180c053b7bd2f81338cb5e5ebf96fefa0f417bff221592bf801077f5bf990562f6264fecbc42cd3309b33872cb6fc3b113
@@ -2304,28 +3497,6 @@ __metadata:
languageName: node
linkType: hard
-"typescript-template@workspace:.":
- version: 0.0.0-use.local
- resolution: "typescript-template@workspace:."
- dependencies:
- "@js-temporal/polyfill": ^0.4.1
- "@types/node": ^17.0.33
- "@typescript-eslint/eslint-plugin": ^5.17.0
- "@typescript-eslint/parser": ^5.17.0
- eslint: ^8.12.0
- eslint-config-prettier: ^8.5.0
- eslint-import-resolver-typescript: ^2.7.0
- eslint-plugin-import: ^2.25.4
- eslint-plugin-unused-imports: ^2.0.0
- husky: ^7.0.4
- immutable: ^4.0.0
- lint-staged: ^12.3.7
- prettier: ^2.6.1
- ts-node: ^10.7.0
- typescript: ^4.6.3
- languageName: unknown
- linkType: soft
-
"typescript@npm:^4.6.3":
version: 4.6.4
resolution: "typescript@npm:4.6.4"
@@ -2367,10 +3538,12 @@ __metadata:
languageName: node
linkType: hard
-"v8-compile-cache-lib@npm:^3.0.0":
- version: 3.0.1
- resolution: "v8-compile-cache-lib@npm:3.0.1"
- checksum: 78089ad549e21bcdbfca10c08850022b22024cdcc2da9b168bcf5a73a6ed7bf01a9cebb9eac28e03cd23a684d81e0502797e88f3ccd27a32aeab1cfc44c39da0
+"use-sync-external-store@npm:1.2.0":
+ version: 1.2.0
+ resolution: "use-sync-external-store@npm:1.2.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ checksum: 5c639e0f8da3521d605f59ce5be9e094ca772bd44a4ce7322b055a6f58eeed8dda3c94cabd90c7a41fb6fa852210092008afe48f7038792fd47501f33299116a
languageName: node
linkType: hard
@@ -2381,6 +3554,15 @@ __metadata:
languageName: node
linkType: hard
+"warning@npm:^4.0.1":
+ version: 4.0.3
+ resolution: "warning@npm:4.0.3"
+ dependencies:
+ loose-envify: ^1.0.0
+ checksum: 4f2cb6a9575e4faf71ddad9ad1ae7a00d0a75d24521c193fa464f30e6b04027bd97aa5d9546b0e13d3a150ab402eda216d59c1d0f2d6ca60124d96cd40dfa35c
+ languageName: node
+ linkType: hard
+
"which-boxed-primitive@npm:^1.0.2":
version: 1.0.2
resolution: "which-boxed-primitive@npm:1.0.2"
@@ -2448,16 +3630,9 @@ __metadata:
languageName: node
linkType: hard
-"yaml@npm:^1.10.2":
+"yaml@npm:^1.10.2, yaml@npm:^1.7.2":
version: 1.10.2
resolution: "yaml@npm:1.10.2"
checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f
languageName: node
linkType: hard
-
-"yn@npm:3.1.1":
- version: 3.1.1
- resolution: "yn@npm:3.1.1"
- checksum: 2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6
- languageName: node
- linkType: hard