persagy-vant 0.0.37 → 0.0.39
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/es/action-sheet/ActionSheet.d.ts +3 -15
- package/es/action-sheet/ActionSheet.mjs +22 -11
- package/es/action-sheet/index.css +1 -1
- package/es/action-sheet/index.d.ts +2 -11
- package/es/action-sheet/index.less +31 -17
- package/es/action-sheet/style/index.mjs +2 -0
- package/es/action-sheet/style/less.mjs +2 -0
- package/es/action-sheet/var.less +1 -4
- package/es/address-edit/AddressEditDetail.d.ts +1 -1
- package/es/address-edit/style/index.mjs +1 -0
- package/es/address-edit/style/less.mjs +1 -0
- package/es/area/style/index.mjs +2 -0
- package/es/area/style/less.mjs +2 -0
- package/es/button/Button.d.ts +4 -1
- package/es/button/Button.mjs +21 -1
- package/es/button/index.css +1 -1
- package/es/button/index.d.ts +3 -1
- package/es/button/index.less +11 -5
- package/es/calendar/Calendar.d.ts +1 -1
- package/es/calendar/index.d.ts +1 -1
- package/es/cascader/Cascader.d.ts +1 -1
- package/es/cascader/index.d.ts +1 -1
- package/es/cascader/style/index.mjs +2 -0
- package/es/cascader/style/less.mjs +2 -0
- package/es/cell/Cell.d.ts +305 -1
- package/es/cell/Cell.mjs +238 -19
- package/es/cell/index.css +1 -1
- package/es/cell/index.d.ts +166 -2
- package/es/cell/index.less +77 -0
- package/es/cell/style/index.mjs +1 -0
- package/es/cell/style/less.mjs +1 -0
- package/es/checkbox-panel/index.css +1 -1
- package/es/checkbox-panel/index.less +1 -1
- package/es/checkbox-panel/style/index.mjs +1 -0
- package/es/checkbox-panel/style/less.mjs +1 -0
- package/es/collapse-item/CollapseItem.d.ts +230 -0
- package/es/collapse-item/index.d.ts +160 -0
- package/es/collapse-item/style/index.mjs +1 -0
- package/es/collapse-item/style/less.mjs +1 -0
- package/es/contact-card/style/index.mjs +1 -0
- package/es/contact-card/style/less.mjs +1 -0
- package/es/contact-edit/style/index.mjs +1 -0
- package/es/contact-edit/style/less.mjs +1 -0
- package/es/content-panel/index.css +1 -1
- package/es/content-panel/index.less +2 -0
- package/es/coupon-cell/style/index.mjs +1 -0
- package/es/coupon-cell/style/less.mjs +1 -0
- package/es/coupon-list/style/index.mjs +3 -0
- package/es/coupon-list/style/less.mjs +3 -0
- package/es/dialog/Dialog.d.ts +1 -1
- package/es/dialog/function-call.d.ts +1 -1
- package/es/dialog/style/index.mjs +1 -0
- package/es/dialog/style/less.mjs +1 -0
- package/es/dropdown-item/DropdownItem.d.ts +2 -2
- package/es/dropdown-item/index.d.ts +2 -2
- package/es/dropdown-item/style/index.mjs +1 -0
- package/es/dropdown-item/style/less.mjs +1 -0
- package/es/field/Field.d.ts +230 -0
- package/es/field/index.d.ts +160 -0
- package/es/field/style/index.mjs +1 -0
- package/es/field/style/less.mjs +1 -0
- package/es/floor-select/style/index.mjs +3 -0
- package/es/floor-select/style/less.mjs +3 -0
- package/es/form-panel/index.css +1 -1
- package/es/form-panel/index.less +2 -0
- package/es/icon/Icon.mjs +7 -4
- package/es/icon/assets/copy.svg +4 -0
- package/es/icon/config.d.ts +1 -0
- package/es/icon/config.mjs +1 -0
- package/es/icon/gif.d.ts +6 -0
- package/es/icon/gif.mjs +9 -0
- package/es/icon/index.css +1 -1
- package/es/icon/index.d.ts +2 -0
- package/es/icon/index.mjs +4 -1
- package/es/icon/latest-iconfont.css +1 -1
- package/es/icon/latest-iconfont.less +11 -0
- package/es/image-preview/ImagePreview.d.ts +2 -2
- package/es/image-preview/function-call.d.ts +2 -2
- package/es/index.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/es/info-card/InfoCard.d.ts +32 -1
- package/es/info-card/InfoCard.mjs +45 -3
- package/es/info-card/index.css +1 -1
- package/es/info-card/index.d.ts +23 -2
- package/es/info-card/index.less +57 -0
- package/es/info-card/var.less +1 -1
- package/es/label/Label.d.ts +21 -0
- package/es/label/Label.mjs +12 -2
- package/es/label/index.css +1 -1
- package/es/label/index.d.ts +15 -0
- package/es/label/index.less +31 -0
- package/es/label/var.less +2 -0
- package/es/list/style/index.mjs +2 -0
- package/es/list/style/less.mjs +2 -0
- package/es/loading/Loading.mjs +8 -26
- package/es/loading/style/index.mjs +2 -0
- package/es/loading/style/less.mjs +2 -0
- package/es/location-select/index.css +1 -1
- package/es/location-select/index.less +1 -1
- package/es/location-select/style/index.mjs +1 -0
- package/es/location-select/style/less.mjs +1 -0
- package/es/material-action-bar/MaterialActionBar.d.ts +9 -0
- package/es/material-action-bar/MaterialActionBar.mjs +5 -2
- package/es/material-action-bar/index.css +1 -1
- package/es/material-action-bar/index.d.ts +18 -0
- package/es/material-action-bar/index.less +3 -1
- package/es/material-add/MaterialAdd.mjs +158 -63
- package/es/material-add/index.css +1 -1
- package/es/material-add/index.d.ts +1 -1
- package/es/material-add/index.less +1 -15
- package/es/material-add/style/index.mjs +1 -1
- package/es/material-add/style/less.mjs +1 -1
- package/es/material-add/types.d.ts +7 -4
- package/es/material-detail/MaterialDetail.mjs +14 -9
- package/es/material-display-bar/MaterialDisplayBar.d.ts +3 -3
- package/es/material-display-bar/index.css +1 -1
- package/es/material-display-bar/index.d.ts +9 -9
- package/es/material-display-bar/index.less +2 -1
- package/es/material-display-bar/var.less +1 -0
- package/es/multi-person-select/index.css +1 -1
- package/es/multi-person-select/index.less +1 -1
- package/es/multi-person-select/style/index.mjs +1 -0
- package/es/multi-person-select/style/less.mjs +1 -0
- package/es/notify/Notify.d.ts +1 -1
- package/es/notify/function-call.d.ts +1 -1
- package/es/number-keyboard/NumberKeyboard.d.ts +2 -2
- package/es/number-keyboard/index.d.ts +2 -2
- package/es/number-keyboard/style/index.mjs +2 -0
- package/es/number-keyboard/style/less.mjs +2 -0
- package/es/object-select/index.css +1 -1
- package/es/object-select/index.less +2 -0
- package/es/object-select/style/index.mjs +1 -0
- package/es/object-select/style/less.mjs +1 -0
- package/es/picker/style/index.mjs +2 -0
- package/es/picker/style/less.mjs +2 -0
- package/es/popover/Popover.d.ts +3 -3
- package/es/popover/index.d.ts +3 -3
- package/es/popup/Popup.d.ts +4 -4
- package/es/popup/index.d.ts +4 -4
- package/es/progress/Progress.d.ts +17 -0
- package/es/progress/Progress.mjs +14 -9
- package/es/progress/index.css +1 -1
- package/es/progress/index.d.ts +12 -1
- package/es/progress/index.less +24 -14
- package/es/progress/types.d.ts +1 -0
- package/es/progress/var.less +10 -7
- package/es/pull-refresh/style/index.mjs +2 -0
- package/es/pull-refresh/style/less.mjs +2 -0
- package/es/quantity-input/style/index.mjs +1 -0
- package/es/quantity-input/style/less.mjs +1 -0
- package/es/radio-panel/RadioPanel.d.ts +1 -1
- package/es/radio-panel/index.css +1 -1
- package/es/radio-panel/index.d.ts +1 -1
- package/es/radio-panel/index.less +1 -1
- package/es/radio-panel/style/index.mjs +1 -0
- package/es/radio-panel/style/less.mjs +1 -0
- package/es/rate/style/index.mjs +1 -0
- package/es/rate/style/less.mjs +1 -0
- package/es/search/style/index.mjs +1 -0
- package/es/search/style/less.mjs +1 -0
- package/es/share-sheet/ShareSheet.d.ts +1 -1
- package/es/share-sheet/index.d.ts +1 -1
- package/es/single-person-select/index.css +1 -1
- package/es/single-person-select/index.less +2 -0
- package/es/single-person-select/style/index.mjs +1 -0
- package/es/single-person-select/style/less.mjs +1 -0
- package/es/style/base.css +1 -1
- package/es/style/base.less +5 -0
- package/es/style/css-variables.css +1 -1
- package/es/style/css-variables.less +1 -0
- package/es/style/var.less +1 -0
- package/es/swipe-cell/SwipeCell.d.ts +2 -2
- package/es/swipe-cell/index.d.ts +2 -2
- package/es/switch/style/index.mjs +2 -0
- package/es/switch/style/less.mjs +2 -0
- package/es/tab/style/index.mjs +2 -0
- package/es/tab/style/less.mjs +2 -0
- package/es/tabs/style/index.mjs +2 -0
- package/es/tabs/style/less.mjs +2 -0
- package/es/title-bar/TitleBar.d.ts +2 -2
- package/es/title-bar/index.d.ts +2 -2
- package/es/toast/Toast.d.ts +1 -1
- package/es/tree-select/TreeSelect.mjs +9 -4
- package/es/tree-select/index.css +1 -1
- package/es/tree-select/index.less +29 -1
- package/es/tree-select/style/index.mjs +1 -0
- package/es/tree-select/style/less.mjs +1 -0
- package/es/video-preview/VideoPreview.d.ts +2 -2
- package/es/video-preview/function-call.d.ts +2 -2
- package/es/work-order-card/WorkOrderCard.mjs +52 -11
- package/es/work-order-card/index.css +1 -1
- package/es/work-order-card/index.less +3 -4
- package/es/work-order-card/style/index.mjs +2 -0
- package/es/work-order-card/style/less.mjs +2 -0
- package/es/work-order-card/types.d.ts +14 -1
- package/es/work-order-filter/index.css +1 -1
- package/es/work-order-filter/index.less +2 -0
- package/es/work-order-filter/style/index.mjs +1 -0
- package/es/work-order-filter/style/less.mjs +1 -0
- package/lib/action-sheet/ActionSheet.d.ts +3 -15
- package/lib/action-sheet/ActionSheet.js +21 -10
- package/lib/action-sheet/index.css +1 -1
- package/lib/action-sheet/index.d.ts +2 -11
- package/lib/action-sheet/index.less +31 -17
- package/lib/action-sheet/style/index.js +2 -0
- package/lib/action-sheet/style/less.js +2 -0
- package/lib/action-sheet/var.less +1 -4
- package/lib/address-edit/AddressEditDetail.d.ts +1 -1
- package/lib/address-edit/style/index.js +1 -0
- package/lib/address-edit/style/less.js +1 -0
- package/lib/area/style/index.js +2 -0
- package/lib/area/style/less.js +2 -0
- package/lib/button/Button.d.ts +4 -1
- package/lib/button/Button.js +21 -1
- package/lib/button/index.css +1 -1
- package/lib/button/index.d.ts +3 -1
- package/lib/button/index.less +11 -5
- package/lib/calendar/Calendar.d.ts +1 -1
- package/lib/calendar/index.d.ts +1 -1
- package/lib/cascader/Cascader.d.ts +1 -1
- package/lib/cascader/index.d.ts +1 -1
- package/lib/cascader/style/index.js +2 -0
- package/lib/cascader/style/less.js +2 -0
- package/lib/cell/Cell.d.ts +305 -1
- package/lib/cell/Cell.js +238 -19
- package/lib/cell/index.css +1 -1
- package/lib/cell/index.d.ts +166 -2
- package/lib/cell/index.less +77 -0
- package/lib/cell/style/index.js +1 -0
- package/lib/cell/style/less.js +1 -0
- package/lib/checkbox-panel/index.css +1 -1
- package/lib/checkbox-panel/index.less +1 -1
- package/lib/checkbox-panel/style/index.js +1 -0
- package/lib/checkbox-panel/style/less.js +1 -0
- package/lib/collapse-item/CollapseItem.d.ts +230 -0
- package/lib/collapse-item/index.d.ts +160 -0
- package/lib/collapse-item/style/index.js +1 -0
- package/lib/collapse-item/style/less.js +1 -0
- package/lib/contact-card/style/index.js +1 -0
- package/lib/contact-card/style/less.js +1 -0
- package/lib/contact-edit/style/index.js +1 -0
- package/lib/contact-edit/style/less.js +1 -0
- package/lib/content-panel/index.css +1 -1
- package/lib/content-panel/index.less +2 -0
- package/lib/coupon-cell/style/index.js +1 -0
- package/lib/coupon-cell/style/less.js +1 -0
- package/lib/coupon-list/style/index.js +3 -0
- package/lib/coupon-list/style/less.js +3 -0
- package/lib/dialog/Dialog.d.ts +1 -1
- package/lib/dialog/function-call.d.ts +1 -1
- package/lib/dialog/style/index.js +1 -0
- package/lib/dialog/style/less.js +1 -0
- package/lib/dropdown-item/DropdownItem.d.ts +2 -2
- package/lib/dropdown-item/index.d.ts +2 -2
- package/lib/dropdown-item/style/index.js +1 -0
- package/lib/dropdown-item/style/less.js +1 -0
- package/lib/field/Field.d.ts +230 -0
- package/lib/field/index.d.ts +160 -0
- package/lib/field/style/index.js +1 -0
- package/lib/field/style/less.js +1 -0
- package/lib/floor-select/style/index.js +3 -0
- package/lib/floor-select/style/less.js +3 -0
- package/lib/form-panel/index.css +1 -1
- package/lib/form-panel/index.less +2 -0
- package/lib/icon/Icon.js +7 -4
- package/lib/icon/assets/copy.svg +4 -0
- package/lib/icon/config.d.ts +1 -0
- package/lib/icon/config.js +1 -0
- package/lib/icon/gif.d.ts +6 -0
- package/lib/icon/gif.js +28 -0
- package/lib/icon/index.css +1 -1
- package/lib/icon/index.d.ts +2 -0
- package/lib/icon/index.js +4 -1
- package/lib/icon/latest-iconfont.css +1 -1
- package/lib/icon/latest-iconfont.less +11 -0
- package/lib/image-preview/ImagePreview.d.ts +2 -2
- package/lib/image-preview/function-call.d.ts +2 -2
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.less +2 -2
- package/lib/info-card/InfoCard.d.ts +32 -1
- package/lib/info-card/InfoCard.js +45 -3
- package/lib/info-card/index.css +1 -1
- package/lib/info-card/index.d.ts +23 -2
- package/lib/info-card/index.less +57 -0
- package/lib/info-card/var.less +1 -1
- package/lib/label/Label.d.ts +21 -0
- package/lib/label/Label.js +12 -2
- package/lib/label/index.css +1 -1
- package/lib/label/index.d.ts +15 -0
- package/lib/label/index.less +31 -0
- package/lib/label/var.less +2 -0
- package/lib/list/style/index.js +2 -0
- package/lib/list/style/less.js +2 -0
- package/lib/loading/Loading.js +8 -26
- package/lib/loading/style/index.js +2 -0
- package/lib/loading/style/less.js +2 -0
- package/lib/location-select/index.css +1 -1
- package/lib/location-select/index.less +1 -1
- package/lib/location-select/style/index.js +1 -0
- package/lib/location-select/style/less.js +1 -0
- package/lib/material-action-bar/MaterialActionBar.d.ts +9 -0
- package/lib/material-action-bar/MaterialActionBar.js +4 -1
- package/lib/material-action-bar/index.css +1 -1
- package/lib/material-action-bar/index.d.ts +18 -0
- package/lib/material-action-bar/index.less +3 -1
- package/lib/material-add/MaterialAdd.js +158 -63
- package/lib/material-add/index.css +1 -1
- package/lib/material-add/index.d.ts +1 -1
- package/lib/material-add/index.less +1 -15
- package/lib/material-add/style/index.js +1 -1
- package/lib/material-add/style/less.js +1 -1
- package/lib/material-add/types.d.ts +7 -4
- package/lib/material-detail/MaterialDetail.js +14 -9
- package/lib/material-display-bar/MaterialDisplayBar.d.ts +3 -3
- package/lib/material-display-bar/index.css +1 -1
- package/lib/material-display-bar/index.d.ts +9 -9
- package/lib/material-display-bar/index.less +2 -1
- package/lib/material-display-bar/var.less +1 -0
- package/lib/multi-person-select/index.css +1 -1
- package/lib/multi-person-select/index.less +1 -1
- package/lib/multi-person-select/style/index.js +1 -0
- package/lib/multi-person-select/style/less.js +1 -0
- package/lib/notify/Notify.d.ts +1 -1
- package/lib/notify/function-call.d.ts +1 -1
- package/lib/number-keyboard/NumberKeyboard.d.ts +2 -2
- package/lib/number-keyboard/index.d.ts +2 -2
- package/lib/number-keyboard/style/index.js +2 -0
- package/lib/number-keyboard/style/less.js +2 -0
- package/lib/object-select/index.css +1 -1
- package/lib/object-select/index.less +2 -0
- package/lib/object-select/style/index.js +1 -0
- package/lib/object-select/style/less.js +1 -0
- package/lib/picker/style/index.js +2 -0
- package/lib/picker/style/less.js +2 -0
- package/lib/popover/Popover.d.ts +3 -3
- package/lib/popover/index.d.ts +3 -3
- package/lib/popup/Popup.d.ts +4 -4
- package/lib/popup/index.d.ts +4 -4
- package/lib/progress/Progress.d.ts +17 -0
- package/lib/progress/Progress.js +13 -8
- package/lib/progress/index.css +1 -1
- package/lib/progress/index.d.ts +12 -1
- package/lib/progress/index.less +24 -14
- package/lib/progress/types.d.ts +1 -0
- package/lib/progress/var.less +10 -7
- package/lib/pull-refresh/style/index.js +2 -0
- package/lib/pull-refresh/style/less.js +2 -0
- package/lib/quantity-input/style/index.js +1 -0
- package/lib/quantity-input/style/less.js +1 -0
- package/lib/radio-panel/RadioPanel.d.ts +1 -1
- package/lib/radio-panel/index.css +1 -1
- package/lib/radio-panel/index.d.ts +1 -1
- package/lib/radio-panel/index.less +1 -1
- package/lib/radio-panel/style/index.js +1 -0
- package/lib/radio-panel/style/less.js +1 -0
- package/lib/rate/style/index.js +1 -0
- package/lib/rate/style/less.js +1 -0
- package/lib/search/style/index.js +1 -0
- package/lib/search/style/less.js +1 -0
- package/lib/share-sheet/ShareSheet.d.ts +1 -1
- package/lib/share-sheet/index.d.ts +1 -1
- package/lib/single-person-select/index.css +1 -1
- package/lib/single-person-select/index.less +2 -0
- package/lib/single-person-select/style/index.js +1 -0
- package/lib/single-person-select/style/less.js +1 -0
- package/lib/style/base.css +1 -1
- package/lib/style/base.less +5 -0
- package/lib/style/css-variables.css +1 -1
- package/lib/style/css-variables.less +1 -0
- package/lib/style/var.less +1 -0
- package/lib/swipe-cell/SwipeCell.d.ts +2 -2
- package/lib/swipe-cell/index.d.ts +2 -2
- package/lib/switch/style/index.js +2 -0
- package/lib/switch/style/less.js +2 -0
- package/lib/tab/style/index.js +2 -0
- package/lib/tab/style/less.js +2 -0
- package/lib/tabs/style/index.js +2 -0
- package/lib/tabs/style/less.js +2 -0
- package/lib/title-bar/TitleBar.d.ts +2 -2
- package/lib/title-bar/index.d.ts +2 -2
- package/lib/toast/Toast.d.ts +1 -1
- package/lib/tree-select/TreeSelect.js +9 -4
- package/lib/tree-select/index.css +1 -1
- package/lib/tree-select/index.less +29 -1
- package/lib/tree-select/style/index.js +1 -0
- package/lib/tree-select/style/less.js +1 -0
- package/lib/vant.cjs.js +1590 -1159
- package/lib/vant.es.js +1591 -1160
- package/lib/vant.js +5511 -5080
- package/lib/vant.min.js +1 -1
- package/lib/video-preview/VideoPreview.d.ts +2 -2
- package/lib/video-preview/function-call.d.ts +2 -2
- package/lib/web-types.json +1 -1
- package/lib/work-order-card/WorkOrderCard.js +52 -11
- package/lib/work-order-card/index.css +1 -1
- package/lib/work-order-card/index.less +3 -4
- package/lib/work-order-card/style/index.js +2 -0
- package/lib/work-order-card/style/less.js +2 -0
- package/lib/work-order-card/types.d.ts +14 -1
- package/lib/work-order-filter/index.css +1 -1
- package/lib/work-order-filter/index.less +2 -0
- package/lib/work-order-filter/style/index.js +1 -0
- package/lib/work-order-filter/style/less.js +1 -0
- package/package.json +2 -2
- package/skills/use-persagy-vant/SKILL.md +1 -1
- package/skills/use-persagy-vant/references/component-documentation.md +4 -4
- package/skills/use-persagy-vant/references/component-variant-selection.md +2 -2
- package/skills/use-persagy-vant/references/design-interaction-baseline.md +2 -1
- package/skills/use-persagy-vant/references/page-recipes.md +4 -0
- package/skills/use-persagy-vant/references/public-style-system.md +105 -0
- package/skills/use-persagy-vant/references/reuse-policy.md +2 -2
- /package/es/{loading/assets/building.gif → icon/assets/gif/loading-building.gif} +0 -0
- /package/lib/{loading/assets/building.gif → icon/assets/gif/loading-building.gif} +0 -0
|
@@ -25,6 +25,7 @@ var import_button = require("../button");
|
|
|
25
25
|
var import_utils = require("../utils");
|
|
26
26
|
var import_divider = require("../divider");
|
|
27
27
|
var import_icon = require("../icon");
|
|
28
|
+
var import_label = require("../label");
|
|
28
29
|
var import_tag = require("../tag");
|
|
29
30
|
const [name, bem] = (0, import_utils.createNamespace)("work-order-card");
|
|
30
31
|
const props = {
|
|
@@ -70,12 +71,39 @@ var stdin_default = (0, import_vue.defineComponent)({
|
|
|
70
71
|
innerExpanded.value = value;
|
|
71
72
|
emit("update:expanded", value);
|
|
72
73
|
};
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
const resolveInfo = (info) => {
|
|
75
|
+
if (info.label !== void 0 || info.content !== void 0) {
|
|
76
|
+
return {
|
|
77
|
+
label: info.label || "",
|
|
78
|
+
content: info.content || ""
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const text = info.text || "";
|
|
82
|
+
const separatorIndex = text.search(/[::]/);
|
|
83
|
+
return separatorIndex < 0 ? {
|
|
84
|
+
label: "",
|
|
85
|
+
content: text
|
|
86
|
+
} : {
|
|
87
|
+
label: text.slice(0, separatorIndex),
|
|
88
|
+
content: text.slice(separatorIndex + 1)
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
const renderInfo = (info) => {
|
|
92
|
+
const {
|
|
93
|
+
label,
|
|
94
|
+
content
|
|
95
|
+
} = resolveInfo(info);
|
|
96
|
+
return (0, import_vue.createVNode)("div", {
|
|
97
|
+
"class": bem("info")
|
|
98
|
+
}, [(0, import_vue.createVNode)(import_label.Label, {
|
|
99
|
+
"sameColor": true,
|
|
100
|
+
"showLeftIcon": Boolean(info.icon),
|
|
101
|
+
"leftIcon": info.icon,
|
|
102
|
+
"showLabel": Boolean(label),
|
|
103
|
+
"label": label,
|
|
104
|
+
"content": content
|
|
105
|
+
}, null)]);
|
|
106
|
+
};
|
|
79
107
|
const renderAction = (action, index) => (0, import_vue.createVNode)(import_button.Button, {
|
|
80
108
|
"type": "text",
|
|
81
109
|
"disabled": action.disabled,
|
|
@@ -112,16 +140,29 @@ var stdin_default = (0, import_vue.defineComponent)({
|
|
|
112
140
|
}, null)]), (0, import_vue.createVNode)("div", {
|
|
113
141
|
"class": bem("tags")
|
|
114
142
|
}, [slots.tags ? slots.tags() : props2.tags.map((tag) => (0, import_vue.createVNode)(import_tag.Tag, {
|
|
143
|
+
"type": tag.type,
|
|
144
|
+
"size": tag.size,
|
|
115
145
|
"color": tag.color,
|
|
116
|
-
"textColor": tag.textColor
|
|
146
|
+
"textColor": tag.textColor,
|
|
147
|
+
"plain": tag.plain,
|
|
148
|
+
"round": tag.round,
|
|
149
|
+
"mark": tag.mark,
|
|
150
|
+
"rightIcon": tag.rightIcon,
|
|
151
|
+
"number": tag.number,
|
|
152
|
+
"showNumber": tag.showNumber,
|
|
153
|
+
"numberColor": tag.numberColor
|
|
117
154
|
}, {
|
|
118
155
|
default: () => [tag.text]
|
|
119
156
|
}))]), props2.showLocation && props2.location && (0, import_vue.createVNode)("div", {
|
|
120
157
|
"class": bem("location")
|
|
121
|
-
}, [(0, import_vue.createVNode)(
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
|
|
158
|
+
}, [(0, import_vue.createVNode)(import_label.Label, {
|
|
159
|
+
"sameColor": true,
|
|
160
|
+
"ellipsis": true,
|
|
161
|
+
"showLeftIcon": true,
|
|
162
|
+
"leftIcon": "location-o",
|
|
163
|
+
"showLabel": false,
|
|
164
|
+
"content": props2.location
|
|
165
|
+
}, null)]), (0, import_vue.createVNode)("div", {
|
|
125
166
|
"class": bem("infos")
|
|
126
167
|
}, [slots.info ? slots.info() : props2.primaryInfos.map(renderInfo)]), hasExpandedContent() && (0, import_vue.createVNode)("div", {
|
|
127
168
|
"class": bem("expanded-wrapper", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--van-work-order-card-padding: var(--van-padding-md);--van-work-order-card-radius: var(--van-border-radius-lg);--van-work-order-card-title-font-size: 15px;--van-work-order-card-title-color: var(--van-gray-8);--van-work-order-card-info-color: var(--van-gray-7)}.van-work-order-card{position:relative;overflow:hidden;background:var(--van-white);border-radius:var(--van-work-order-card-radius)}.van-work-order-card__header{display:flex;align-items:flex-start;padding:var(--van-work-order-card-padding) var(--van-work-order-card-padding) 0;cursor:pointer}.van-work-order-card__title{flex:1;min-width:0;overflow:hidden;color:var(--van-work-order-card-title-color);font-size:var(--van-work-order-card-title-font-size);font-weight:var(--van-font-weight-bold);line-height:23px;text-overflow:ellipsis;white-space:nowrap}.van-work-order-card__arrow{flex:none;margin:4px 0 0 2px;color:var(--van-gray-6);transition:transform .2s}.van-work-order-card--expanded .van-work-order-card__title{overflow:visible;white-space:normal}.van-work-order-card:not(.van-work-order-card--expandable) .van-work-order-card__title{overflow:visible;white-space:normal}.van-work-order-card--expanded .van-work-order-card__arrow{color:var(--van-black);transform:rotate(180deg)}.van-work-order-card__tags{display:flex;flex-wrap:wrap;gap:4px;padding:8px var(--van-work-order-card-padding) 0}.van-work-order-card__location{
|
|
1
|
+
:root{--van-work-order-card-padding: var(--van-padding-md);--van-work-order-card-radius: var(--van-border-radius-lg);--van-work-order-card-title-font-size: 15px;--van-work-order-card-title-color: var(--van-gray-8);--van-work-order-card-info-color: var(--van-gray-7)}.van-work-order-card{position:relative;overflow:hidden;background:var(--van-white);border-radius:var(--van-work-order-card-radius)}.van-work-order-card__header{display:flex;align-items:flex-start;padding:var(--van-work-order-card-padding) var(--van-work-order-card-padding) 0;cursor:pointer}.van-work-order-card__title{flex:1;min-width:0;overflow:hidden;color:var(--van-work-order-card-title-color);font-size:var(--van-work-order-card-title-font-size);font-weight:var(--van-font-weight-bold);line-height:23px;text-overflow:ellipsis;white-space:nowrap}.van-work-order-card__arrow{flex:none;margin:4px 0 0 2px;color:var(--van-gray-6);transition:transform .2s}.van-work-order-card--expanded .van-work-order-card__title{overflow:visible;white-space:normal}.van-work-order-card:not(.van-work-order-card--expandable) .van-work-order-card__title{overflow:visible;white-space:normal}.van-work-order-card--expanded .van-work-order-card__arrow{color:var(--van-black);transform:rotate(180deg)}.van-work-order-card__tags{display:flex;flex-wrap:wrap;gap:4px;padding:8px var(--van-work-order-card-padding) 0}.van-work-order-card__location{margin:8px 10px 0;padding:0 6px;overflow:hidden;background:linear-gradient(90deg,rgba(223,232,243,.7),rgba(223,232,243,0));border-radius:4px}.van-work-order-card__infos{display:flex;flex-direction:column;gap:2px;padding:8px var(--van-work-order-card-padding) 0}.van-work-order-card:not(.van-work-order-card--actions):not(.van-work-order-card--expanded-content) .van-work-order-card__infos{padding-bottom:8px}.van-work-order-card__info{min-width:0}.van-work-order-card__expanded-wrapper{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .24s cubic-bezier(.2,.8,.2,1),opacity .18s ease}.van-work-order-card__expanded-wrapper--visible{grid-template-rows:1fr;opacity:1}.van-work-order-card__expanded-content{min-height:0;padding:0 var(--van-work-order-card-padding);overflow:hidden}.van-work-order-card:not(.van-work-order-card--actions) .van-work-order-card__expanded-content{padding-bottom:8px}.van-work-order-card__expanded-content .van-divider{margin:4px 0;border-color:var(--van-gray-4)}.van-work-order-card__overdue{position:absolute;top:0;right:0;padding:2px 8px;color:var(--van-white);font-size:10px;line-height:12px;background:var(--van-danger-color);border-radius:0 2px 0 8px}.van-work-order-card__actions{position:relative;display:flex;margin-top:8px;padding-top:1px;--van-button-default-height: 38px;--van-button-default-font-size: var(--van-font-size-md);--van-button-default-line-height: 22px;--van-button-border-radius: 0;--van-button-plain-background-color: transparent}.van-work-order-card__actions:before{position:absolute;top:0;right:var(--van-work-order-card-padding);left:var(--van-work-order-card-padding);height:.5px;background:var(--van-gray-2);content:""}.van-work-order-card__actions .van-button{flex:1}.van-work-order-card__actions .van-button+.van-button{position:relative}.van-work-order-card__actions .van-button+.van-button:after{position:absolute;top:50%;left:0;width:.5px;height:12px;background:var(--van-gray-2);transform:translateY(-50%);content:""}
|
|
@@ -16,11 +16,10 @@
|
|
|
16
16
|
.van-work-order-card:not(.van-work-order-card--expandable) .van-work-order-card__title { overflow: visible; white-space: normal; }
|
|
17
17
|
.van-work-order-card--expanded .van-work-order-card__arrow { color: var(--van-black); transform: rotate(180deg); }
|
|
18
18
|
.van-work-order-card__tags { display: flex; flex-wrap: wrap; gap: 4px; padding: 8px var(--van-work-order-card-padding) 0; }
|
|
19
|
-
.van-work-order-card__location {
|
|
20
|
-
.van-work-order-
|
|
21
|
-
.van-work-order-card__infos { padding: 8px var(--van-work-order-card-padding) 0; }
|
|
19
|
+
.van-work-order-card__location { margin: 8px 10px 0; padding: 0 6px; overflow: hidden; background: linear-gradient(90deg, rgb(223 232 243 / 70%), rgb(223 232 243 / 0%)); border-radius: 4px; }
|
|
20
|
+
.van-work-order-card__infos { display: flex; flex-direction: column; gap: 2px; padding: 8px var(--van-work-order-card-padding) 0; }
|
|
22
21
|
.van-work-order-card:not(.van-work-order-card--actions):not(.van-work-order-card--expanded-content) .van-work-order-card__infos { padding-bottom: 8px; }
|
|
23
|
-
.van-work-order-card__info {
|
|
22
|
+
.van-work-order-card__info { min-width: 0; }
|
|
24
23
|
.van-work-order-card__expanded-wrapper { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .24s cubic-bezier(.2, .8, .2, 1), opacity .18s ease; }
|
|
25
24
|
.van-work-order-card__expanded-wrapper--visible { grid-template-rows: 1fr; opacity: 1; }
|
|
26
25
|
.van-work-order-card__expanded-content { min-height: 0; padding: 0 var(--van-work-order-card-padding); overflow: hidden; }
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
require("../../style/base.css");
|
|
2
2
|
require("../../badge/index.css");
|
|
3
3
|
require("../../icon/index.css");
|
|
4
|
+
require("../../image/index.css");
|
|
4
5
|
require("../../tag/index.css");
|
|
6
|
+
require("../../label/index.css");
|
|
5
7
|
require("../../loading/index.css");
|
|
6
8
|
require("../../button/index.css");
|
|
7
9
|
require("../../divider/index.css");
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
require("../../style/base.less");
|
|
2
2
|
require("../../badge/index.less");
|
|
3
3
|
require("../../icon/index.less");
|
|
4
|
+
require("../../image/index.less");
|
|
4
5
|
require("../../tag/index.less");
|
|
6
|
+
require("../../label/index.less");
|
|
5
7
|
require("../../loading/index.less");
|
|
6
8
|
require("../../button/index.less");
|
|
7
9
|
require("../../divider/index.less");
|
|
@@ -1,12 +1,25 @@
|
|
|
1
|
+
import type { TagSize, TagType } from '../tag';
|
|
1
2
|
import type { Numeric } from '../utils';
|
|
2
3
|
export declare type WorkOrderCardTag = {
|
|
3
4
|
text: string;
|
|
5
|
+
type?: TagType;
|
|
6
|
+
size?: TagSize;
|
|
4
7
|
color?: string;
|
|
5
8
|
textColor?: string;
|
|
9
|
+
plain?: boolean;
|
|
10
|
+
round?: boolean;
|
|
11
|
+
mark?: boolean;
|
|
12
|
+
rightIcon?: string;
|
|
13
|
+
number?: string | number;
|
|
14
|
+
showNumber?: boolean;
|
|
15
|
+
numberColor?: string;
|
|
6
16
|
};
|
|
7
17
|
export declare type WorkOrderCardInfo = {
|
|
8
18
|
icon?: string;
|
|
9
|
-
|
|
19
|
+
/** @deprecated Prefer label and content for structured field display. */
|
|
20
|
+
text?: string;
|
|
21
|
+
label?: string;
|
|
22
|
+
content?: string;
|
|
10
23
|
};
|
|
11
24
|
export declare type WorkOrderCardAction = {
|
|
12
25
|
text: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--van-work-order-filter-background-color: var(--van-white);--van-work-order-filter-card-color: var(--van-gray-2)}.van-work-order-filter{display:flex;flex-direction:column;height:calc(100vh - 96px);max-height:calc(100vh - 96px);overflow:hidden;background:var(--van-work-order-filter-background-color)}.van-work-order-filter>.van-action-sheet__content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.van-work-order-filter__nav{flex:none;--van-nav-bar-background-color: var(--van-white)}.van-work-order-filter__nav .van-nav-bar__left--slot{padding:0 12px}.van-work-order-filter__body{flex:1;min-height:0;padding-bottom:var(--van-padding-md);overflow-y:auto}.van-work-order-filter__section{position:relative}.van-work-order-filter__section .van-blue-mark-header{padding:var(--van-padding-md) 22px var(--van-padding-xs)}.van-work-order-filter__custom{width:100%}.van-work-order-filter__select-all{position:absolute;top:var(--van-padding-md);right:22px;padding:0;color:var(--van-primary-color);font-size:var(--van-font-size-md);font-weight:var(--van-font-weight-bold);line-height:var(--van-line-height-lg);background:transparent;border:0}.van-work-order-filter__card{margin:0 var(--van-padding-md);overflow:hidden;background:var(--van-work-order-filter-card-color);border-radius:8px;--van-cell-border-color: #e1e5eb}.van-work-order-filter__card .van-cell{min-height:44px;background:transparent}.van-work-order-filter__card .van-checkbox,.van-work-order-filter__card .van-radio{margin:0}.van-work-order-filter__project-list{width:100%}.van-work-order-filter__project-item{position:relative;touch-action:pan-y;transition:transform .16s cubic-bezier(.2,0,0,1)}.van-work-order-filter__project-item--dragging{z-index:1;opacity:.82;box-shadow:0 4px 12px rgba(27,33,41,.16);transition:none}.van-work-order-filter__project-move{transition:transform .16s cubic-bezier(.2,0,0,1)}.van-work-order-filter__drag-handle{display:flex;align-items:center;justify-content:center;width:16px;height:var(--van-cell-line-height);margin-right:var(--van-padding-base);color:var(--van-text-color);cursor:grab;touch-action:none}.van-work-order-filter__drag-handle:active{cursor:grabbing}.van-work-order-filter__sort-cards{display:flex;flex-direction:column;gap:10px}.van-work-order-filter__tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--van-padding-xs);margin:0 var(--van-padding-md)}.van-work-order-filter__tags .van-filter-tag{width:100%;min-width:0;text-align:center}.van-work-order-filter__time-trigger{width:auto;margin:var(--van-padding-xs) var(--van-padding-md) 0;background:var(--van-work-order-filter-card-color);border-radius:8px}.van-work-order-filter__time-trigger .van-cell__label{white-space:nowrap}.van-work-order-filter__time-picker-overlay{position:absolute;z-index:10;inset:0;display:flex;align-items:flex-end;background:rgba(0,0,0,.45)}.van-work-order-filter__time-picker-panel{width:100%;overflow:hidden;background:var(--van-white);border-radius:16px 16px 0 0}.van-work-order-filter__time-picker-enter-active,.van-work-order-filter__time-picker-leave-active{transition:opacity var(--van-animation-duration-base) var(--van-animation-timing-function-enter)}.van-work-order-filter__time-picker-enter-active .van-work-order-filter__time-picker-panel,.van-work-order-filter__time-picker-leave-active .van-work-order-filter__time-picker-panel{transition:transform var(--van-animation-duration-base) var(--van-animation-timing-function-enter)}.van-work-order-filter__time-picker-leave-active,.van-work-order-filter__time-picker-leave-active .van-work-order-filter__time-picker-panel{transition-timing-function:var(--van-animation-timing-function-leave)}.van-work-order-filter__time-picker-enter-from,.van-work-order-filter__time-picker-leave-to{opacity:0}.van-work-order-filter__time-picker-enter-from .van-work-order-filter__time-picker-panel,.van-work-order-filter__time-picker-leave-to .van-work-order-filter__time-picker-panel{transform:translate3d(0,100%,0)}.van-work-order-filter__footer{flex:none}
|
|
1
|
+
:root{--van-work-order-filter-background-color: var(--van-white);--van-work-order-filter-card-color: var(--van-gray-2)}.van-work-order-filter{display:flex;flex-direction:column;height:calc(100vh - 96px);max-height:calc(100vh - 96px);overflow:hidden;background:var(--van-work-order-filter-background-color)}.van-work-order-filter>.van-action-sheet__content{display:flex;flex:1;flex-direction:column;min-height:0;gap:0;padding:0;overflow:hidden}.van-work-order-filter__nav{flex:none;--van-nav-bar-background-color: var(--van-white)}.van-work-order-filter__nav .van-nav-bar__left--slot{padding:0 12px}.van-work-order-filter__body{flex:1;min-height:0;padding-bottom:var(--van-padding-md);overflow-y:auto}.van-work-order-filter__section{position:relative}.van-work-order-filter__section .van-blue-mark-header{padding:var(--van-padding-md) 22px var(--van-padding-xs)}.van-work-order-filter__custom{width:100%}.van-work-order-filter__select-all{position:absolute;top:var(--van-padding-md);right:22px;padding:0;color:var(--van-primary-color);font-size:var(--van-font-size-md);font-weight:var(--van-font-weight-bold);line-height:var(--van-line-height-lg);background:transparent;border:0}.van-work-order-filter__card{margin:0 var(--van-padding-md);overflow:hidden;background:var(--van-work-order-filter-card-color);border-radius:8px;--van-cell-border-color: #e1e5eb}.van-work-order-filter__card .van-cell{min-height:44px;background:transparent}.van-work-order-filter__card .van-checkbox,.van-work-order-filter__card .van-radio{margin:0}.van-work-order-filter__project-list{width:100%}.van-work-order-filter__project-item{position:relative;touch-action:pan-y;transition:transform .16s cubic-bezier(.2,0,0,1)}.van-work-order-filter__project-item--dragging{z-index:1;opacity:.82;box-shadow:0 4px 12px rgba(27,33,41,.16);transition:none}.van-work-order-filter__project-move{transition:transform .16s cubic-bezier(.2,0,0,1)}.van-work-order-filter__drag-handle{display:flex;align-items:center;justify-content:center;width:16px;height:var(--van-cell-line-height);margin-right:var(--van-padding-base);color:var(--van-text-color);cursor:grab;touch-action:none}.van-work-order-filter__drag-handle:active{cursor:grabbing}.van-work-order-filter__sort-cards{display:flex;flex-direction:column;gap:10px}.van-work-order-filter__tags{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--van-padding-xs);margin:0 var(--van-padding-md)}.van-work-order-filter__tags .van-filter-tag{width:100%;min-width:0;text-align:center}.van-work-order-filter__time-trigger{width:auto;margin:var(--van-padding-xs) var(--van-padding-md) 0;background:var(--van-work-order-filter-card-color);border-radius:8px}.van-work-order-filter__time-trigger .van-cell__label{white-space:nowrap}.van-work-order-filter__time-picker-overlay{position:absolute;z-index:10;inset:0;display:flex;align-items:flex-end;background:rgba(0,0,0,.45)}.van-work-order-filter__time-picker-panel{width:100%;overflow:hidden;background:var(--van-white);border-radius:16px 16px 0 0}.van-work-order-filter__time-picker-enter-active,.van-work-order-filter__time-picker-leave-active{transition:opacity var(--van-animation-duration-base) var(--van-animation-timing-function-enter)}.van-work-order-filter__time-picker-enter-active .van-work-order-filter__time-picker-panel,.van-work-order-filter__time-picker-leave-active .van-work-order-filter__time-picker-panel{transition:transform var(--van-animation-duration-base) var(--van-animation-timing-function-enter)}.van-work-order-filter__time-picker-leave-active,.van-work-order-filter__time-picker-leave-active .van-work-order-filter__time-picker-panel{transition-timing-function:var(--van-animation-timing-function-leave)}.van-work-order-filter__time-picker-enter-from,.van-work-order-filter__time-picker-leave-to{opacity:0}.van-work-order-filter__time-picker-enter-from .van-work-order-filter__time-picker-panel,.van-work-order-filter__time-picker-leave-to .van-work-order-filter__time-picker-panel{transform:translate3d(0,100%,0)}.van-work-order-filter__footer{flex:none}
|
|
@@ -2,6 +2,7 @@ require("../../style/base.css");
|
|
|
2
2
|
require("../../badge/index.css");
|
|
3
3
|
require("../../icon/index.css");
|
|
4
4
|
require("../../filter-tag/index.css");
|
|
5
|
+
require("../../tag/index.css");
|
|
5
6
|
require("../../loading/index.css");
|
|
6
7
|
require("../../picker/index.css");
|
|
7
8
|
require("../../datetime-picker/index.css");
|
|
@@ -2,6 +2,7 @@ require("../../style/base.less");
|
|
|
2
2
|
require("../../badge/index.less");
|
|
3
3
|
require("../../icon/index.less");
|
|
4
4
|
require("../../filter-tag/index.less");
|
|
5
|
+
require("../../tag/index.less");
|
|
5
6
|
require("../../loading/index.less");
|
|
6
7
|
require("../../picker/index.less");
|
|
7
8
|
require("../../datetime-picker/index.less");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "persagy-vant",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.39",
|
|
4
4
|
"description": "Lightweight Mobile UI Components built on Vue",
|
|
5
5
|
"main": "lib/vant.cjs.js",
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"url": "git+https://gitea.meos.center/Persagy-AI/persagy-vant-ai.git"
|
|
45
45
|
},
|
|
46
46
|
"bugs": "https://gitea.meos.center/Persagy-AI/persagy-vant-ai/issues",
|
|
47
|
-
"homepage": "https://persagy-vant-ai.netlify.app",
|
|
47
|
+
"homepage": "https://sunshifu-persagy-vant-ai.netlify.app",
|
|
48
48
|
"author": "chenjiahan",
|
|
49
49
|
"license": "MIT",
|
|
50
50
|
"keywords": [
|
|
@@ -10,7 +10,7 @@ description: 使用 Persagy Vant 为 Vue 3 移动端业务页面规划、实现
|
|
|
10
10
|
## 强制工作流
|
|
11
11
|
|
|
12
12
|
1. 阅读 `references/reuse-policy.md`,确认复用边界与禁止项。
|
|
13
|
-
2. 阅读 `references/design-interaction-baseline.md`,将其中适用的设计、状态和反馈规则落实到页面;如与产品需求冲突,以明确的产品需求为准并说明差异。
|
|
13
|
+
2. 阅读 `references/design-interaction-baseline.md` 与 `references/public-style-system.md`,将其中适用的设计、状态和反馈规则落实到页面;如与产品需求冲突,以明确的产品需求为准并说明差异。
|
|
14
14
|
3. 阅读 `references/business-component-catalog.md`,按用户任务先确定业务组件;再从 `references/component-catalog.md` 补齐基础组件。
|
|
15
15
|
4. 按 `references/component-documentation.md` 的查阅流程读取每个被选中组件的 README 和 demo:在组件库仓库中使用 `packages/persagy-mobile/src/<component>/README.zh-CN.md`,在业务项目中使用 `node_modules/persagy-vant/es/<component>/README.zh-CN.md`。涉及视觉、插槽或类型扩展时,同时查阅 `var.less`、类型定义和 demo;API、事件、插槽和导入方式均以这些资料为准。
|
|
16
16
|
5. 阅读 `references/component-variant-selection.md`,针对每个可见或可交互 UI 单元,从该组件模拟器/README 的示例中选定最贴近当前页面的具体样式与变量组合;不得仅按组件名称套用基础示例。
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
组件复用清单面向产品经理,组件名不得使用代码名(如 `label`、`bottom-action-bar`)或自行翻译。交付前执行以下规则:
|
|
39
39
|
|
|
40
40
|
1. 从 `packages/persagy-mobile/vant.config.mjs` 的 `site.locales['zh-CN'].nav` 读取组件官网导航名称和 `path`;在已安装包项目中,从同包的 `vant.config.mjs` 或已发布文档导航读取。
|
|
41
|
-
2. 使用官网导航名称中的中文名称作为链接文字,并链接到 `https://persagy-vant-ai.netlify.app/#/zh-CN/<path>`。例如:`[字段展示](https://persagy-vant-ai.netlify.app/#/zh-CN/label)`、`[动作栏](https://persagy-vant-ai.netlify.app/#/zh-CN/bottom-action-bar)`。
|
|
41
|
+
2. 使用官网导航名称中的中文名称作为链接文字,并链接到 `https://sunshifu-persagy-vant-ai.netlify.app/#/zh-CN/<path>`。例如:`[字段展示](https://sunshifu-persagy-vant-ai.netlify.app/#/zh-CN/label)`、`[动作栏](https://sunshifu-persagy-vant-ai.netlify.app/#/zh-CN/bottom-action-bar)`。
|
|
42
42
|
3. 若官网导航本身展示“中文名称 + 英文名称”,可保留其完整名称,确保与网站完全一致;不得使用组件目录名替代名称。
|
|
43
43
|
4. 若组件尚未出现在官网中文导航或未发布,禁止编造跳转地址;以官网中文名称(如可取得)标注“待官网发布”,并在交付中说明。
|
|
44
44
|
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
```md
|
|
48
48
|
## 组件复用清单
|
|
49
49
|
|
|
50
|
-
- [字段展示](https://persagy-vant-ai.netlify.app/#/zh-CN/label):展示字段名称与回显值;左侧标签使用冒号。
|
|
51
|
-
- [信息卡片](https://persagy-vant-ai.netlify.app/#/zh-CN/info-card):承载成组详情字段。
|
|
52
|
-
- [动作栏](https://persagy-vant-ai.netlify.app/#/zh-CN/bottom-action-bar):承载页面级提交操作。
|
|
50
|
+
- [字段展示](https://sunshifu-persagy-vant-ai.netlify.app/#/zh-CN/label):展示字段名称与回显值;左侧标签使用冒号。
|
|
51
|
+
- [信息卡片](https://sunshifu-persagy-vant-ai.netlify.app/#/zh-CN/info-card):承载成组详情字段。
|
|
52
|
+
- [动作栏](https://sunshifu-persagy-vant-ai.netlify.app/#/zh-CN/bottom-action-bar):承载页面级提交操作。
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
## 组件 README 的维护标准
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
|
|
46
46
|
```md
|
|
47
47
|
## 组件变体选型
|
|
48
|
-
- [单元格](https://persagy-vant-ai.netlify.app/#/zh-CN/cell):模拟器示例「后置选择」;用于工单批量选择,使用 `right-select` 绑定原有选中状态。未采用「展示箭头」,因为该行不是跳转入口。
|
|
49
|
-
- [单元格](https://persagy-vant-ai.netlify.app/#/zh-CN/cell):模拟器示例「三行样式」;用于设备条目,使用 `three-line`、`title`、`label`、`description` 和 `right-icon="arrow"` 呈现名称、编号、位置与详情入口。
|
|
48
|
+
- [单元格](https://sunshifu-persagy-vant-ai.netlify.app/#/zh-CN/cell):模拟器示例「后置选择」;用于工单批量选择,使用 `right-select` 绑定原有选中状态。未采用「展示箭头」,因为该行不是跳转入口。
|
|
49
|
+
- [单元格](https://sunshifu-persagy-vant-ai.netlify.app/#/zh-CN/cell):模拟器示例「三行样式」;用于设备条目,使用 `three-line`、`title`、`label`、`description` 和 `right-icon="arrow"` 呈现名称、编号、位置与详情入口。
|
|
50
50
|
- <官网中文组件名>:模拟器示例「<README 中的准确示例标题>」;<页面意图>,使用 `<实际 Props/插槽/变量>`;<未选其他示例的关键原因>。
|
|
51
51
|
```
|
|
52
52
|
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
- 页面含白色卡片时,优先使用 `background` 组件承载页面内容:一级页面(首页)使用 `theme="default"`,其他层级页面使用 `theme="gray"`。无白色卡片且无明确背景设计时,使用 `--van-gray-1`。
|
|
16
16
|
- 信息展示和录入控件以白色卡片承载;背景主题与页面层级不一致时,以明确的页面原型为准。
|
|
17
17
|
- 卡片内容与页面左右边缘保持 `16px` 间距;卡片之间间距 `8px`。
|
|
18
|
+
- 页面含白色卡片时,在滚动内容的最后一张卡片之后必须保留**唯一且恰好 `24px` 高**的页面级空白容器,避免卡片视觉贴近页面底部;该容器不承载业务内容、不计入卡片间距,也不使用自定义组件实现。滚动到末尾时,该 `24px` 即为滚动内容的终点;不得再叠加 `padding-bottom`、安全区占位、空白节点或额外卡片间距,避免出现超过 `24px` 的可滚动空白。存在固定底部操作栏时,空白容器仍位于可滚动内容末尾、操作栏之前;操作栏自身的安全区只作用于操作栏,不得计入或叠加到滚动内容末尾。
|
|
18
19
|
- 模块之间、控件之间使用 `8px` 或 `12px` 间距;仅左右排布的两组字段,纵向间距不得小于 `8px`。
|
|
19
20
|
- 白色卡片内有分割线的控件列表,最后一个可见控件必须隐藏末尾分割线;使用组件公开能力实现,例如 `cell`/`field` 设置 `border="false"`、`material-display-bar` 设置 `divider="false"`。根据条件渲染或 `visible` 判定最后一个实际可见项,不使用 CSS 强行隐藏分割线。
|
|
20
21
|
- 需要展示字段名称与回显值时,优先使用 `label`,不要手写同类标签和值的排版;左侧标签文本尽量自带冒号,保证名称和值之间的统一阅读间距。录入或选择入口仍使用 `field`、`cell` 等对应组件。多字段成组或存在多种字段展示类型(文字、强调文字、链接、标签、图片/视频或纵向字段)时,优先使用 `info-card` + `label`;按字段内容选择 `label` 的公开展示类型和纵向布局。字段无数据时整项隐藏,使用 `info-card` 时通过字段的 `visible: false` 实现。
|
|
@@ -69,7 +70,7 @@
|
|
|
69
70
|
|
|
70
71
|
```md
|
|
71
72
|
## 规范落实项
|
|
72
|
-
-
|
|
73
|
+
- 布局与文本:<背景、卡片间距、末卡片后 24px 留白、文本溢出和空字段处理方式>
|
|
73
74
|
- 页面结构与触达:<页面/面板层级、导航动效、热区、信息层级;不涉及则说明>
|
|
74
75
|
- 输入与选择:<200 字限制、9 个上传限制、时间、键盘、单选/多选策略;不涉及则说明>
|
|
75
76
|
- 编辑与全局操作:<表单面板、底部操作栏及其变量/布局选择;不涉及则说明>
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
配方限定页面结构,不替代具体组件 API。开始编码前先选择最接近的一项。
|
|
4
4
|
|
|
5
|
+
## 卡片页面底部留白
|
|
6
|
+
|
|
7
|
+
页面以白色卡片承载内容时,在可滚动内容的最后一张卡片后增加唯一且恰好 `24px` 高的空白容器,避免内容贴底。该容器仅承担页面布局留白,不承载业务内容,不作为组件样式修改;滚动到底后必须立即停止,禁止额外的 `padding-bottom`、安全区占位、空白节点或间距使内容继续滚动。固定 `bottom-action-bar` 或其他底部操作栏存在时,将该容器放在操作栏之前;操作栏安全区仅在操作栏内处理,不得叠加到滚动内容末尾。
|
|
8
|
+
|
|
5
9
|
## 全页面进入过渡
|
|
6
10
|
|
|
7
11
|
1. 页面首次进入时,使用纯色页面背景叠加 `loading type="illustration"`,作为页面内容加载完成前的过渡。
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Persagy Vant 公共样式系统
|
|
2
|
+
|
|
3
|
+
本资料汇总整个组件库的**公共样式基础**:全局 CSS Token、内置工具类、页面公共间距与组件级样式资料入口。全局 Token 的源码位于 `packages/persagy-mobile/src/style/var.less` 和 `css-variables.less`,以源码为准。
|
|
4
|
+
|
|
5
|
+
## 使用边界
|
|
6
|
+
|
|
7
|
+
- 页面实现优先使用组件模拟器已提供的样式变体与公开 Props;本资料用于理解并保持一致,不是普通页面自行覆盖视觉的许可。
|
|
8
|
+
- 产品经理未明确提出具体样式调整时,不修改 `--van-*` Token、组件级 Less/CSS 变量、颜色、字号、间距、圆角、边框或动效。
|
|
9
|
+
- 组件级 `var.less` 是组件库维护接口。业务页面出现无法由现有变体覆盖的需求时,记录组件缺口,推动组件库优化变量或新增变体,而不是页面二次样式。
|
|
10
|
+
|
|
11
|
+
## 色彩 Token
|
|
12
|
+
|
|
13
|
+
### 中性与基础色
|
|
14
|
+
|
|
15
|
+
| CSS Token | 值 | 用途 |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| `--van-black` | `#1b2129` | 深色正文/基础深色 |
|
|
18
|
+
| `--van-white` | `#fff` | 白色卡片、反白内容 |
|
|
19
|
+
| `--van-gray-1` ~ `--van-gray-8` | `#f7f9fa`、`#f1f4f6`、`#edf1f5`、`#e1e5eb`、`#c4c9cf`、`#8b949e`、`#626c78`、`#2e3742` | 页面背景、分割线、辅助到主文字 |
|
|
20
|
+
| `--van-grey-50` ~ `--van-grey-900` | `#f7f9fa` 至 `#1b2129` | 细分灰阶,按组件既有样式使用 |
|
|
21
|
+
|
|
22
|
+
### 品牌与状态色
|
|
23
|
+
|
|
24
|
+
| 色系 | Token 范围 | 主色 |
|
|
25
|
+
| --- | --- | --- |
|
|
26
|
+
| 品牌蓝 | `--van-blue-50` ~ `--van-blue-900` | `--van-blue` / `--van-blue-500`:`#246fe5` |
|
|
27
|
+
| 成功绿 | `--van-green-50` ~ `--van-green-900` | `--van-green` / `--van-green-500`:`#3fbe72` |
|
|
28
|
+
| 危险红 | `--van-red-50` ~ `--van-red-900` | `--van-red` / `--van-red-500`:`#f55047` |
|
|
29
|
+
| 警示橙 | `--van-orange-50` ~ `--van-orange-900` | `--van-orange` / `--van-orange-500`:`#ffb800` |
|
|
30
|
+
|
|
31
|
+
### 语义色与背景
|
|
32
|
+
|
|
33
|
+
| CSS Token | 默认值/来源 | 标准用途 |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| `--van-primary-color` | `--van-blue` | 品牌主操作、链接与选中态 |
|
|
36
|
+
| `--van-success-color` / `--van-danger-color` / `--van-warning-color` | 绿 / 红 / 橙 | 成功、风险、警示语义 |
|
|
37
|
+
| `--van-text-color` / `--van-text-color-2` / `--van-text-color-3` | 灰阶 8 / 6 / 5 | 主正文 / 次要说明 / 弱提示 |
|
|
38
|
+
| `--van-text-link-color` | `#576b95` | 通用链接色(优先使用组件链接变体) |
|
|
39
|
+
| `--van-background-color` / `--van-background-color-light` | 灰阶 1 / 白色 | 页面背景 / 白色承载面 |
|
|
40
|
+
| `--van-border-color` | 灰阶 4 | 分割线、描边 |
|
|
41
|
+
| `--van-active-color` / `--van-active-opacity` | 灰阶 2 / `0.6` | 组件默认按压态 |
|
|
42
|
+
| `--van-disabled-opacity` | `0.5` | 禁用态 |
|
|
43
|
+
| `--van-gradient-gray` | 灰阶 2至透明 | `gradient-gray` 公共渐变 |
|
|
44
|
+
| `--van-gradient-blue` | `rgb(36 112 230 / 10%)` 至 `rgb(36 112 230 / 1%)` | `gradient-blue` 公共蓝色渐变 |
|
|
45
|
+
|
|
46
|
+
## 尺寸、排版与动效 Token
|
|
47
|
+
|
|
48
|
+
| 类别 | Token | 值 |
|
|
49
|
+
| --- | --- | --- |
|
|
50
|
+
| 间距 | `--van-padding-base/xs/sm/md/lg/xl` | `4 / 8 / 12 / 16 / 24 / 32px` |
|
|
51
|
+
| 字号 | `--van-font-size-xs/sm/md/lg/xl` | `10 / 12 / 14 / 16 / 20px` |
|
|
52
|
+
| 行高 | `--van-line-height-xs/sm/md/lg/xl` | `14 / 18 / 20 / 22 / 24px` |
|
|
53
|
+
| 字重 | `--van-font-weight-bold` | `500` |
|
|
54
|
+
| 圆角 | `--van-border-radius-sm/md/lg/max` | `2 / 4 / 8 / 999px` |
|
|
55
|
+
| 边框 | `--van-border-width-base` | `1px` |
|
|
56
|
+
| 动效 | `--van-animation-duration-fast/base` | `0.2 / 0.3s` |
|
|
57
|
+
| 动效曲线 | `--van-animation-timing-function-enter/leave` | `ease-out / ease-in` |
|
|
58
|
+
|
|
59
|
+
## 公共工具类与动画
|
|
60
|
+
|
|
61
|
+
| 名称 | 能力 | 页面使用规则 |
|
|
62
|
+
| --- | --- | --- |
|
|
63
|
+
| `van-ellipsis` | 单行省略 | 文本不适合换行时使用 |
|
|
64
|
+
| `van-multi-ellipsis--l2` / `van-multi-ellipsis--l3` | 两/三行省略 | 仅在无法完整换行且有查看全文路径时使用 |
|
|
65
|
+
| `gradient-gray` / `van-gradient-gray` | 灰到透明的横向渐变 | 仅用于组件/页面已有渐变承载语义 |
|
|
66
|
+
| `gradient-blue` / `van-gradient-blue` | 10% 至 1% 透明度的横向蓝色渐变 | 有蓝色弱强调承载语义时优先使用;不自行重配渐变色或透明度 |
|
|
67
|
+
| `van-hairline--top/left/right/bottom/top-bottom/surround` | Retina 1px 边框 | 优先使用组件内置分割线;不要用它替代组件的 `border`/`divider` 能力 |
|
|
68
|
+
| `van-safe-area-top/bottom` | 顶/底安全区 | 仅作用于固定区域;不得叠加到卡片页面末尾的 24px 留白 |
|
|
69
|
+
| `van-haptics-feedback` | 默认点击透明度反馈 | 有内置按压态的组件不重复使用 |
|
|
70
|
+
| `van-fade` | 淡入淡出 | 用于轻量显示/隐藏 |
|
|
71
|
+
| `van-slide-up/down/left/right` | 四向转场 | 页面与面板转场按设计交互基线选择 |
|
|
72
|
+
|
|
73
|
+
## 页面公共布局值
|
|
74
|
+
|
|
75
|
+
| 项目 | 标准 |
|
|
76
|
+
| --- | --- |
|
|
77
|
+
| 具白色卡片的页面背景 | 【背景】组件;首页 `theme="default"`,其他层级 `theme="gray"` |
|
|
78
|
+
| 页面左右边距 | `16px` |
|
|
79
|
+
| 卡片之间 | `8px` |
|
|
80
|
+
| 模块/控件间 | `8px` 或 `12px` |
|
|
81
|
+
| 纯左右字段组纵向间距 | 不小于 `8px` |
|
|
82
|
+
| 卡片内容末尾 | 最后一个可见项隐藏分割线 |
|
|
83
|
+
| 卡片页面滚动终点 | 最后卡片后唯一 `24px` 空白容器;不得叠加额外可滚动留白 |
|
|
84
|
+
|
|
85
|
+
完整页面规则以 `design-interaction-baseline.md` 为准。
|
|
86
|
+
|
|
87
|
+
## 组件级样式索引
|
|
88
|
+
|
|
89
|
+
组件库共有 `85` 份组件级 `var.less`,涵盖基础组件、业务组件和页面容器。它们按组件目录维护,例如:
|
|
90
|
+
|
|
91
|
+
| 样式类别 | 代表组件 | 样式变量源码 |
|
|
92
|
+
| --- | --- | --- |
|
|
93
|
+
| 页面与容器 | `background`、`card`、`cell-group`、`content-panel`、`popup` | `src/<component>/var.less` |
|
|
94
|
+
| 信息展示 | `cell`、`label`、`info-card`、`title-bar`、`tag`、`badge` | `src/<component>/var.less` |
|
|
95
|
+
| 表单与选择 | `field`、`checkbox`、`radio`、`picker`、`search`、`uploader` | `src/<component>/var.less` |
|
|
96
|
+
| 操作与反馈 | `button`、`bottom-action-bar`、`dialog`、`toast`、`notify`、`loading` | `src/<component>/var.less` |
|
|
97
|
+
| 业务场景 | `work-order-card`、`work-order-filter`、`material-display-bar`、`friendly-tip` | `src/<component>/var.less` |
|
|
98
|
+
|
|
99
|
+
查找规则:先读目标组件 README 的样式变量说明和模拟器示例;需要组件库维护时再读取同目录 `var.less`。不得根据变量名称臆造未文档化能力。
|
|
100
|
+
|
|
101
|
+
## 维护规则
|
|
102
|
+
|
|
103
|
+
- 新增或调整全局 Token 时,同步更新 `src/style/var.less`、`css-variables.less` 与本资料。
|
|
104
|
+
- 新增或调整组件级样式变量时,同步更新组件 `var.less`、README、demo 与组件目录描述。
|
|
105
|
+
- 若业务页面持续出现同类样式缺口,优先沉淀为组件变体或组件公开变量,再由产品经理决定是否推广。
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
|
|
50
50
|
```md
|
|
51
51
|
## 组件复用清单
|
|
52
|
-
- [<官网中文组件名>](https://persagy-vant-ai.netlify.app/#/zh-CN/<组件路径>):<承担的页面职责与关键公开能力>
|
|
53
|
-
- [<官网中文组件名>](https://persagy-vant-ai.netlify.app/#/zh-CN/<组件路径>):<承担的页面职责与关键公开能力>
|
|
52
|
+
- [<官网中文组件名>](https://sunshifu-persagy-vant-ai.netlify.app/#/zh-CN/<组件路径>):<承担的页面职责与关键公开能力>
|
|
53
|
+
- [<官网中文组件名>](https://sunshifu-persagy-vant-ai.netlify.app/#/zh-CN/<组件路径>):<承担的页面职责与关键公开能力>
|
|
54
54
|
|
|
55
55
|
组件名和路径必须从 `component-documentation.md` 指定的官网中文导航读取;未发布组件标注“待官网发布”,不得编造链接。
|
|
56
56
|
|
|
File without changes
|
|
File without changes
|