主要功能: - 修改RequirementModal支持12个订单班选择 - 添加OrderClassIconMap图标映射组件 - Store中添加selectedOrderClass状态管理 - WorkflowPage支持传递orderClass参数 - web_result添加URL参数切换功能 - 创建order-class-handler.js动态处理页面主题 技术改进: - 创建软链接关联订单班数据目录 - 生成wenlu.json和food.json数据结构 - 删除重复的web_result目录 - 添加测试页面test-order-class.html 影响范围: - 展会策划系统现支持12个订单班 - 结果展示页面自动适配不同订单班主题 - 用户可选择不同行业生成对应方案 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
35 lines
1020 B
JavaScript
35 lines
1020 B
JavaScript
import { length, percentage } from './dataTypes'
|
|
import { splitAtTopLevelOnly } from './splitAtTopLevelOnly'
|
|
|
|
/**
|
|
*
|
|
* https://developer.mozilla.org/en-US/docs/Web/CSS/background-size#formal_syntax
|
|
*
|
|
* background-size =
|
|
* <bg-size>#
|
|
*
|
|
* <bg-size> =
|
|
* [ <length-percentage [0,∞]> | auto ]{1,2} |
|
|
* cover |
|
|
* contain
|
|
*
|
|
* <length-percentage> =
|
|
* <length> |
|
|
* <percentage>
|
|
*
|
|
* @param {string} value
|
|
*/
|
|
export function backgroundSize(value) {
|
|
let keywordValues = ['cover', 'contain']
|
|
// the <length-percentage> type will probably be a css function
|
|
// so we have to use `splitAtTopLevelOnly`
|
|
return splitAtTopLevelOnly(value, ',').every((part) => {
|
|
let sizes = splitAtTopLevelOnly(part, '_').filter(Boolean)
|
|
if (sizes.length === 1 && keywordValues.includes(sizes[0])) return true
|
|
|
|
if (sizes.length !== 1 && sizes.length !== 2) return false
|
|
|
|
return sizes.every((size) => length(size) || percentage(size) || size === 'auto')
|
|
})
|
|
}
|