From 4e565eae8d20d7deda502ba3739c63889554a320 Mon Sep 17 00:00:00 2001
From: 2betop <2betop.cn@gmail.com>
Date: Mon, 30 Nov 2020 16:53:04 +0800
Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=96=87=E6=A1=A3,=E8=B0=83?=
=?UTF-8?q?=E6=95=B4=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docs/css-utilities/index.md | 6 +-
docs/css-utilities/responsive-design.md | 10 ++-
docs/css-utilities/state.md | 19 +++---
examples/components/App.tsx | 21 +++----
examples/components/DocSearch.jsx | 7 ++-
examples/components/MdRenderer.tsx | 17 ++---
examples/mobile.html | 4 +-
examples/style.scss | 65 ++++++++++++++------
mock/server.conf | 2 +-
package.json | 2 +-
scripts/NodeParser/IntersectionNodeParser.ts | 13 ++--
scripts/build-schemas.ts | 2 +-
12 files changed, 106 insertions(+), 62 deletions(-)
diff --git a/docs/css-utilities/index.md b/docs/css-utilities/index.md
index e56d88ae1..082849abd 100644
--- a/docs/css-utilities/index.md
+++ b/docs/css-utilities/index.md
@@ -4,13 +4,13 @@ title: 快速开始
amis 参考 [tailwindcss](https://tailwindcss.com/) 加入了大量的帮助类 css,掌握这些用法,完全不用手写 css。
-理念来自[tailwindcss](https://tailwindcss.com/), 不过这边做了一定的筛选,把一些不常用的用法剔除了,另外响应式方面只做了 pc 端和手机端,其他的设备并没有支持。这个文件未压缩版本大概是 300K 左右,比官方的要小很多。目前这个文件没有和主题文件合并在一起,用户可以选择性加载。
+理念来自于[tailwindcss](https://tailwindcss.com/), 不过根据我们经验分析,做了一定的筛选,把一些不常用的用法剔除了,另外响应式方面只做了 pc 端和手机端,其他的设备并没有支持。这个文件未压缩版本大概是 300K 左右,比官方的要小很多。目前这个文件没有和主题文件合并在一起,用户可以选择性加载。
```html
```
-引入这个 css 后,就可以像下面那样直接给 html 标签加类名的方式来设定样式了。
+引入这个 css 后,就可以像下面那样直接用 html 标签加类名的方式来设定样式了。
```html
这是一段文字,pc 端我是黑色的,在移动端查看,我是红色的。
+``` -->
+
+```schema:height="100" scope="body"
+{
+ "type": "tpl",
+ "className": "text-black-500 mobile:text-red-500",
+ "tpl": "这是一段文字,pc 端我是黑色的,在移动端查看,我是红色的。"
+}
```
几乎所有的类名都可以在开头处加个 `mobile:` 用来表示是移动端样式。
diff --git a/docs/css-utilities/state.md b/docs/css-utilities/state.md
index 354e40567..77a989f6f 100644
--- a/docs/css-utilities/state.md
+++ b/docs/css-utilities/state.md
@@ -2,12 +2,17 @@
title: 状态样式
---
-响应式设计目前只支持 pc 端和手机端,其他设备目前不支持,貌似也没必要支持。默认就是 pc,如果你在 css 类名前面再加个 `mobile:` 开头,就是专门给移动设备设置样式了。
+除了给默认状态设置样式外,还支持几个特定状态的样式设置比如:hover(鼠标悬停)、active(当前选中)或者 disabled(当前不可用)。
-```html
-
- 这是一段文字,pc 端我是黑色的,在移动端查看,我是红色的。
-
+```schema:height="100" scope="body"
+{
+ "type": "button",
+ "label": "按钮",
+ "className": "bg-pink-400 hover:bg-pink-600",
+ "actionType": "dialog",
+ "dialog": {
+ "title": "弹框",
+ "body": "Hello World!"
+ }
+}
```
-
-几乎所有的类名都可以在开头处加个 `mobile:` 用来表示是移动端样式。
diff --git a/examples/components/App.tsx b/examples/components/App.tsx
index 89d0a2508..0ef76dfb6 100644
--- a/examples/components/App.tsx
+++ b/examples/components/App.tsx
@@ -148,7 +148,7 @@ export class App extends React.PureComponent {
});
document
- .querySelectorAll(`link[title=${this.state.theme.value}]`)
+ .querySelectorAll(`link[title="${this.state.theme.value}"]`)
.forEach(item => {
item.disabled = false;
});
@@ -164,13 +164,13 @@ export class App extends React.PureComponent {
if (preState.theme.value !== this.state.theme.value) {
document
- .querySelectorAll(`link[title=${preState.theme.value}]`)
+ .querySelectorAll(`link[title="${preState.theme.value}"]`)
.forEach(item => {
item.disabled = true;
});
document
- .querySelectorAll(`link[title=${this.state.theme.value}]`)
+ .querySelectorAll(`link[title="${this.state.theme.value}"]`)
.forEach(item => {
item.disabled = false;
});
@@ -295,15 +295,14 @@ export class App extends React.PureComponent {
-
-
-
-
>
);
}
diff --git a/examples/components/DocSearch.jsx b/examples/components/DocSearch.jsx
index 294c692bf..44445c816 100644
--- a/examples/components/DocSearch.jsx
+++ b/examples/components/DocSearch.jsx
@@ -120,10 +120,13 @@ export default class DocSearch extends React.Component {
const ns = this.props.theme.ns;
return (
<>
- */}
+
+
+
@@ -129,9 +123,18 @@ class Preview extends React.Component {
let dom = document.createElement('div');
let height = props.height ? parseInt(props.height, 10) : 200;
+
+ if (this.props.viewMode === 'mobile') {
+ // 移动端下高度不能太低
+ if (height < 500) {
+ height = 500;
+ }
+ }
+
dom.setAttribute('class', 'doc-play-ground');
dom.setAttribute('style', `height: ${height}px;`);
- script.parentNode.replaceChild(dom, script);
+ const origin = script.parentNode;
+ origin.parentNode.replaceChild(dom, origin);
this.doms.push(dom);
ReactDOM.unstable_renderSubtreeIntoContainer(
diff --git a/examples/mobile.html b/examples/mobile.html
index d853bab61..11f00365b 100644
--- a/examples/mobile.html
+++ b/examples/mobile.html
@@ -12,6 +12,7 @@
+
+