@moneko/react 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.d.ts +3 -2
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/link.d.ts +4 -1
- package/lib/link.js.map +1 -1
- package/lib/merge.d.ts +2 -9
- package/lib/merge.js +1 -1
- package/lib/merge.js.map +1 -1
- package/lib/use-navgate.d.ts +3 -0
- package/lib/use-navgate.js.map +1 -1
- package/package.json +4 -9
- package/lib/normalize.css +0 -208
package/lib/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
export { default as
|
|
1
|
+
export * from 'react-router-dom';
|
|
2
|
+
export { default as LinkWithMenuId } from './link.js';
|
|
3
|
+
export { default as useNavigateWithMenuId } from './use-navgate.js';
|
package/lib/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{default as
|
|
1
|
+
export*from"react-router-dom";export{default as LinkWithMenuId}from"./link.js";export{default as useNavigateWithMenuId}from"./use-navgate.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { default as
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export * from 'react-router-dom';\nexport { default as LinkWithMenuId } from './link.js';\nexport { default as useNavigateWithMenuId } from './use-navgate.js';\n"],"names":["default","LinkWithMenuId","useNavigateWithMenuId"],"mappings":"AAAA,WAAc,kBAAmB,AACjC,QAASA,WAAWC,cAAc,KAAQ,WAAY,AACtD,QAASD,WAAWE,qBAAqB,KAAQ,kBAAmB"}
|
package/lib/link.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { type FC } from 'react';
|
|
2
2
|
import { type LinkProps as ReactRouterLinkProps, type To } from 'react-router-dom';
|
|
3
3
|
export interface LinkProps extends Omit<ReactRouterLinkProps, 'to'> {
|
|
4
|
-
/**
|
|
4
|
+
/** 保留字 */
|
|
5
5
|
reserved?: string | string[];
|
|
6
6
|
to: To | -1;
|
|
7
7
|
}
|
|
8
|
+
/** 跳转时继承部分query参数
|
|
9
|
+
* @default {string[]} ['menuId', 'dynamicTitle']
|
|
10
|
+
*/
|
|
8
11
|
declare const Link: FC<LinkProps>;
|
|
9
12
|
export default Link;
|
package/lib/link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/link.tsx"],"sourcesContent":["import React, { type FC, useMemo } from 'react';\nimport {\n Link as ReactRouterLink,\n type LinkProps as ReactRouterLinkProps,\n type To,\n useSearchParams,\n} from 'react-router-dom';\n\nexport interface LinkProps extends Omit<ReactRouterLinkProps, 'to'> {\n /**
|
|
1
|
+
{"version":3,"sources":["../src/link.tsx"],"sourcesContent":["import React, { type FC, useMemo } from 'react';\nimport {\n Link as ReactRouterLink,\n type LinkProps as ReactRouterLinkProps,\n type To,\n useSearchParams,\n} from 'react-router-dom';\n\nexport interface LinkProps extends Omit<ReactRouterLinkProps, 'to'> {\n /** 保留字 */\n reserved?: string | string[];\n to: To | -1;\n}\n\n/** 跳转时继承部分query参数\n * @default {string[]} ['menuId', 'dynamicTitle'] \n */\nconst Link: FC<LinkProps> = ({ reserved, to, children, ...props }) => {\n const reservedWord = useMemo(() => {\n return ['menuId', 'dynamicTitle', ...(Array.isArray(reserved) ? reserved : [reserved])].filter(\n Boolean,\n );\n }, [reserved]);\n const [search] = useSearchParams();\n const toUrl = useMemo(() => {\n if (to === -1) {\n return -1;\n }\n /** 提取保留字属性 */\n const nextSearch: Record<string, string> = {};\n\n search.forEach((val, key) => {\n if (reservedWord.includes(key)) {\n nextSearch[key] = val;\n }\n });\n\n let entryUrl = to as string;\n const entrySearchIdx = entryUrl.indexOf('?');\n\n if (entrySearchIdx !== -1) {\n const searchByToUrl = new URLSearchParams(entryUrl.slice(entrySearchIdx));\n\n searchByToUrl.forEach((val, key) => {\n nextSearch[key] = val;\n });\n entryUrl = entryUrl.substring(0, entrySearchIdx);\n }\n const searchString = new URLSearchParams(nextSearch).toString();\n\n return searchString?.trim().length ? [entryUrl, searchString].join('?') : entryUrl;\n }, [reservedWord, search, to]);\n\n return (\n <ReactRouterLink {...props} to={toUrl as To}>\n {children}\n </ReactRouterLink>\n );\n};\n\nexport default Link;\n"],"names":["useMemo","Link","ReactRouterLink","useSearchParams","reserved","to","children","props","reservedWord","Array","isArray","filter","Boolean","search","toUrl","nextSearch","forEach","val","key","includes","entryUrl","entrySearchIdx","indexOf","searchByToUrl","URLSearchParams","slice","substring","searchString","toString","trim","length","join"],"mappings":"uCAAA,QAAyBA,WAAAA,CAAO,KAAQ,OAAQ,AAChD,QACEC,QAAQC,CAAe,CAGvBC,mBAAAA,CAAe,KACV,kBAAmB,AAsD1B,eA3C4B,CAAA,CAAC,CAAEC,SAAAA,CAAQ,CAAEC,GAAAA,CAAE,CAAEC,SAAAA,CAAQ,CAAE,GAAGC,EAAO,IAC/D,IAAMC,EAAeR,EAAQ,IACpB,CAAC,SAAU,kBAAoBS,MAAMC,QAAQN,GAAYA,EAAW,CAACA,EAAS,CAAE,CAACO,OACtFC,SAED,CAACR,EAAS,EACP,CAACS,EAAO,CAAGV,IACXW,EAAQd,EAAQ,KACpB,GAAIK,AAAO,KAAPA,EACF,OAAO,GAGT,IAAMU,EAAqC,CAAC,EAE5CF,EAAOG,QAAQ,CAACC,EAAKC,KACfV,EAAaW,SAASD,IACxBH,CAAAA,CAAU,CAACG,EAAI,CAAGD,CAAE,CAExB,GAEA,IAAIG,EAAWf,EACTgB,EAAiBD,EAASE,QAAQ,KAExC,GAAID,AAAmB,KAAnBA,EAAuB,CACzB,IAAME,EAAgB,IAAIC,gBAAgBJ,EAASK,MAAMJ,IAEzDE,EAAcP,QAAQ,CAACC,EAAKC,KAC1BH,CAAU,CAACG,EAAI,CAAGD,CACpB,GACAG,EAAWA,EAASM,UAAU,EAAGL,EACnC,CACA,IAAMM,EAAe,IAAIH,gBAAgBT,GAAYa,WAErD,OAAOD,GAAcE,OAAOC,OAAS,CAACV,EAAUO,EAAa,CAACI,KAAK,KAAOX,CAC5E,EAAG,CAACZ,EAAcK,EAAQR,EAAG,EAE7B,OACE,EAACH,GAAiB,GAAGK,CAAK,CAAEF,GAAIS,WAC7BR,GAGP,CAAA,CAEoB"}
|
package/lib/merge.d.ts
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
type
|
|
2
|
-
|
|
3
|
-
meta?: object;
|
|
4
|
-
element?: any;
|
|
5
|
-
path: string;
|
|
6
|
-
};
|
|
7
|
-
declare function merge<T extends Prefix>(route: T[], key: keyof T): ({
|
|
8
|
-
key: string;
|
|
9
|
-
} & T)[] | undefined;
|
|
1
|
+
import type { RouteConfig } from '@app/routes';
|
|
2
|
+
declare function merge<T extends RouteConfig>(route: T[], key: keyof T): T[] | undefined;
|
|
10
3
|
export default merge;
|
package/lib/merge.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export default function e(n,r){if(!n.length)return;let t=[];return n.forEach(n=>{let i=t.findIndex(e=>e[r]==n[r]);if(i>-1){let l=[...t[i].children||[],...n.children||[]];t[i]=Object.assign(n,t[i],t[i].meta&&{meta:{...t[i].meta,...n.meta}}),l.length&&(t[i].children=e(l,r))}else t.push(Object.assign(n,Array.isArray(n.children)&&{children:e(n.children,r)}))}),t};
|
|
2
2
|
//# sourceMappingURL=merge.js.map
|
package/lib/merge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/merge.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../src/merge.ts"],"sourcesContent":["import type { RouteConfig } from '@app/routes';\n\nfunction merge<T extends RouteConfig>(route: T[], key: keyof T) {\n if (!route.length) return void 0;\n const arr: T[] = [];\n\n route.forEach((e) => {\n const idx = arr.findIndex((i) => i[key] == e[key]);\n\n if (idx > -1) {\n const ctree: T[] = [...(arr[idx].children || []), ...(e.children || [])] as T[];\n\n arr[idx] = Object.assign(\n e,\n arr[idx],\n arr[idx].meta && {\n meta: {\n ...arr[idx].meta,\n ...e.meta,\n },\n },\n );\n if (ctree.length) {\n arr[idx].children = merge(ctree, key);\n }\n } else {\n arr.push(\n Object.assign(\n e,\n Array.isArray(e.children) && {\n children: merge(e.children as T[], key),\n },\n ),\n );\n }\n });\n\n return arr;\n}\n\nexport default merge;\n"],"names":["merge","route","key","length","arr","forEach","e","idx","findIndex","i","ctree","children","Object","assign","meta","push","Array","isArray"],"mappings":"AAwCA,eAtCA,SAASA,EAA6BC,CAAU,CAAEC,CAAY,EAC5D,GAAI,CAACD,EAAME,OAAQ,OACnB,IAAMC,EAAW,EAAE,CAiCnB,OA/BAH,EAAMI,QAAQ,AAACC,IACb,IAAMC,EAAMH,EAAII,UAAU,AAACC,GAAMA,CAAC,CAACP,EAAI,EAAII,CAAC,CAACJ,EAAI,EAEjD,GAAIK,EAAM,GAAI,CACZ,IAAMG,EAAa,IAAKN,CAAG,CAACG,EAAI,CAACI,UAAY,EAAE,IAAOL,EAAEK,UAAY,EAAE,CAAE,AAExEP,CAAAA,CAAG,CAACG,EAAI,CAAGK,OAAOC,OAChBP,EACAF,CAAG,CAACG,EAAI,CACRH,CAAG,CAACG,EAAI,CAACO,MAAQ,CACfA,KAAM,CACJ,GAAGV,CAAG,CAACG,EAAI,CAACO,IAAI,CAChB,GAAGR,EAAEQ,IAAI,AACX,CACF,GAEEJ,EAAMP,QACRC,CAAAA,CAAG,CAACG,EAAI,CAACI,SAAWX,EAAMU,EAAOR,EAAG,CAExC,MACEE,EAAIW,KACFH,OAAOC,OACLP,EACAU,MAAMC,QAAQX,EAAEK,WAAa,CAC3BA,SAAUX,EAAMM,EAAEK,SAAiBT,EACrC,GAIR,GAEOE,CACT,CAEqB"}
|
package/lib/use-navgate.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { type NavigateOptions, type To } from 'react-router-dom';
|
|
2
|
+
/** 跳转时继承部分query参数
|
|
3
|
+
* @default {string[]} ['menuId', 'dynamicTitle']
|
|
4
|
+
*/
|
|
2
5
|
declare const useNavigate: (reserved?: string | string[]) => (to: To | -1, options?: NavigateOptions) => void;
|
|
3
6
|
export default useNavigate;
|
package/lib/use-navgate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/use-navgate.ts"],"sourcesContent":["import {\n type NavigateOptions,\n type To,\n useNavigate as useNavigateReactRouter,\n useSearchParams,\n} from 'react-router-dom';\n\nconst useNavigate = (\n /** search保留字 */\n reserved?: string | string[],\n) => {\n const reservedWord = Array.from(new Set(['menuId', 'dynamicTitle', ...(reserved || [])])).filter(\n Boolean,\n );\n const navigate = useNavigateReactRouter();\n const [search] = useSearchParams();\n\n const navigateTo = (to: To | -1, options?: NavigateOptions) => {\n if (to === -1) {\n navigate(-1);\n return;\n }\n /** 提取保留字属性 */\n const nextSearch: Record<string, string> = {};\n const urlParts = (to as string).split('?');\n const searchByToUrl = new URLSearchParams(urlParts[1] || '');\n\n for (const [key, val] of search) {\n if (reservedWord.includes(key)) {\n nextSearch[key] = val;\n }\n }\n for (const [key, val] of searchByToUrl) {\n if (reservedWord.includes(key)) {\n nextSearch[key] = val;\n }\n }\n\n const searchObj = new URLSearchParams(nextSearch);\n const searchString = searchObj.toString();\n const toUrl = searchString ? `${urlParts[0]}?${searchString}` : urlParts[0];\n\n navigate(toUrl, options);\n };\n\n return navigateTo;\n};\n\nexport default useNavigate;\n"],"names":["useNavigate","useNavigateReactRouter","useSearchParams","reserved","reservedWord","Array","from","Set","filter","Boolean","navigate","search","to","options","nextSearch","urlParts","split","searchByToUrl","URLSearchParams","key","val","includes","searchObj","searchString","toString","toUrl"],"mappings":"AAAA,OAGEA,eAAeC,CAAsB,CACrCC,mBAAAA,CAAe,KACV,kBAAmB,
|
|
1
|
+
{"version":3,"sources":["../src/use-navgate.ts"],"sourcesContent":["import {\n type NavigateOptions,\n type To,\n useNavigate as useNavigateReactRouter,\n useSearchParams,\n} from 'react-router-dom';\n\n/** 跳转时继承部分query参数\n * @default {string[]} ['menuId', 'dynamicTitle'] \n */\nconst useNavigate = (\n /** search保留字 */\n reserved?: string | string[],\n) => {\n const reservedWord = Array.from(new Set(['menuId', 'dynamicTitle', ...(reserved || [])])).filter(\n Boolean,\n );\n const navigate = useNavigateReactRouter();\n const [search] = useSearchParams();\n\n const navigateTo = (to: To | -1, options?: NavigateOptions) => {\n if (to === -1) {\n navigate(-1);\n return;\n }\n /** 提取保留字属性 */\n const nextSearch: Record<string, string> = {};\n const urlParts = (to as string).split('?');\n const searchByToUrl = new URLSearchParams(urlParts[1] || '');\n\n for (const [key, val] of search) {\n if (reservedWord.includes(key)) {\n nextSearch[key] = val;\n }\n }\n for (const [key, val] of searchByToUrl) {\n if (reservedWord.includes(key)) {\n nextSearch[key] = val;\n }\n }\n\n const searchObj = new URLSearchParams(nextSearch);\n const searchString = searchObj.toString();\n const toUrl = searchString ? `${urlParts[0]}?${searchString}` : urlParts[0];\n\n navigate(toUrl, options);\n };\n\n return navigateTo;\n};\n\nexport default useNavigate;\n"],"names":["useNavigate","useNavigateReactRouter","useSearchParams","reserved","reservedWord","Array","from","Set","filter","Boolean","navigate","search","to","options","nextSearch","urlParts","split","searchByToUrl","URLSearchParams","key","val","includes","searchObj","searchString","toString","toUrl"],"mappings":"AAAA,OAGEA,eAAeC,CAAsB,CACrCC,mBAAAA,CAAe,KACV,kBAAmB,AA8C1B,eAzCoB,CAAA,AAElBC,IAEA,IAAMC,EAAeC,MAAMC,KAAK,IAAIC,IAAI,CAAC,SAAU,kBAAoBJ,GAAY,EAAE,CAAE,GAAGK,OACxFC,SAEIC,EAAWT,IACX,CAACU,EAAO,CAAGT,IA8BjB,MA5BmB,CAACU,EAAaC,KAC/B,GAAID,AAAO,KAAPA,EAAW,CACbF,EAAS,IACT,MACF,CAEA,IAAMI,EAAqC,CAAC,EACtCC,EAAW,AAACH,EAAcI,MAAM,KAChCC,EAAgB,IAAIC,gBAAgBH,CAAQ,CAAC,EAAE,EAAI,IAEzD,IAAK,GAAM,CAACI,EAAKC,EAAI,GAAIT,EACnBP,EAAaiB,SAASF,IACxBL,CAAAA,CAAU,CAACK,EAAI,CAAGC,CAAE,EAGxB,IAAK,GAAM,CAACD,EAAKC,EAAI,GAAIH,EACnBb,EAAaiB,SAASF,IACxBL,CAAAA,CAAU,CAACK,EAAI,CAAGC,CAAE,EAIxB,IAAME,EAAY,IAAIJ,gBAAgBJ,GAChCS,EAAeD,EAAUE,WACzBC,EAAQF,EAAe,CAAC,EAAER,CAAQ,CAAC,EAAE,CAAC,CAAC,EAAEQ,EAAa,CAAC,CAAGR,CAAQ,CAAC,EAAE,CAE3EL,EAASe,EAAOZ,EAClB,CAGF,CAAA,CAE2B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moneko/react",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "react",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -11,26 +11,21 @@
|
|
|
11
11
|
"type": "module",
|
|
12
12
|
"license": "MIT",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@moneko/common": "1.2.0",
|
|
15
|
-
"@moneko/css": "1.0.5",
|
|
16
14
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.11",
|
|
17
|
-
"@types/react": "^18.2.16",
|
|
18
|
-
"@types/react-dom": "^18.2.7",
|
|
19
15
|
"@types/react-router-dom": "^5.3.3",
|
|
20
|
-
"react-activation": "0.12.4",
|
|
21
16
|
"react-refresh": "0.14.0",
|
|
22
17
|
"react-refresh-typescript": "2.0.9",
|
|
23
18
|
"react-router": "6.15.0",
|
|
24
19
|
"react-router-dom": "6.15.0",
|
|
25
|
-
"shared-store-object": "^1.0.8"
|
|
26
|
-
"eslint-plugin-react-hooks": "^4.6.0",
|
|
27
|
-
"eslint-plugin-react": "7.33.2"
|
|
20
|
+
"shared-store-object": "^1.0.8"
|
|
28
21
|
},
|
|
29
22
|
"devDependencies": {
|
|
30
23
|
"@swc/cli": "0.1.62",
|
|
31
24
|
"@swc/core": "1.3.62",
|
|
32
25
|
"@types/shelljs": "^0.8.12",
|
|
33
26
|
"@types/webpack-env": "1.18.1",
|
|
27
|
+
"@types/react": "^18.2.16",
|
|
28
|
+
"@types/react-dom": "^18.2.7",
|
|
34
29
|
"antd": "5.7.3",
|
|
35
30
|
"eslint-config-neko": "^1.1.1",
|
|
36
31
|
"react": "^18.2.0",
|
package/lib/normalize.css
DELETED
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
html,
|
|
2
|
-
body {
|
|
3
|
-
margin: 0;
|
|
4
|
-
padding: 0;
|
|
5
|
-
line-height: 1.8;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
input,
|
|
9
|
-
textarea {
|
|
10
|
-
caret-color: inherit;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
h1 {
|
|
14
|
-
margin: 0.67em 0;
|
|
15
|
-
font-size: 2em;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
hr {
|
|
19
|
-
overflow: visible;
|
|
20
|
-
block-size: 0;
|
|
21
|
-
box-sizing: content-box;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
pre {
|
|
25
|
-
font-size: 1em;
|
|
26
|
-
font-family: monospace;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
a {
|
|
30
|
-
text-decoration: none;
|
|
31
|
-
background-color: transparent;
|
|
32
|
-
cursor: pointer;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
abbr[title] {
|
|
36
|
-
border-block-end: none;
|
|
37
|
-
text-decoration: underline;
|
|
38
|
-
text-decoration: underline dotted;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
b,
|
|
42
|
-
strong {
|
|
43
|
-
font-weight: bolder;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
code,
|
|
47
|
-
kbd,
|
|
48
|
-
samp {
|
|
49
|
-
font-size: 1em;
|
|
50
|
-
font-family: monospace;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
small {
|
|
54
|
-
font-size: 80%;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
sub,
|
|
58
|
-
sup {
|
|
59
|
-
position: relative;
|
|
60
|
-
font-size: 75%;
|
|
61
|
-
line-height: 0;
|
|
62
|
-
vertical-align: baseline;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
sub {
|
|
66
|
-
inset-block-end: -0.25em;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
sup {
|
|
70
|
-
inset-block-start: -0.5em;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
img {
|
|
74
|
-
border-style: none;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
img,
|
|
78
|
-
button {
|
|
79
|
-
outline: 1px solid transparent;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
button,
|
|
83
|
-
input,
|
|
84
|
-
optgroup,
|
|
85
|
-
select,
|
|
86
|
-
textarea {
|
|
87
|
-
margin: 0;
|
|
88
|
-
font-size: 100%;
|
|
89
|
-
font-family: inherit;
|
|
90
|
-
line-height: 1.15;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
button,
|
|
94
|
-
input {
|
|
95
|
-
overflow: visible;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
button,
|
|
99
|
-
select {
|
|
100
|
-
text-transform: none;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
button,
|
|
104
|
-
[type='button'],
|
|
105
|
-
[type='reset'],
|
|
106
|
-
[type='submit'] {
|
|
107
|
-
appearance: button;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
button::-moz-focus-inner,
|
|
111
|
-
[type='button']::-moz-focus-inner,
|
|
112
|
-
[type='reset']::-moz-focus-inner,
|
|
113
|
-
[type='submit']::-moz-focus-inner {
|
|
114
|
-
border-style: none;
|
|
115
|
-
padding: 0;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
button:-moz-focusring,
|
|
119
|
-
[type='button']:-moz-focusring,
|
|
120
|
-
[type='reset']:-moz-focusring,
|
|
121
|
-
[type='submit']:-moz-focusring {
|
|
122
|
-
outline: 1px dotted var(--primary-outline);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
fieldset {
|
|
126
|
-
padding: 0.35em 0.75em 0.625em;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
legend {
|
|
130
|
-
display: table;
|
|
131
|
-
padding: 0;
|
|
132
|
-
max-inline-size: 100%;
|
|
133
|
-
white-space: normal;
|
|
134
|
-
color: inherit;
|
|
135
|
-
box-sizing: border-box;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
progress {
|
|
139
|
-
vertical-align: baseline;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
textarea {
|
|
143
|
-
overflow: auto;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
details {
|
|
147
|
-
display: block;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
summary {
|
|
151
|
-
display: list-item;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
template,
|
|
155
|
-
[hidden] {
|
|
156
|
-
display: none;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
[type='checkbox'],
|
|
160
|
-
[type='radio'] {
|
|
161
|
-
box-sizing: border-box;
|
|
162
|
-
padding: 0;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
[type='number']::-webkit-inner-spin-button,
|
|
166
|
-
[type='number']::-webkit-outer-spin-button {
|
|
167
|
-
block-size: auto;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
[type='search'] {
|
|
171
|
-
appearance: textfield;
|
|
172
|
-
outline-offset: -2px;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
[type='search']::-webkit-search-decoration {
|
|
176
|
-
appearance: none;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
::-webkit-file-upload-button {
|
|
180
|
-
appearance: button;
|
|
181
|
-
font: inherit;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
::-webkit-scrollbar {
|
|
185
|
-
inline-size: 5px;
|
|
186
|
-
block-size: 5px;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
::-webkit-scrollbar-track,
|
|
190
|
-
::-webkit-scrollbar-thumb {
|
|
191
|
-
background-color: transparent;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
:hover::-webkit-scrollbar-thumb {
|
|
195
|
-
background-color: var(--primary-selection);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
::-webkit-scrollbar-thumb:hover {
|
|
199
|
-
background-color: var(--primary-hover);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
::-webkit-scrollbar-thumb:active {
|
|
203
|
-
background-color: var(--primary-active);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
::-webkit-scrollbar-button {
|
|
207
|
-
display: none;
|
|
208
|
-
}
|