earthnut 0.2.3-alpha.0 → 0.2.3-alpha.2
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/209.mjs +10 -0
- package/209.mjs.map +1 -0
- package/README.md +21 -13
- package/client.mjs +10 -0
- package/components/ThemeContext/index.d.ts +11 -0
- package/components/ThemeContext/types.d.ts +26 -0
- package/components/button/button.d.ts +1 -2
- package/components/image/index.d.ts +1 -2
- package/components/image/types.d.ts +2 -1
- package/components/layout/content.d.ts +2 -2
- package/components/layout/footer.d.ts +2 -3
- package/components/layout/header.d.ts +2 -3
- package/components/layout/is-fragment.d.ts +9 -0
- package/components/layout/layout.d.ts +3 -4
- package/components/layout/{sideBar.d.ts → sidebar.d.ts} +3 -4
- package/components/layout/types.d.ts +10 -18
- package/components/marquee/MarqueeEle.d.ts +2 -2
- package/components/ripples/LazyRippleEle.d.ts +2 -11
- package/components/ripples/RipplesEle.d.ts +2 -3
- package/components/ripples/useOptionUpdate.d.ts +2 -1
- package/components/shared/EnLayoutContent/index.d.ts +19 -0
- package/components/shared/EnLayoutContent/types.d.ts +17 -0
- package/components/switch/SwitchContainer.d.ts +7 -0
- package/components/switch/SwitchContent.d.ts +10 -0
- package/components/switch/SwitchLabel.d.ts +9 -0
- package/components/switch/index.d.ts +14 -0
- package/customHooks/use-xcn/index.d.ts +1 -1
- package/customHooks/useAnimationFrame.d.ts +0 -9
- package/customHooks/useInputIsComposing.d.ts +5 -13
- package/customHooks/useRipples/index.d.ts +2 -1
- package/customHooks/useRipples/types.d.ts +2 -1
- package/customHooks/useRipples/use-lazy-ripple.d.ts +3 -2
- package/index.client.d.ts +20 -0
- package/index.d.ts +2 -14
- package/index.mjs +2 -8
- package/index.server.d.ts +8 -0
- package/layoutUtil.mjs +10 -0
- package/layoutUtil.mjs.map +1 -0
- package/package.json +28 -8
- package/server.mjs +8 -0
- package/server.mjs.map +1 -0
- package/storage/main-logic .d.ts +26 -0
- package/storage/storage-store.d.ts +14 -0
- package/styles/common.css +613 -109
- package/styles/common.scss +48 -2
- package/styles/reset.scss +2 -2
- package/styles/respond.scss +1 -1
- package/styles/root.scss +135 -17
- package/styles/vars-color.scss +247 -0
- package/utilities/cookie.d.ts +28 -0
- package/utilities/sys.d.ts +41 -0
- package/components/layout/EnLayoutContent.d.ts +0 -9
- package/components/layout/generate-class.d.ts +0 -8
- package/index.cjs +0 -9
- package/styles/vars.scss +0 -248
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layoutUtil.mjs","mappings":"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","sources":["webpack://earthnut/webpack/bootstrap","webpack://earthnut/./components/shared/EnLayoutContent/index.tsx","webpack://earthnut/webpack/runtime/define property getters","webpack://earthnut/webpack/runtime/hasOwnProperty shorthand"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","'use client';\nimport { styled, css } from 'styled-components';\nimport { EnLayoutContentProps } from './types';\n\n/** 创建带样式的组件 */\nexport const LayoutContentContainer = styled.main`\n grid-area: content;\n position: relative;\n`;\n/** 带样式的组件 */\nexport const LayoutFooterContent = styled.div`\n grid-area: footer;\n position: relative;\n height: var(--layout-footer-height);\n box-shadow: 0 -1px 13px 0px #0000001a;\n overflow: hidden;\n`;\n\n/** 带样式的头部 */\nexport const LayoutHeaderContainer = styled.nav`\n grid-area: header;\n position: sticky;\n top: 0px;\n left: 0px;\n z-index: 10;\n height: var(--layout-header-height);\n box-shadow: 0 4px 13px -3px #0000001a;\n overflow: hidden;\n`;\n\n/** 带样式的组件 */\nexport const LayoutSideBarContainer = styled.aside`\n position: sticky;\n left: 0;\n z-index: 8;\n grid-area: side;\n overflow-x: hidden;\n overflow-y: auto;\n`;\n\n/** 内容区域容器 */\nexport const LayoutContentWrapper = styled.div`\n position: relative;\n grid-area: content;\n overflow: auto;\n`;\n\n/** 元始的外壳 */\nexport const EnLayoutContent = styled.div<EnLayoutContentProps>`\n position: relative;\n top: 0px;\n height: var(--layout-self-height);\n width: var(--layout-self-width);\n overflow-x: hidden;\n overflow-y: auto;\n\n ${({ $headerNoSticky, $header, $layoutType, $content, $sidebar }) =>\n $headerNoSticky &&\n css`\n // 头部不粘连样式,头部区域设置\n & > .${$header} {\n position: relative;\n z-index: 2;\n }\n\n ${($layoutType === 'simple-all' || $layoutType === 'side-right-all') &&\n // 头部不粘连样式,内容区设置\n css`\n & > .${$content} > .${$sidebar} {\n top: 0;\n min-height: calc(\n var(--layout-height) - var (--layout-footer-height) - var(--layout-header-height)\n );\n max-height: var(--layout-height);\n }\n `}\n\n ${($layoutType === 'simple-no-footer' || $layoutType === 'side-right-no-footer') &&\n css`\n & > .${$sidebar} {\n top: 0;\n min-height: calc(var(--layout-height) - var(--layout-footer-height));\n max-height: var(--layout-height);\n }\n `}\n `}\n\n ${({ $layoutType, $content }) =>\n $layoutType === 'no-sidebar' &&\n css`\n & > .${$content} {\n min-height: calc(\n var(--layout-height) - var(--layout-header-height) - var(--layout-footer-height)\n );\n }\n `}\n\n // 侧边栏全屏样式\n ${({ $layoutType, $sidebar }) =>\n $layoutType === 'side-full' &&\n css`\n & > .${$sidebar} {\n top: 0;\n height: var(--layout-height);\n }\n `}\n\n // ------------------------------\n // --- 标准模式(全)与侧边栏右置(全)共用样式 ---\n // 标准模式(全)与侧边栏右置(全)\n ${({ $layoutType, $content, $sidebar }) =>\n ['simple-all', 'side-right-all'].includes($layoutType) &&\n css`\n // 子元素\n & > .${$content} {\n display: grid;\n grid-template-rows:\n calc(var(--layout-height) - var(--layout-header-height) - var(--layout-footer-height))\n auto;\n min-height: calc(\n var(--layout-height) - var(--layout-header-height) - var(--layout-footer-height)\n );\n\n // side bar 块保持粘连,且在 content height 不足时支撑页面\n & > .${$sidebar} {\n top: var(--layout-header-height);\n min-height: calc(\n var(--layout-height) - var(--layout-header-height) - var(--layout-footer-height)\n );\n max-height: calc(var(--layout-height) - var(--layout-header-height));\n }\n }\n `}\n\n // 标准模式(全) 侧边栏与内容区设置\n ${({ $layoutType, $content }) =>\n ['simple-all', 'simple-no-header'].includes($layoutType) &&\n css`\n & > .${$content} {\n grid-template-columns: var(--layout-side-bar-width) auto;\n grid-template-areas:\n 'side content'\n '. content';\n }\n `}\n // 侧边栏(全) 侧边栏与内容区设置\n ${({ $layoutType, $content }) =>\n ['side-right-all', 'side-right-no-header'].includes($layoutType) &&\n css`\n & > .${$content} {\n grid-template-columns: auto var(--layout-side-bar-width);\n grid-template-rows: 100% max-content;\n grid-template-areas:\n 'content side'\n 'content .';\n }\n `}\n\n // 侧边栏 (全) 左侧全屏\n // side bar 居左全尺寸\n // side bar 值由 en-layout-side-full 控制\n ${({ $layoutType }) =>\n ['side-full-all', 'side-right-full-all'].includes($layoutType) &&\n css`\n display: grid;\n grid-template-rows: var(--layout-header-height) auto var(--layout-footer-height);\n gap: 0px;\n `}\n \n // 标准的 side bar 居左全尺寸\n ${({ $layoutType }) =>\n $layoutType === 'side-full-all' &&\n css`\n grid-template-columns: var(--layout-side-bar-width) auto;\n grid-template-rows: 100% max-content;\n grid-template-areas:\n 'side header'\n 'side content'\n 'side footer';\n `}\n\n // side bar 居右全尺寸\n ${({ $layoutType }) =>\n $layoutType === 'side-right-full-all' &&\n css`\n grid-template-columns: auto var(--layout-side-bar-width);\n grid-template-rows: 100% max-content;\n grid-template-areas:\n 'header side'\n 'content side'\n 'footer side';\n `}\n \n // ------------------------------\n // --- 标准模式(无 header)与侧边栏在右侧的无头模式共用样式 ---\n // 标准的无头模式样式、侧边栏在右侧的无头模式样式\n ${({ $layoutType, $content, $sidebar }) =>\n ['simple-no-header', 'side-right-no-header'].includes($layoutType) &&\n css`\n & > .${$content} {\n display: grid;\n grid-template-rows: auto;\n // side bar 块的样式\n & > .${$sidebar} {\n top: 0;\n min-height: calc(var(--layout-height) - var(--layout-footer-height));\n max-height: var(--layout-height);\n }\n }\n `}\n \n // 侧边栏(无 header )全屏\n // side bar 居左全尺寸\n // side bar 值由 en-layout-side-full 控制\n ${({ $layoutType }) =>\n ['side-full-no-header', 'side-right-full-no-header'].includes($layoutType) &&\n css`\n display: grid;\n grid-template-rows: auto var(--layout-footer-height);\n gap: 0px;\n `}\n\n // 标准的 side bar 居左全尺寸\n ${({ $layoutType }) =>\n $layoutType === 'side-full-no-header' &&\n css`\n grid-template-columns: var(--layout-side-bar-width) auto;\n grid-template-rows: 100% max-content;\n grid-template-areas:\n 'side content'\n 'side footer';\n `}\n\n // side bar 居右全尺寸\n ${({ $layoutType }) =>\n $layoutType === 'side-right-full-no-header' &&\n css`\n grid-template-columns: auto var(--layout-side-bar-width);\n grid-template-rows: 100% max-content;\n grid-template-areas:\n 'content side'\n 'footer side';\n `}\n \n // ------------------------------\n // 标准模式(无 footer)与侧边栏右置(无 footer)共用样式\n // 没有 footer\n ${({ $layoutType, $sidebar }) =>\n ['simple-no-footer', 'side-right-no-footer'].includes($layoutType) &&\n css`\n display: grid;\n grid-template-rows: var(--layout-header-height) auto;\n min-height: calc(var(--layout-height) - var(--layout-header-height));\n gap: 0px;\n // side bar 块保持粘连,且在 content height 不足时支撑页面\n & > .${$sidebar} {\n top: var(--layout-header-height);\n height: calc(var(--layout-height) - var(--layout-header-height));\n }\n `}\n \n\n // 标准模式(无 footer) 侧边栏与内容区设置\n ${({ $layoutType }) =>\n $layoutType === 'simple-no-footer' &&\n css`\n grid-template-columns: var(--layout-side-bar-width) auto;\n grid-template-rows: 100% max-content;\n grid-template-areas:\n 'header header'\n 'side content'\n '. content';\n `}\n\n\n// 侧边栏在右侧的无 footer 模式样式\n ${({ $layoutType }) =>\n $layoutType === 'side-right-no-footer' &&\n css`\n grid-template-columns: auto var(--layout-side-bar-width);\n grid-template-rows: 100% max-content;\n grid-template-areas:\n 'header header'\n 'content side'\n 'content .';\n `}\n\n// 侧边栏 (全) 左侧全屏\n// side bar 居左全尺寸\n// side bar 值由 en-layout-side-full 控制\n${({ $layoutType, $main }) =>\n ['side-full-no-footer', 'side-right-full-no-footer'].includes($layoutType) &&\n css`\n display: grid;\n grid-template-rows: var(--layout-header-height) auto;\n gap: 0px;\n\n // content 块\n & > .${$main} {\n min-height: calc(var(--layout-height) - var (--layout-header-height));\n }\n `}\n\n// 标准的 side bar 居左全尺寸\n ${({ $layoutType }) =>\n $layoutType === 'side-full-no-footer' &&\n css`\n grid-template-columns: var(--layout-side-bar-width) auto;\n grid-template-rows: 100% max-content;\n grid-template-areas:\n 'side header'\n 'side content';\n `}\n\n\n // side bar 居右全尺寸\n ${({ $layoutType }) =>\n $layoutType === 'side-right-full-no-footer' &&\n css`\n grid-template-columns: auto var(--layout-side-bar-width);\n grid-template-rows: 100% max-content;\n grid-template-areas:\n 'header side'\n 'content side';\n `}\n \n // ------------------------------\n // --- 分割线 --- \n // 下面是仅头部、底部和侧边栏布局\n // 仅底部布局\n ${({ $layoutType }) =>\n $layoutType === 'only-footer' &&\n css`\n display: grid;\n grid-template-rows: auto var(--layout-footer-height);\n grid-template-columns: 1fr;\n gap: 0px;\n grid-template-areas: 'content' 'footer';\n `}\n\n // 仅头部布局\n ${({ $layoutType }) =>\n $layoutType === 'only-header' &&\n css`\n display: grid;\n grid-template-rows: var(--layout-header-height) auto;\n grid-template-columns: 1fr;\n gap: 0px;\n grid-template-areas: 'header' 'content';\n `}\n \n // 仅侧边布局\n// 标准的无头模式样式、侧边栏在右侧的无头模式样式\n// side bar 值由 en-layout-side-full 控制\n ${({ $layoutType }) =>\n [\n 'simple-only-side',\n 'side-right-only-side',\n 'side-full-only-side',\n 'side-right-full-only-side',\n ].includes($layoutType) &&\n css`\n display: grid;\n // 纵向空间占比设置\n grid-template-rows: 100%;\n // 横向空间占比设置\n grid-template-columns: var(--layout-side-bar-width) auto;\n grid-template-rows: 100% max-content;\n gap: 0px;\n grid-template-areas:\n 'side content'\n '. content';\n `}\n \n // 右侧侧边布局\n ${({ $layoutType }) =>\n ($layoutType === 'side-right-full-only-side' || $layoutType === 'side-right-only-side') &&\n css`\n grid-template-areas:\n 'content side'\n 'content .';\n grid-template-columns: auto var(--layout-side-bar-width);\n grid-template-rows: 100% max-content;\n `}\n`;\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))"],"names":["_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject0","_templateObject1","_templateObject10","_templateObject11","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","_templateObject19","_templateObject20","_templateObject21","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","__webpack_require__","_taggedTemplateLiteral","e","t","slice","Object","freeze","defineProperties","raw","value","d","exports","definition","key","o","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","LayoutContentContainer","styled","main","LayoutFooterContent","div","LayoutHeaderContainer","nav","LayoutSideBarContainer","aside","LayoutContentWrapper","EnLayoutContent","_ref","$headerNoSticky","$header","$layoutType","$content","$sidebar","css","_ref2","_ref3","_ref4","includes","_ref5","_ref6","_ref7","_ref8","_ref9","_ref0","_ref1","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","$main","_ref16","_ref17","_ref18","_ref19","_ref20","_ref21"],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"main": "index.cjs",
|
|
3
2
|
"module": "index.mjs",
|
|
4
3
|
"types": "index.d.ts",
|
|
5
4
|
"author": {
|
|
@@ -9,7 +8,7 @@
|
|
|
9
8
|
},
|
|
10
9
|
"type": "module",
|
|
11
10
|
"name": "earthnut",
|
|
12
|
-
"version": "0.2.3-alpha.
|
|
11
|
+
"version": "0.2.3-alpha.2",
|
|
13
12
|
"description": "earthnut 的 react ui",
|
|
14
13
|
"overrides": {
|
|
15
14
|
"css-loader": "6.11.0"
|
|
@@ -18,23 +17,43 @@
|
|
|
18
17
|
"a-element-inline-style": "^0.1.1",
|
|
19
18
|
"a-js-tools": "^1.0.12",
|
|
20
19
|
"a-type-of-js": "^1.0.7",
|
|
21
|
-
"
|
|
20
|
+
"babel-loader": "^10.0.0",
|
|
22
21
|
"xcn": "^0.1.3"
|
|
23
22
|
},
|
|
24
23
|
"files": [
|
|
25
24
|
"components",
|
|
26
25
|
"customHooks",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
26
|
+
"storage",
|
|
27
|
+
"styles",
|
|
28
|
+
"utilities",
|
|
29
|
+
"209.mjs",
|
|
30
|
+
"209.mjs.map",
|
|
31
|
+
"client.mjs",
|
|
32
|
+
"client.mja.map",
|
|
33
|
+
"index.client.d.ts",
|
|
29
34
|
"index.d.ts",
|
|
30
|
-
"
|
|
35
|
+
"index.mjs",
|
|
36
|
+
"index.server.d.ts",
|
|
37
|
+
"layoutUtil.mjs",
|
|
38
|
+
"layoutUtil.mjs.map",
|
|
39
|
+
"server.mjs",
|
|
40
|
+
"server.mjs.map",
|
|
41
|
+
"vendors.mjs",
|
|
42
|
+
"vendors.mjs.map"
|
|
31
43
|
],
|
|
32
44
|
"exports": {
|
|
33
45
|
".": {
|
|
34
46
|
"types": "./index.d.ts",
|
|
35
|
-
"require": "./index.cjs",
|
|
36
47
|
"import": "./index.mjs"
|
|
37
48
|
},
|
|
49
|
+
"./client": {
|
|
50
|
+
"types": "./index.client.d.ts",
|
|
51
|
+
"import": "./client.mjs"
|
|
52
|
+
},
|
|
53
|
+
"./server": {
|
|
54
|
+
"types": "./index.server.d.ts",
|
|
55
|
+
"import": "./server.mjs"
|
|
56
|
+
},
|
|
38
57
|
"./scss": "./styles/common.scss",
|
|
39
58
|
"./css": "./styles/common.css"
|
|
40
59
|
},
|
|
@@ -57,6 +76,7 @@
|
|
|
57
76
|
"license": "MIT",
|
|
58
77
|
"peerDependencies": {
|
|
59
78
|
"react": ">= 17",
|
|
60
|
-
"react-dom": ">= 17"
|
|
79
|
+
"react-dom": ">= 17",
|
|
80
|
+
"styled-components": ">= 6"
|
|
61
81
|
}
|
|
62
82
|
}
|
package/server.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license MIT
|
|
3
|
+
* earthnut@server.mjs
|
|
4
|
+
* Copyright (c) 2025 earthnut.dev
|
|
5
|
+
* 请在项目根参看详细许可证明
|
|
6
|
+
*/
|
|
7
|
+
import{xcn as e}from"xcn";import{EnLayoutContent as t,LayoutContentContainer as r,LayoutContentWrapper as n,LayoutFooterContent as a,LayoutHeaderContainer as o,LayoutSideBarContainer as l}from"./layoutUtil.mjs";import{Children as i,Fragment as u,cloneElement as c,forwardRef as s,isValidElement as f}from"react";import{isNumber as y,isString as p,isTrue as m}from"a-type-of-js";var h,v={363:(h,v,d)=>{function b(){return e.apply(void 0,arguments)}d.d(v,{wb:()=>W,Ht:()=>_,zE:()=>R,n5:()=>w,AX:()=>N,PE:()=>W,A1:()=>_,cZ:()=>R,KL:()=>w,nb:()=>N,lk:()=>b});var O=["className","children","height","noSticky"];function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},g.apply(null,arguments)}var w=s(function(t,r){var n=t.className,a=t.children,l=(t.height,t.noSticky,function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(t,O));return React.createElement(o,g({ref:r,className:e(["en-layout-header"],n)},l,{"data-earthnut-ui":"layout-header"}),a)});w.displayName="LayoutHeader";var j=["className","width","right","full"];function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},P.apply(null,arguments)}var N=s(function(t,r){var n=t.className,a=(t.width,t.right,t.full,function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(t,j));return React.createElement(l,P({className:e("en-layout-side",n),ref:r},a,{"data-earthnut-ui":"layout-side-bar"}))});N.displayName="LayoutSideBar";var E=["className"];function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},S.apply(null,arguments)}var _=s(function(t,n){var a=t.className,o=function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(t,E);return React.createElement(r,S({className:e("en-layout-main",a)},o,{"data-earthnut-ui":"layout-content"}))});_.displayName="LayoutContent";var x=["className","height"];function L(){return L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},L.apply(null,arguments)}var R=s(function(t,r){var n=t.className,o=(t.height,function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(t,x));return React.createElement(a,L({ref:r},o,{className:e("en-layout-footer",n),"data-earthnut-ui":"layout-footer"}))});function k(e){return y(e)||parseInt(e)===Number(e)?e+"px":e||0}R.displayName="LayoutFooter";var H=d(209);function $(e){return $="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},$(e)}var F=["className","children","style","width","height","classes"];function I(){return I=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},I.apply(null,arguments)}function A(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function C(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?A(Object(r),!0).forEach(function(t){B(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):A(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function B(e,t,r){return(t=function(e){var t=function(e){if("object"!=$(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=$(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==$(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function D(e){return y(e)?e>0&&e<=1?"".concat(100*e,"%"):e:/^0\.\d+$/.test(e)?"".concat(100*parseFloat(e),"%"):e}var W=s(function(r,a){var o,l,s,y,h=r.className,v=r.children,d=r.style,b=r.width,O=void 0===b?"100%":b,g=r.height,j=void 0===g?"100%":g,P=r.classes,E=function(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],-1===t.indexOf(r)&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}(r,F),S=i.count(v),x="simple",L=!1,$=!1,A=!1,B=!1,z=!1,K=150,T="2.8rem",X="2rem",Z=!1,q="en-layout-header",U="en-layout-content",G="en-layout-main",J="en-layout-sidebar",M="en-layout-footer";1===S&&i.forEach(v,function(e){var t;if(f(e)){var r,n=i.only(e);f(r=n)&&r.type===u&&(v=i.toArray(null==e||null===(t=e.props)||void 0===t?void 0:t.children))}}),O=D(O),j=D(j),(0,H.H)("Layout 执行渲染"),i.forEach(v,function(t){if(f(t))if($||t.type!==w)if(A||t.type!==N)if(B||t.type!==_)if(B||t.type!==W){if(!z&&t.type===R){var r=t;X=r.props.height||X,y=c(r,{className:e(M,r.props.className)}),z=!0}}else{var a=t;s=React.createElement(n,{"data-earthnut-ui":"layout-content",className:e(G,"en-layout-main")},a),B=!0}else s=c(t,{className:e(G,t.props.className)}),B=!0;else{var i=t,u=i.props;K=u.width||K,x=u.right&&u.full?"side-right-full":u.right?"side-right":u.full?"side-full":"simple",Z=m(u.full),l=c(i,{className:e(J,i.props.className)}),A=!0}else{var p,h=t,v=h.props;T=v.height||T,L=null!==(p=v.noSticky)&&void 0!==p&&p,o=c(h,{className:e(q,h.props.className)}),$=!0}});var Q=$&&A&&B&&z&&"".concat(x,"-all")||$&&B&&A&&"".concat(x,"-no-footer")||A&&B&&z&&"".concat(x,"-no-header")||$&&B&&z&&"no-sidebar"||B&&z&&"only-footer"||B&&$&&"only-header"||B&&A&&(Z=!0)&&"".concat(x,"-only-side")||"simple",V=C({layoutHeight:O,layoutWith:j,sideBarWidth:K,headerHeight:T,footerHeight:X},E.theme||{}),Y=/side.*full/.test(x);return React.createElement(t,I({ref:a,$headerNoSticky:L,$layoutType:Q,$header:q,$sidebar:J,$main:G,$content:U,$footer:M,className:e(Z&&"en-layout-side-full","en-layout-".concat(Q),h,P),style:C({"--layout-self-width":k(O),"--layout-self-height":k(j),"--layout-width":k(p(O)&&O.endsWith("%")?"100%":O),"--layout-height":k(p(j)&&j.endsWith("%")?"100%":j),"--layout-side-bar-width":k(K),"--layout-header-height":k(T),"--layout-footer-height":k(X)},d),theme:V},E,{"data-earthnut-ui":"layout"}),Y?React.createElement(React.Fragment,null,l,o,s,y):React.createElement(React.Fragment,null,o,z?React.createElement("div",{className:e(U),"data-earthnut-ui":"layout-with-foot-content"},l,s):React.createElement(React.Fragment,null,l,s),y))});W.displayName="Layout"}},d={};function b(e){var t=d[e];if(void 0!==t)return t.exports;var r=d[e]={exports:{}};return v[e](r,r.exports,b),r.exports}b.m=v,h=[],b.O=(e,t,r,n)=>{if(!t){var a=1/0;for(u=0;u<h.length;u++){for(var[t,r,n]=h[u],o=!0,l=0;l<t.length;l++)(!1&n||a>=n)&&Object.keys(b.O).every(e=>b.O[e](t[l]))?t.splice(l--,1):(o=!1,n<a&&(a=n));if(o){h.splice(u--,1);var i=r();void 0!==i&&(e=i)}}return e}n=n||0;for(var u=h.length;u>0&&h[u-1][2]>n;u--)h[u]=h[u-1];h[u]=[t,r,n]},b.d=(e,t)=>{for(var r in t)b.o(t,r)&&!b.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var O,g=b;export{g as __webpack_require__};O={750:0},b.C=e=>{var t,r,{__webpack_esm_ids__:n,__webpack_esm_modules__:a,__webpack_esm_runtime__:o}=e,l=0;for(t in a)b.o(a,t)&&(b.m[t]=a[t]);for(o&&o(b);l<n.length;l++)r=n[l],b.o(O,r)&&O[r]&&O[r][0](),O[n[l]]=0;b.O()},b.O.j=e=>0===O[e];import*as w from"./209.mjs";b.C(w);var j=b.O(void 0,[209],()=>b(363));const P=(j=b.O(j)).wb,N=j.Ht,E=j.zE,S=j.n5,_=j.AX,x=j.PE,L=j.A1,R=j.cZ,k=j.KL,H=j.nb,$=j.lk;export{P as EnLayout,N as EnLayoutContent,E as EnLayoutFooter,S as EnLayoutHeader,_ as EnLayoutSideBar,x as Layout,L as LayoutContent,R as LayoutFooter,k as LayoutHeader,H as LayoutSideBar,$ as _en};
|
|
8
|
+
//# sourceMappingURL=server.mjs.map
|
package/server.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.mjs","mappings":"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","sources":["webpack://earthnut/webpack/runtime/chunk loaded","webpack://earthnut/./customHooks/use-xcn/index.ts","webpack://earthnut/./components/layout/header.tsx","webpack://earthnut/./components/layout/sidebar.tsx","webpack://earthnut/./components/layout/content.tsx","webpack://earthnut/./components/layout/footer.tsx","webpack://earthnut/./components/layout/get-value.ts","webpack://earthnut/./components/layout/layout.tsx","webpack://earthnut/./components/layout/is-fragment.ts","webpack://earthnut/webpack/bootstrap","webpack://earthnut/webpack/runtime/define property getters","webpack://earthnut/webpack/runtime/hasOwnProperty shorthand","webpack://earthnut/webpack/runtime/export webpack runtime","webpack://earthnut/webpack/runtime/import chunk loading","webpack://earthnut/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/** 其实这并不是一个自定义钩子 */\nimport { EnTypeofClassNameItem, EnXcn, xcn } from 'xcn';\n\ntype EnClassName =\n | 'en-flex'\n | 'en-flex-row'\n | 'en-flex-row-reverse'\n | 'en-flex-column'\n | 'en-flex-column-reverse'\n | 'en-flex-wrap'\n | 'en-full-container'\n | 'en-inline-block'\n | 'en-padding-horizontal-4'\n | 'en-padding-horizontal-8'\n | 'en-padding-horizontal-12'\n | 'en-padding-horizontal-16'\n | 'en-padding-horizontal-20'\n | 'en-padding-horizontal-24'\n | 'en-padding-horizontal-28'\n | 'en-padding-horizontal-32'\n | 'en-padding-horizontal-36'\n | 'en-padding-horizontal-40'\n | 'en-padding-vertical-4'\n | 'en-padding-vertical-8'\n | 'en-padding-vertical-12'\n | 'en-padding-vertical-16'\n | 'en-padding-vertical-20'\n | 'en-padding-vertical-24'\n | 'en-padding-vertical-28'\n | 'en-padding-vertical-32'\n | 'en-padding-vertical-36'\n | 'en-padding-vertical-40'\n | 'en-padding-4'\n | 'en-padding-8'\n | 'en-padding-12'\n | 'en-padding-16'\n | 'en-padding-20'\n | 'en-padding-24'\n | 'en-padding-28'\n | 'en-padding-32'\n | 'en-padding-36'\n | 'en-padding-40'\n | 'en-margin-horizontal-4'\n | 'en-margin-horizontal-8'\n | 'en-margin-horizontal-12'\n | 'en-margin-horizontal-16'\n | 'en-margin-horizontal-20'\n | 'en-margin-horizontal-24'\n | 'en-margin-horizontal-28'\n | 'en-margin-horizontal-32'\n | 'en-margin-horizontal-36'\n | 'en-margin-horizontal-40'\n | 'en-margin-vertical-4'\n | 'en-margin-vertical-8'\n | 'en-margin-vertical-12'\n | 'en-margin-vertical-16'\n | 'en-margin-vertical-20'\n | 'en-margin-vertical-24'\n | 'en-margin-vertical-28'\n | 'en-margin-vertical-32'\n | 'en-margin-vertical-36'\n | 'en-margin-vertical-40'\n | 'en-margin-4'\n | 'en-margin-8'\n | 'en-margin-12'\n | 'en-margin-16'\n | 'en-margin-20'\n | 'en-margin-24'\n | 'en-margin-28'\n | 'en-margin-32'\n | 'en-margin-36'\n | 'en-margin-40'\n | 'en-box-shadow-light-red100'\n | 'en-box-shadow-light-red100'\n | 'en-box-shadow-light-red100'\n | 'en-box-shadow-light-red100'\n | 'en-box-shadow-light-red100'\n | 'en-box-shadow-light-red100'\n | 'en-box-shadow-light-red100'\n | 'en-box-shadow-light-red100'\n | 'en-box-shadow-light-red100'\n | 'en-box-shadow-light-red100'\n | 'en-box-shadow-light-red100'\n | 'en-border-radius-4'\n | 'en-border-radius-8'\n | 'en-border-radius-12'\n | 'en-border-radius-16'\n | 'en-border-radius-20'\n | 'en-border-radius-24'\n | 'en-border-radius-28'\n | 'en-border-radius-32'\n | 'en-border-radius-36'\n | 'en-border-radius-40'\n | 'en-center'\n | 'en-dust'\n | 'en-text-in-one-line'\n | 'en-text-in-one-line-hide'\n | 'en-text-in-two-line'\n | 'en-color-text'\n | 'en-bg-red'\n | 'en-float-left'\n | 'en-float'\n | 'en-float-right'\n | 'en-clear-float'\n | 'en-clear'\n | 'en-loading'\n | 'en-text-center'\n | 'en-text-right'\n | 'eb-text-small'\n | 'en-relative'\n | 'en-user-select-text'\n | 'en-cursor-pointer';\n\n/** 在 xcn 中使用 earthnut 样式类 */\nexport function _en<T extends EnClassName[]>(\n ...classNameList: T\n): EnXcn<{\n [K in keyof T]: EnTypeofClassNameItem<T[K]>;\n}> {\n return xcn(...classNameList);\n}\n","import { LayoutHeaderProps } from './types';\nimport { xcn } from 'xcn';\nimport { LayoutHeaderContainer } from 'components/shared/EnLayoutContent';\nimport { forwardRef } from 'react';\n\n/**\n *\n * layout header\n *\n * 布局头部\n *\n * @param className 自定义类名\n * @param height 高度\n * 缺省值为 2.8rem,当未在 `Layout` 中使用,该值不起作用\n * @param noSticky 是否取消悬挂粘连\n * 缺省值为 false\n * @param props 其他属性\n * @returns ReactElement\n */\nconst InternalValueH = forwardRef<\n HTMLDivElement,\n LayoutHeaderProps\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n>(({ className, children, height, noSticky, ...props }, ref) => {\n return (\n <LayoutHeaderContainer\n ref={ref}\n className={xcn(['en-layout-header'], className)}\n {...props}\n data-earthnut-ui=\"layout-header\"\n >\n {children}\n </LayoutHeaderContainer>\n );\n});\n\nInternalValueH.displayName = 'LayoutHeader';\n\nexport { InternalValueH };\n","import { LayoutSideBarProps } from './types';\nimport { xcn } from 'xcn';\nimport { LayoutSideBarContainer } from 'components/shared/EnLayoutContent';\nimport { forwardRef } from 'react';\n\n/**\n *\n * children side bar\n *\n * 侧边栏\n *\n *\n * @param children 子元素\n * @param ref 组件引用\n * @param props 组件属性\n * @param className 自定义类名\n * @param width 侧边栏的宽度\n * 缺省值为 `150px`\n * @param right 是否居右\n * 缺省值为 `false`\n * @param full 是否占用所有空间\n * 缺省值为 `false`\n * @returns `ReactElement`;\n *\n */\nconst InternalValueS = forwardRef<\n HTMLDivElement,\n LayoutSideBarProps\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n>(({ className, width = 150, right = false, full = false, ...props }, ref) => {\n return (\n <LayoutSideBarContainer\n className={xcn('en-layout-side', className)}\n ref={ref}\n {...props}\n data-earthnut-ui=\"layout-side-bar\"\n />\n );\n});\n\nInternalValueS.displayName = 'LayoutSideBar';\n\nexport { InternalValueS };\n","import { xcn } from 'xcn';\nimport { LayoutContentContainer } from 'components/shared/EnLayoutContent';\nimport { forwardRef, HTMLAttributes } from 'react';\n\n/**\n *\n * layout content\n *\n *\n * @param {string} className 布局的类名\n *\n */\nconst InternalValueC = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n return (\n <LayoutContentContainer\n // ref={ref}\n className={xcn('en-layout-main', className)}\n {...props}\n data-earthnut-ui=\"layout-content\"\n />\n );\n },\n);\n\nInternalValueC.displayName = 'LayoutContent';\n\nexport { InternalValueC };\n","import { LayoutFooterProps } from './types';\nimport { xcn } from 'xcn';\nimport { LayoutFooterContent } from 'components/shared/EnLayoutContent';\nimport { forwardRef } from 'react';\n\n/**\n *\n * layout footer\n *\n * 布局底部\n *\n * @param className 自定义类名\n * @param height 自定义高度\n * @param props 其他属性\n * @returns ReactElement\n *\n */\nconst InternalValueF = forwardRef<\n HTMLDivElement,\n LayoutFooterProps\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n>(({ className, height, ...props }, ref) => {\n return (\n <LayoutFooterContent\n ref={ref}\n {...props}\n className={xcn('en-layout-footer', className)}\n data-earthnut-ui=\"layout-footer\"\n />\n );\n});\n\nInternalValueF.displayName = 'LayoutFooter';\n\nexport { InternalValueF };\n","import { isNumber } from 'a-type-of-js';\n\n/**\n * 获取数值\n */\nexport function getValue(value: number | string) {\n if (isNumber(value) || parseInt(value) === Number(value)) return value + 'px';\n return value || 0;\n}\n","import { InternalValueH as LayoutHeader } from './header';\nimport { InternalValueS as LayoutSideBar } from './sidebar';\nimport { InternalValueC as LayoutContent } from './content';\nimport { InternalValueF as LayoutFooter } from './footer';\nimport {\n EnLayoutContentType,\n LayoutFooterProps,\n LayoutHeaderProps,\n LayoutProps,\n LayoutSideBarProps,\n LayoutTheme,\n} from './types';\nimport { xcn } from 'xcn';\nimport { isNumber, isString, isTrue } from 'a-type-of-js';\nimport { EnLayoutContent, LayoutContentWrapper } from 'components/shared/EnLayoutContent';\nimport { getValue } from './get-value';\nimport { Children, cloneElement, forwardRef, isValidElement, ReactElement } from 'react';\nimport { dog } from 'dog';\nimport { isFragment } from './is-fragment';\n\n/** 数值是否是需要转换的值 */\nfunction isDecimal(value: string | number) {\n if (isNumber(value)) return value > 0 && value <= 1 ? `${value * 100}%` : value;\n return /^0\\.\\d+$/.test(value) ? `${parseFloat(value) * 100}%` : value;\n}\n\n/**\n *\n * ## layout\n *\n * 布局组件,用于构建页面布局。\n *\n * ***为了照顾在 next.js 中的服务端组件中使用,在拥有 `side bar` 时 `Layout` 的 `height` 为百分比时会触发 side bar 滚动***\n *\n * @param {string} className 布局的类名\n * @param {CSSProperties} style 布局的样式\n * @param {string | number} width 布局的宽\n * @param {string | number} height 布局的高\n * @example\n *\n * ```jsx\n * <Layout>\n * <LayoutHeader> 头部 </LayoutHeader>\n * <LayoutSideBar> 侧边栏 </LayoutSideBar>\n * <LayoutContent> 内容区 </LayoutContent>\n * <LayoutFooter> 页脚 </LayoutFooter>\n * </Layout>\n *\n * ```\n *\n * 该组件仅接受 `LayoutHeader`、`LayoutSideBar`、`LayoutContent` 和 `LayoutFooter` 作为(直接)子组件。\n *\n * 可任意搭配使用,但不推荐使用无 `LayoutContent` 使用。\n *\n * 目前已知当 `Layout` 嵌套 `Layout` 时,需要设定内部 `Layout` 的 `width` 和 `height`。\n *\n * ```jsx\n * <Layout width=\"100%\" height=\"100%\">\n * <Layout width=\"100%\" height=\"100%\">\n * <LayoutSideBar width=\"150px\"> 侧边栏 </LayoutSideBar>\n * <LayoutContent> 内容区 </LayoutContent>\n * </Layout>\n * <LayoutFooter> 页脚 </LayoutFooter>\n * </Layout>\n * ```\n *\n *\n */\nconst Layout = forwardRef<HTMLDivElement, LayoutProps>(\n ({ className, children, style, width = '100%', height = '100%', classes, ...props }, ref) => {\n /** 子组件的个数 */\n const childCount = Children.count(children);\n /** 头部 header 是否粘连影响下的样式 */\n // console.log('子元素个数', childCount);\n /** 头部 header 组件 */\n let Header: ReactElement<LayoutHeaderProps> | undefined,\n /** 当前的样式 */\n layout: string = 'simple',\n headerNoSticky: boolean = false,\n /** 是否拥有头部(header) */\n hasHeader: boolean = false,\n /** 侧边栏组件 */\n Sidebar: ReactElement | undefined,\n /** 是否拥有侧边(side bar) */\n hasSideBar: boolean = false,\n /** 内容区,该内容区与 Content、SideBar 组成的 .content 不同 */\n Content: ReactElement | undefined,\n /** 是否拥有内容(Content) */\n hasContent: boolean = false,\n /** 页脚区(Footer) */\n Footer: ReactElement | undefined,\n /** 是否拥有页脚区 */\n hasFooter: boolean = false,\n /** 侧边的宽度,缺省值 `150(px)` */\n sideWidth: string | number = 150,\n /** 头部的高度,缺省值 `2.8rem` */\n headerHeight: string | number = '2.8rem',\n /** 页脚的高度,缺省值为 `2rem` */\n footerHeight: string | number = '2rem',\n /** 侧边是否占据所有尺寸(发生于 side bar 的 full 为 true 和仅有 side bar 时) */\n sideFull: boolean = false;\n /** 头字符串样式类 */\n const $header: string = 'en-layout-header',\n /** 内容字符串样式类 */\n $content: string = 'en-layout-content',\n /** 主区字符串样式类 */\n $main: string = 'en-layout-main',\n /** 侧边字符串样式类 */\n $sidebar: string = 'en-layout-sidebar',\n /** 页脚字符串样式类 */\n $footer: string = 'en-layout-footer';\n /** 由 Fragment 包裹的子元素完成解包 */\n if (childCount === 1) {\n Children.forEach(children, child => {\n if (!isValidElement(child)) return;\n /** 是否仅有一个元素 */\n const onlyOneElement = Children.only(child);\n if (isFragment(onlyOneElement))\n // eslint-disable-next-line jsdoc/check-tag-names\n /** @ts-expect-error: 已知晓其中厉害 */\n children = Children.toArray(child?.props?.children);\n });\n }\n\n // 转化可能是小数设置的宽度\n width = isDecimal(width);\n height = isDecimal(height);\n\n dog('Layout 执行渲染');\n /// 校验所有的子元素,并修改特定的 props\n Children.forEach(children, child => {\n /// 检测 child 是否是有效的 React 元素(避免非元素节点)\n if (!isValidElement(child)) return;\n // 如果没有头且当前的元素是头\n if (!hasHeader && child.type === LayoutHeader) {\n /** 组件 */\n const element = child as ReactElement<LayoutHeaderProps>;\n /** 头部组件的参数们 */\n const headerProps = element.props;\n headerHeight = headerProps.height || headerHeight;\n headerNoSticky = headerProps.noSticky ?? false;\n Header = cloneElement(element, { className: xcn($header, element.props.className) });\n hasHeader = true;\n }\n // 侧边栏\n else if (!hasSideBar && child.type === LayoutSideBar) {\n /** 组件 */\n const element = child as ReactElement<LayoutSideBarProps>;\n const sideBarProps = element.props;\n sideWidth = sideBarProps.width || sideWidth;\n layout =\n sideBarProps.right && sideBarProps.full\n ? 'side-right-full'\n : sideBarProps.right\n ? 'side-right'\n : sideBarProps.full\n ? 'side-full'\n : 'simple';\n sideFull = isTrue(sideBarProps.full);\n Sidebar = cloneElement(element, {\n className: xcn($sidebar, element.props.className),\n });\n hasSideBar = true;\n }\n /// 内容区\n else if (!hasContent && child.type === LayoutContent) {\n /** 组件 */\n const element = child as ReactElement<LayoutHeaderProps>;\n Content = cloneElement(element, {\n className: xcn($main, element.props.className),\n });\n hasContent = true;\n }\n /// 内容区,渲染的一个被嵌套的 Layout\n else if (!hasContent && child.type === Layout) {\n /** 组件 */\n const element = child as ReactElement<LayoutSideBarProps>;\n Content = (\n <LayoutContentWrapper\n data-earthnut-ui=\"layout-content\"\n className={xcn($main, 'en-layout-main')}\n >\n {element}\n </LayoutContentWrapper>\n );\n hasContent = true;\n } else if (!hasFooter && child.type === LayoutFooter) {\n /** 组件 */\n const element = child as ReactElement<LayoutFooterProps>;\n footerHeight = element.props.height || footerHeight;\n Footer = cloneElement(element, { className: xcn($footer, element.props.className) });\n hasFooter = true;\n }\n });\n /** 组件在子组件不同下的样式值 */\n const layoutType: EnLayoutContentType =\n (hasHeader && hasSideBar && hasContent && hasFooter && `${layout}-all`) ||\n (hasHeader && hasContent && hasSideBar && `${layout}-no-footer`) ||\n (hasSideBar && hasContent && hasFooter && `${layout}-no-header`) ||\n (hasHeader && hasContent && hasFooter && 'no-sidebar') ||\n (hasContent && hasFooter && 'only-footer') ||\n (hasContent && hasHeader && 'only-header') ||\n (hasContent && hasSideBar && (sideFull = true) && `${layout}-only-side`) ||\n 'simple';\n\n /** 构建主题对象 */\n const theme: LayoutTheme = {\n layoutHeight: width,\n layoutWith: height,\n sideBarWidth: sideWidth,\n headerHeight,\n footerHeight,\n ...(props.theme || {}), // 保留外部传入的主题\n };\n\n /** 确定布局结构 */\n const shouldUseSpecialLayout = /side.*full/.test(layout);\n return (\n <EnLayoutContent\n ref={ref}\n $headerNoSticky={headerNoSticky}\n $layoutType={layoutType}\n $header={$header}\n $sidebar={$sidebar}\n $main={$main}\n $content={$content}\n $footer={$footer}\n className={xcn(\n sideFull && 'en-layout-side-full',\n `en-layout-${layoutType}`,\n className,\n classes,\n )}\n style={{\n // eslint-disable-next-line jsdoc/check-tag-names\n /** @ts-expect-error: 自定义侧边栏的宽度 */\n '--layout-self-width': getValue(width),\n '--layout-self-height': getValue(height),\n '--layout-width': getValue(isString(width) && width.endsWith('%') ? '100%' : width),\n '--layout-height': getValue(isString(height) && height.endsWith('%') ? '100%' : height),\n '--layout-side-bar-width': getValue(sideWidth),\n '--layout-header-height': getValue(headerHeight),\n '--layout-footer-height': getValue(footerHeight),\n ...style,\n }}\n theme={theme}\n {...props}\n data-earthnut-ui=\"layout\"\n >\n {!shouldUseSpecialLayout ? (\n <>\n {Header}\n {hasFooter ? (\n <div className={xcn($content)} data-earthnut-ui=\"layout-with-foot-content\">\n {Sidebar}\n {Content}\n </div>\n ) : (\n <>\n {Sidebar}\n {Content}\n </>\n )}\n {Footer}\n </>\n ) : (\n // 特殊布局\n <>\n {Sidebar}\n {Header}\n {Content}\n {Footer}\n </>\n )}\n </EnLayoutContent>\n );\n },\n);\n\n// / 渲染名 Component definition is missing display name\nLayout.displayName = 'Layout';\n\nexport { Layout, LayoutHeader, LayoutSideBar, LayoutContent, LayoutFooter };\n","import { Fragment, isValidElement, ReactNode } from 'react';\n\n/** 判断是否为 Fragment 元素 */\nexport function isFragment(element: ReactNode) {\n return isValidElement(element) && element.type === Fragment;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var __webpack_require_temp__ = __webpack_require__;\nexport { __webpack_require_temp__ as __webpack_require__ };","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t750: 0\n};\n\nvar installChunk = (data) => {\n\tvar {__webpack_esm_ids__, __webpack_esm_modules__, __webpack_esm_runtime__} = data;\n\t// add \"modules\" to the modules object,\n\t// then flag all \"ids\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in __webpack_esm_modules__) {\n\t\tif(__webpack_require__.o(__webpack_esm_modules__, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = __webpack_esm_modules__[moduleId];\n\t\t}\n\t}\n\tif(__webpack_esm_runtime__) __webpack_esm_runtime__(__webpack_require__);\n\tfor(;i < __webpack_esm_ids__.length; i++) {\n\t\tchunkId = __webpack_esm_ids__[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[__webpack_esm_ids__[i]] = 0;\n\t}\n\t__webpack_require__.O();\n}\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n__webpack_require__.C = installChunk;\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n// no HMR\n\n// no HMR manifest","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [209], () => (__webpack_require__(363)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","_en","xcn","apply","arguments","InternalValueH","forwardRef","_ref","ref","className","children","props","height","noSticky","_objectWithoutProperties","_excluded","React","createElement","LayoutHeaderContainer","_extends","displayName","InternalValueS","width","right","full","LayoutSideBarContainer","InternalValueC","LayoutContentContainer","InternalValueF","LayoutFooterContent","getValue","value","isNumber","parseInt","Number","isDecimal","concat","test","parseFloat","Layout","Header","Sidebar","Content","Footer","style","_ref$width","_ref$height","classes","childCount","Children","count","layout","headerNoSticky","hasHeader","hasSideBar","hasContent","hasFooter","sideWidth","headerHeight","footerHeight","sideFull","$header","$content","$main","$sidebar","$footer","forEach","child","_child$props","isValidElement","element","onlyOneElement","only","type","Fragment","toArray","dog","LayoutHeader","LayoutSideBar","LayoutContent","LayoutFooter","cloneElement","LayoutContentWrapper","sideBarProps","isTrue","_headerProps$noSticky","headerProps","layoutType","theme","_objectSpread","layoutHeight","layoutWith","sideBarWidth","shouldUseSpecialLayout","EnLayoutContent","$headerNoSticky","$layoutType","isString","endsWith","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","d","definition","o","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","installedChunks","__webpack_require_temp__","C","data","chunkId","__webpack_esm_ids__","__webpack_esm_modules__","__webpack_esm_runtime__","__webpack_exports__"],"sourceRoot":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license MIT
|
|
3
|
+
* earthnut@storage/main-logic .d.ts
|
|
4
|
+
* Copyright (c) 2025 earthnut.dev
|
|
5
|
+
* 请在项目根参看详细许可证明
|
|
6
|
+
*/
|
|
7
|
+
declare function set(key: string, value: unknown): void;
|
|
8
|
+
declare function get<T>(key: string): T;
|
|
9
|
+
declare function getAndDel<T = boolean>(key: string): T;
|
|
10
|
+
declare function del(key: string): void;
|
|
11
|
+
declare function clear(): void;
|
|
12
|
+
declare function setSession(key: string, value: unknown): void;
|
|
13
|
+
declare function getSession<T>(key: string): T;
|
|
14
|
+
declare function delSession(key: string): void;
|
|
15
|
+
export { del as delStorage, set as setStorage, get as getStorage, getAndDel as getStorageAndDel, clear as clearStorage, setSession as setSessionStorage, getSession as getSessionStorage, delSession as delSessionStorage, };
|
|
16
|
+
declare const storageMainLogic: {
|
|
17
|
+
del: typeof del;
|
|
18
|
+
set: typeof set;
|
|
19
|
+
get: typeof get;
|
|
20
|
+
getAndDel: typeof getAndDel;
|
|
21
|
+
clear: typeof clear;
|
|
22
|
+
setSession: typeof setSession;
|
|
23
|
+
getSession: typeof getSession;
|
|
24
|
+
delSession: typeof delSession;
|
|
25
|
+
};
|
|
26
|
+
export { storageMainLogic };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license MIT
|
|
3
|
+
* earthnut@storage/storage-store.d.ts
|
|
4
|
+
* Copyright (c) 2025 earthnut.dev
|
|
5
|
+
* 请在项目根参看详细许可证明
|
|
6
|
+
*/
|
|
7
|
+
import { ColorMode } from 'components/ThemeContext/types';
|
|
8
|
+
/** storage 的数据仓库 */
|
|
9
|
+
export declare const storageStore: {
|
|
10
|
+
/** 获取本地的数据中的主题值 */
|
|
11
|
+
theme: ColorMode | "";
|
|
12
|
+
/** 获取本地储存的 token */
|
|
13
|
+
token: string;
|
|
14
|
+
};
|