Files
aurora-admin/site/examples/checkbox.json

114 lines
8.0 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"slug": "checkbox",
"mode": "scenarios",
"curated": true,
"examples": [
{
"id": "checkbox-ex-1",
"title": "默认与常用变体",
"titleSrc": "demo",
"desc": "",
"html": "<div class=\"demo-block\">\n <div class=\"row kole-checkbox\">\n <label class=\"kole-checkbox-option\">\n <input type=\"checkbox\" checked />\n 邮件通知\n </label>\n <label class=\"kole-checkbox-option\">\n <input type=\"checkbox\" />\n 短信通知\n </label>\n </div>\n</div>",
"preview": {
"show": [
[
0,
2
]
],
"hide": [
[
1
],
[
0,
0
],
[
0,
1
],
[
0,
3
],
[
0,
2,
0
]
],
"mode": "scenarios"
},
"previewSafe": true,
"previewUnsafeReasons": [],
"source": "curated",
"code": {
"html": "<div class=\"kole-checkbox\">\n <label class=\"kole-checkbox-option\">\n <input type=\"checkbox\" checked />\n 邮件通知\n </label>\n <label class=\"kole-checkbox-option\">\n <input type=\"checkbox\" />\n 短信通知\n </label>\n</div>",
"jsx": "import { useState } from 'react';\nimport { KoleCheckbox } from 'kole-ui/react';\n\nconst options = [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n];\n\nexport default function Demo() {\n const [value, setValue] = useState(['email']);\n\n function toggle(v) {\n setValue(value.includes(v) ? value.filter((x) => x !== v) : [...value, v]);\n }\n\n return <KoleCheckbox modelValue={value} options={options} onChange={toggle} />;\n}",
"vue3": "<template>\n <KoleCheckbox v-model=\"value\" :options=\"options\" />\n</template>\n\n<script setup>\nimport { ref } from 'vue';\nimport { KoleCheckbox } from 'kole-ui/vue3';\n\nconst options = [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n];\nconst value = ref(['email']);\n</script>",
"vue2": "<template>\n <KoleCheckbox v-model=\"value\" :options=\"options\" />\n</template>\n\n<script>\nimport { KoleCheckbox } from 'kole-ui/vue2';\n\nexport default {\n components: { KoleCheckbox },\n data() {\n return {\n options: [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n ],\n value: ['email']\n };\n }\n};\n</script>",
"tsx": "import { useState } from 'react';\nimport { KoleCheckbox } from 'kole-ui/react';\n\nconst options = [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n];\n\nexport default function Demo(): JSX.Element {\n const [value, setValue] = useState(['email']);\n\n function toggle(v): JSX.Element {\n setValue(value.includes(v) ? value.filter((x) => x !== v) : [...value, v]);\n }\n\n return <KoleCheckbox modelValue={value} options={options} onChange={toggle} />;\n}",
"vue3ts": "<template>\n\n <KoleCheckbox v-model=\"value\" :options=\"options\" />\n</template>\n\n<script setup lang=\"ts\">\nimport { KoleCheckbox } from 'kole-ui/vue3';\n\nconst demoTitle = ref<string>('默认与常用变体');\nconst options = [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n];\nconst value = ref(['email']);\n</script>",
"vue2ts": "<template>\n\n <KoleCheckbox v-model=\"value\" :options=\"options\" />\n</template>\n\n<script lang=\"ts\">\nimport Vue from 'vue';\nimport { KoleCheckbox } from 'kole-ui/vue2';\n\nexport default {\n components: { KoleCheckbox },\n data(): Record<string, unknown> {\n return {\n options: [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n ],\n value: ['email']\n };\n }\n};\n</script>"
},
"notes": [
"依据 frameworks/Checkbox.html:6 默认块两个 kole-checkbox-option「邮件通知(首个 checked)/短信通知」;prop 名取自 frameworks/Checkbox.jsx:4(modelValue/options)"
]
},
{
"id": "checkbox-ex-2",
"title": "状态与使用场景",
"titleSrc": "demo",
"desc": "",
"html": "<div class=\"demo-block\">\n <div class=\"row kole-checkbox\">\n <div class=\"kole-checkbox-surface\" style=\"padding:12px\">选择多个权限、筛选条件或数据记录,支持全选和半选状态。</div>\n <span class=\"kole-checkbox-desc\">支持键盘焦点、状态反馈和令牌化样式。</span>\n </div>\n <p class=\"demo-note\">零运行时依赖;数据请求、权限和国际化由宿主接入方决定。</p>\n</div>",
"preview": {
"show": [
[
0,
3
]
],
"hide": [
[
1
],
[
0,
0
],
[
0,
1
],
[
0,
2
],
[
0,
3,
0
]
],
"mode": "scenarios"
},
"previewSafe": true,
"previewUnsafeReasons": [],
"source": "curated",
"code": {
"html": "<div class=\"kole-checkbox\">\n <div class=\"kole-checkbox-surface\" style=\"padding:12px\">选择多个权限、筛选条件或数据记录,支持全选和半选状态。</div>\n <span class=\"kole-checkbox-desc\">支持键盘焦点、状态反馈和令牌化样式。</span>\n</div>\n<p>零运行时依赖;数据请求、权限和国际化由宿主接入方决定。</p>",
"jsx": "import { KoleCheckbox } from 'kole-ui/react';\n\nconst options = [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n];\n\n// 状态展示:整组禁用,保留已勾选值\n<KoleCheckbox modelValue={['email']} options={options} disabled />",
"vue3": "<template>\n <KoleCheckbox v-model=\"value\" :options=\"options\" disabled />\n</template>\n\n<script setup>\nimport { ref } from 'vue';\nimport { KoleCheckbox } from 'kole-ui/vue3';\n\nconst options = [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n];\n// 状态展示:整组禁用,保留已勾选值\nconst value = ref(['email']);\n</script>",
"vue2": "<template>\n <KoleCheckbox v-model=\"value\" :options=\"options\" disabled />\n</template>\n\n<script>\nimport { KoleCheckbox } from 'kole-ui/vue2';\n\nexport default {\n components: { KoleCheckbox },\n data() {\n return {\n options: [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n ],\n // 状态展示:整组禁用,保留已勾选值\n value: ['email']\n };\n }\n};\n</script>",
"tsx": "import { KoleCheckbox } from 'kole-ui/react';\n\nexport default function KoleCheckboxDemo(): JSX.Element {\n const options = [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n ];\n \n // 状态展示:整组禁用,保留已勾选值\n return (\n <KoleCheckbox modelValue={['email']} options={options} disabled />\n );\n}",
"vue3ts": "<template>\n\n <KoleCheckbox v-model=\"value\" :options=\"options\" disabled />\n</template>\n\n<script setup lang=\"ts\">\nimport { KoleCheckbox } from 'kole-ui/vue3';\n\nconst demoTitle = ref<string>('状态与使用场景');\nconst options = [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n];\n// 状态展示:整组禁用,保留已勾选值\nconst value = ref(['email']);\n</script>",
"vue2ts": "<template>\n\n <KoleCheckbox v-model=\"value\" :options=\"options\" disabled />\n</template>\n\n<script lang=\"ts\">\nimport Vue from 'vue';\nimport { KoleCheckbox } from 'kole-ui/vue2';\n\nexport default {\n components: { KoleCheckbox },\n data(): Record<string, unknown> {\n return {\n options: [\n { label: '邮件通知', value: 'email' },\n { label: '短信通知', value: 'sms' }\n ],\n // 状态展示:整组禁用,保留已勾选值\n value: ['email']\n };\n }\n};\n</script>"
},
"notes": [
"依据 frameworks/Checkbox.html:6 状态块(kole-checkbox-surface / kole-checkbox-desc 的只读展示场景)与 frameworks/Checkbox.jsx:4 的 disabled 态"
]
}
]
}