vue-devui 1.5.12 → 1.5.13

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.
Files changed (95) hide show
  1. package/auto-complete/index.es.js +139 -61
  2. package/auto-complete/index.umd.js +16 -16
  3. package/auto-complete/style.css +1 -1
  4. package/checkbox/index.es.js +115 -61
  5. package/checkbox/index.umd.js +15 -15
  6. package/checkbox/style.css +1 -1
  7. package/code-editor/index.es.js +5 -2
  8. package/code-editor/index.umd.js +6 -6
  9. package/code-review/index.es.js +12 -1
  10. package/code-review/index.umd.js +18 -18
  11. package/code-review/style.css +1 -1
  12. package/date-picker-pro/index.es.js +213 -109
  13. package/date-picker-pro/index.umd.js +19 -19
  14. package/date-picker-pro/style.css +1 -1
  15. package/editor-md/index.es.js +1 -1
  16. package/editor-md/index.umd.js +1 -1
  17. package/form/index.es.js +142 -64
  18. package/form/index.umd.js +14 -14
  19. package/form/style.css +1 -1
  20. package/image-preview/index.es.js +2 -6
  21. package/image-preview/index.umd.js +2 -2
  22. package/image-preview/style.css +1 -1
  23. package/input/index.es.js +207 -79
  24. package/input/index.umd.js +18 -18
  25. package/input/style.css +1 -1
  26. package/input-number/index.es.js +123 -46
  27. package/input-number/index.umd.js +20 -20
  28. package/input-number/style.css +1 -1
  29. package/mention/index.es.js +138 -60
  30. package/mention/index.umd.js +16 -16
  31. package/mention/style.css +1 -1
  32. package/nuxt/components/STYLE_TOKEN.js +3 -0
  33. package/nuxt/components/formControlProps.js +3 -0
  34. package/package.json +1 -1
  35. package/pagination/index.es.js +376 -161
  36. package/pagination/index.umd.js +19 -19
  37. package/pagination/style.css +1 -1
  38. package/progress/index.es.js +6 -6
  39. package/progress/index.umd.js +1 -1
  40. package/radio/index.es.js +115 -61
  41. package/radio/index.umd.js +16 -16
  42. package/radio/style.css +1 -1
  43. package/search/index.es.js +211 -83
  44. package/search/index.umd.js +19 -19
  45. package/search/style.css +1 -1
  46. package/select/index.es.js +358 -143
  47. package/select/index.umd.js +17 -17
  48. package/select/style.css +1 -1
  49. package/skeleton/index.es.js +1 -0
  50. package/skeleton/index.umd.js +2 -2
  51. package/steps/index.es.js +35 -11
  52. package/steps/index.umd.js +1 -1
  53. package/style.css +1 -1
  54. package/switch/index.es.js +115 -61
  55. package/switch/index.umd.js +14 -14
  56. package/switch/style.css +1 -1
  57. package/table/index.es.js +88 -34
  58. package/table/index.umd.js +15 -15
  59. package/table/style.css +1 -1
  60. package/textarea/index.es.js +141 -63
  61. package/textarea/index.umd.js +17 -17
  62. package/textarea/style.css +1 -1
  63. package/time-picker/index.es.js +159 -55
  64. package/time-picker/index.umd.js +11 -11
  65. package/time-picker/style.css +1 -1
  66. package/time-select/index.es.js +358 -143
  67. package/time-select/index.umd.js +22 -22
  68. package/time-select/style.css +1 -1
  69. package/tree/index.es.js +86 -32
  70. package/tree/index.umd.js +11 -11
  71. package/tree/style.css +1 -1
  72. package/types/auto-focus/index.d.ts +9 -0
  73. package/types/auto-focus/src/auto-focus-directive.d.ts +4 -0
  74. package/types/code-review/src/code-review-types.d.ts +6 -0
  75. package/types/code-review/src/code-review.d.ts +9 -0
  76. package/types/form/index.d.ts +1 -0
  77. package/types/form/src/components/form-control/use-form-control.d.ts +11 -2
  78. package/types/form/src/components/form-item/form-item-types.d.ts +10 -2
  79. package/types/form/src/components/form-item/form-item.d.ts +3 -3
  80. package/types/form/src/components/form-label/form-label.d.ts +1 -13
  81. package/types/form/src/components/form-label/use-form-label.d.ts +14 -2
  82. package/types/form/src/form-types.d.ts +11 -0
  83. package/types/form/src/form.d.ts +18 -0
  84. package/types/input/src/composables/use-input-event.d.ts +12 -2
  85. package/types/input/src/input-types.d.ts +8 -0
  86. package/types/input/src/input.d.ts +18 -0
  87. package/types/input-icon/src/input-icon.d.ts +18 -0
  88. package/types/list/index.d.ts +0 -1
  89. package/types/select/src/composables/use-select-menu-size.d.ts +5 -0
  90. package/types/select/src/select-types.d.ts +23 -4
  91. package/types/select/src/select.d.ts +19 -1
  92. package/types/select/src/use-select.d.ts +1 -1
  93. package/types/vue-devui.d.ts +2 -1
  94. package/vue-devui.es.js +415 -134
  95. package/vue-devui.umd.js +76 -76
package/radio/style.css CHANGED
@@ -1 +1 @@
1
- .devui-fixed-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--devui-shadow, rgba(37, 43, 58, .24));z-index:1050}.devui-fixed-overlay--fade-enter-active,.devui-fixed-overlay--fade-leave-active{transition:opacity .1s cubic-bezier(0,0,1,1)}.devui-fixed-overlay--fade-enter-from,.devui-fixed-overlay--fade-leave-to{opacity:0}.devui-flexible-overlay{position:fixed;border-radius:var(--devui-border-radius, 2px);background-color:var(--devui-connected-overlay-bg, #ffffff);box-shadow:var(--devui-shadow-length-connected-overlay, 0 2px 12px 0) var(--devui-shadow, rgba(37, 43, 58, .24));z-index:1000}.devui-flexible-overlay__arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg);background-color:inherit}.devui-popover__icon-wrap{width:16px;height:16px;margin-right:8px}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--success>g>path{fill:var(--devui-success, #50d4ab)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--success>g>circle,.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--success>g>polygon{fill:var(--devui-light-text, #ffffff)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--warning>g>path{fill:var(--devui-warning, #fac20a)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--warning>g>polygon{fill:var(--devui-light-text, #ffffff)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--info>g>g{fill:var(--devui-info, #5e7ce0)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--info>g>circle{fill:var(--devui-light-text, #ffffff)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--error>g>path{fill:var(--devui-danger, #f66f6a)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--error>g>circle{fill:var(--devui-light-text, #ffffff)}.devui-popover__content.devui-flexible-overlay{display:flex;flex-wrap:wrap;align-items:center;white-space:nowrap;padding:4px 12px;line-height:1.5;border-radius:var(--devui-border-radius-feedback, 4px);color:var(--devui-feedback-overlay-text, #dfe1e6);background-color:var(--devui-feedback-overlay-bg, #464d6e);font-size:var(--devui-font-size-sm, 12px)}.devui-popover__content.devui-flexible-overlay.is-icon{flex-wrap:nowrap}.devui-popover--fade-bottom-enter-from,.devui-popover--fade-bottom-leave-to,.devui-popover--fade-top-enter-from,.devui-popover--fade-top-leave-to{opacity:.8;transform:scaleY(.8)}.devui-popover--fade-bottom-enter-to,.devui-popover--fade-bottom-leave-from,.devui-popover--fade-top-enter-to,.devui-popover--fade-top-leave-from{opacity:1;transform:scaleY(1)}.devui-popover--fade-bottom-enter-active,.devui-popover--fade-top-enter-active{transition:transform .1s cubic-bezier(.16,.75,.5,1),opacity .1s cubic-bezier(.16,.75,.5,1)}.devui-popover--fade-bottom-leave-active,.devui-popover--fade-top-leave-active{transition:transform .1s cubic-bezier(.5,0,.84,.25),opacity .1s cubic-bezier(.5,0,.84,.25)}.devui-popover--fade-left-enter-from,.devui-popover--fade-left-leave-to,.devui-popover--fade-right-enter-from,.devui-popover--fade-right-leave-to{opacity:.8;transform:scaleX(.8)}.devui-popover--fade-left-enter-to,.devui-popover--fade-left-leave-from,.devui-popover--fade-right-enter-to,.devui-popover--fade-right-leave-from{opacity:1;transform:scaleX(1)}.devui-popover--fade-left-enter-active,.devui-popover--fade-right-enter-active{transition:transform .1s cubic-bezier(.16,.75,.5,1),opacity .1s cubic-bezier(.16,.75,.5,1)}.devui-popover--fade-left-leave-active,.devui-popover--fade-right-leave-active{transition:transform .1s cubic-bezier(.5,0,.84,.25),opacity .1s cubic-bezier(.5,0,.84,.25)}.devui-form__label{align-self:flex-start}.devui-form__label--vertical{padding-bottom:8px}.devui-form__label--sm{flex:0 0 80px}.devui-form__label--md{flex:0 0 100px}.devui-form__label--lg{flex:0 0 150px}.devui-form__label--start{text-align:left}.devui-form__label--center{text-align:center}.devui-form__label--end{text-align:end}.devui-form__label-span{display:inline-block;vertical-align:middle;color:var(--devui-text, #252b3a)}.devui-form__label--required:before{content:"*";color:red;display:inline-block;margin-right:8px;margin-left:-12px}.devui-form__label--required-hide:before{display:none}.devui-form__label-help{position:relative;top:-.1em;display:inline-block;vertical-align:middle;margin-left:4px;cursor:pointer}.devui-form__control{flex:1 1 auto;position:relative;width:100%}.devui-form__control--horizontal{margin-left:16px}.devui-form__control .devui-star{color:red}.devui-form__control .devui-form__control-container{position:relative}.devui-form__control .devui-form__control-container--horizontal{display:flex;width:100%}.devui-form__control .devui-form__control-container--horizontal .devui-validate-tip{margin:0}.devui-form__control .devui-form__control-container .devui-form__feedback-icon{position:absolute;top:50%;right:0;z-index:1;width:32px;height:16px;text-align:center;visibility:visible;pointer-events:none;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--error svg circle{fill:var(--devui-danger, #f66f6a)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--error svg polygon{fill:var(--devui-base-bg, #ffffff)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--success svg circle{fill:var(--devui-success, #50d4ab)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--success svg polygon{fill:var(--devui-base-bg, #ffffff)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--pending svg{animation:loading-keyframes 1s infinite linear}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--pending svg path{fill:var(--devui-brand, #5e7ce0)}.devui-form__control .devui-form__control-container--has-feedback{display:flex;align-items:center}.devui-form__control .devui-form__control-container--has-feedback input{padding-right:28px}.devui-form__control .devui-form__control-container--feedback-error{border:1px solid #f66f6a;border-radius:2px}.devui-form__control .devui-form__control-container--feedback-error input{background-color:#ffeeed;border-color:transparent}.devui-form__control .devui-form__control-container--feedback-error input:hover{border-color:transparent!important}.devui-form__control .devui-form__control-container--feedback-error input:focus{border-color:transparent!important}.devui-form__control .devui-form__control-container--feedback-error .devui-select-arrow{right:24px!important}.devui-form__control .devui-form__control-info{line-height:1}.devui-form__control .devui-form__control-info .error-message{display:inline-block;min-height:20px;line-height:1.5;font-size:var(--devui-font-size, 12px);color:var(--devui-danger, #f66f6a)}.devui-form__control .devui-form__control-info .devui-form__control-extra{font-size:var(--devui-font-size, 12px);color:var(--devui-aide-text, #71757f);min-height:20px;line-height:1.5;text-align:justify}@keyframes loading-keyframes{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.devui-form__item--horizontal{display:flex;align-items:center;margin-bottom:20px}.devui-form__item--vertical{display:flex;flex-direction:column;margin-bottom:20px}.devui-form__item--error{margin-bottom:0}.devui-form-operation .star{color:red}@charset "UTF-8";.devui-radio{font-size:var(--devui-font-size, 12px);line-height:1.5;font-weight:400;cursor:pointer;color:var(--devui-text, #252b3a)}.devui-radio__wrapper{display:flex;justify-content:flex-start;align-items:center}.devui-radio:hover .devui-radio__label{color:var(--devui-primary-hover, #7693f5)}.devui-radio:active .devui-radio__material-outer,.devui-radio:focus .devui-radio__material-outer,.devui-radio:hover .devui-radio__material-outer{stroke:var(--devui-form-control-line-active, #5e7ce0)}.devui-radio:active .devui-radio__material-inner,.devui-radio:focus .devui-radio__material-inner,.devui-radio:hover .devui-radio__material-inner{fill:var(--devui-brand, #5e7ce0)}.devui-radio.active .devui-radio__material-outer{opacity:1;stroke:var(--devui-form-control-line-active, #5e7ce0);transition:stroke 50ms var(--devui-animation-ease-in-out, cubic-bezier(.5, .05, .5, .95))}.devui-radio.active .devui-radio__material-outer.disabled{stroke:var(--devui-icon-fill-active-disabled, #beccfa);fill:transparent}.devui-radio.active .devui-radio__material-inner{opacity:1;transform:scale(1);transition:transform var(--devui-animation-duration-base, .2s) var(--devui-animation-ease-in-out, cubic-bezier(.5, .05, .5, .95)),opacity var(--devui-animation-duration-base, .2s) var(--devui-animation-ease-in-out, cubic-bezier(.5, .05, .5, .95))}.devui-radio.active .devui-radio__material-inner.disabled{fill:var(--devui-icon-fill-active-disabled, #beccfa)}.devui-radio.active.devui-radio--bordered{border-color:var(--devui-primary-hover, #7693f5)}.devui-radio.disabled{cursor:not-allowed}.devui-radio.disabled .devui-radio__material-outer{stroke:var(--devui-disabled-line, #dfe1e6);fill:var(--devui-disabled-bg, #f5f5f5)}.devui-radio.disabled .devui-radio__material-inner{fill:var(--devui-icon-fill-active-disabled, #beccfa)}.devui-radio.disabled .devui-radio__label{color:var(--devui-disabled-text, #cfd0d3)}.devui-radio.disabled.devui-radio--bordered{border-color:var(--devui-disabled-line, #dfe1e6)}.devui-radio__material{vertical-align:middle;position:relative;display:inline-block;overflow:hidden;height:16px;width:16px;line-height:16px;user-select:none}.devui-radio__material-outer{opacity:1;transition:stroke 50ms cubic-bezier(.755,.05,.855,.06);stroke:var(--devui-line, #d7d8da);fill:transparent}.devui-radio__material-inner{opacity:0;transform:scale(0);transform-origin:50% 50%;transition:transform .2s cubic-bezier(.755,.05,.855,.06),opacity .2s cubic-bezier(.755,.05,.855,.06);fill:var(--devui-brand, #5e7ce0)}.devui-radio__label{color:var(--devui-text, #252b3a);margin-left:8px;font-size:var(--devui-font-size, 12px);transition:color var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out, cubic-bezier(.5, .05, .5, .95));line-height:1}.devui-radio__input{opacity:0;z-index:-1;width:0;height:0;display:none;overflow:hidden;pointer-events:none}.devui-radio--bordered{border:1px solid var(--devui-disabled-line, #dfe1e6);border-radius:var(--devui-border-radius, 2px);padding:0 15px 0 10px}.devui-radio.devui-radio--lg{display:flex;align-items:center}.devui-radio.devui-radio--lg .devui-radio__label{font-size:var(--devui-font-size-lg, 14px)}.devui-radio.devui-radio--lg .devui-radio__material{width:18px;height:18px}.devui-radio.devui-radio--lg .devui-radio__material>svg{width:18px;height:18px}.devui-radio.devui-radio--lg.devui-radio--bordered{height:40px}.devui-radio.devui-radio--md{display:flex;align-items:center}.devui-radio.devui-radio--md .devui-radio__label{font-size:var(--devui-font-size-md, 12px)}.devui-radio.devui-radio--md .devui-radio__material{width:16px;height:16px}.devui-radio.devui-radio--md .devui-radio__material>svg{width:16px;height:16px}.devui-radio.devui-radio--md.devui-radio--bordered{height:32px}.devui-radio.devui-radio--sm{display:flex;align-items:center}.devui-radio.devui-radio--sm .devui-radio__label{font-size:var(--devui-font-size-sm, 12px)}.devui-radio.devui-radio--sm .devui-radio__material{width:14px;height:14px}.devui-radio.devui-radio--sm .devui-radio__material>svg{width:14px;height:14px}.devui-radio.devui-radio--sm.devui-radio--bordered{height:24px}.devui-radio-group{display:inline-flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start}.devui-radio-group.is-row{flex-direction:row}.devui-radio-group.is-column{flex-direction:column}.devui-radio-group .devui-radio__wrapper:not(:last-child){padding-right:20px}.devui-radio-button{display:flex;align-items:center;position:relative;padding:var(--devui-btn-padding, 0 20px);height:32px;font-size:var(--devui-font-size-md, 12px);color:var(--devui-text, #252b3a);cursor:pointer;border:1px solid var(--devui-line, #d7d8da);user-select:none}.devui-radio-button.devui-radio-button--lg{font-size:var(--devui-font-size-lg, 14px);padding:var(--devui-btn-lg-padding, 0 24px);height:40px;line-height:40px}.devui-radio-button.devui-radio-button--md{font-size:var(--devui-font-size-md, 12px);padding:var(--devui-btn-padding, 0 20px);height:32px;line-height:32px}.devui-radio-button.devui-radio-button--sm{font-size:var(--devui-font-size-sm, 12px);padding:var(--devui-btn-sm-padding, 0 16px);height:24px;line-height:24px}.devui-radio-button__input{opacity:0;position:absolute;margin:0;z-index:-1;width:0;height:0;overflow:hidden;left:0;pointer-events:none}.devui-radio-button.active{color:#fff;background-color:var(--devui-brand, #5e7ce0);border-color:var(--devui-brand, #5e7ce0)}.devui-radio-button.active.disabled{color:#fff;background-color:var(--devui-icon-fill-active-disabled, #beccfa)}.devui-radio-button.disabled{cursor:not-allowed;color:var(--devui-disabled-text, #cfd0d3);background-color:#fff;border-color:var(--devui-disabled-line, #dfe1e6)}.devui-radio-group.is-row .devui-radio-button{border-left:none}.devui-radio-group.is-row .devui-radio-button:first-child{border-top-left-radius:var(--devui-border-radius, 2px);border-bottom-left-radius:var(--devui-border-radius, 2px);border-left:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-radio-group.is-row .devui-radio-button:last-child{border-top-right-radius:var(--devui-border-radius, 2px);border-bottom-right-radius:var(--devui-border-radius, 2px)}.devui-radio-group.is-column .devui-radio-button{width:100%;border-top:none}.devui-radio-group.is-column .devui-radio-button:first-child{border-top-left-radius:var(--devui-border-radius, 2px);border-top-right-radius:var(--devui-border-radius, 2px);border-top:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-radio-group.is-column .devui-radio-button:last-child{border-bottom-left-radius:var(--devui-border-radius, 2px);border-bottom-right-radius:var(--devui-border-radius, 2px)}
1
+ .devui-fixed-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--devui-shadow, rgba(37, 43, 58, .24));z-index:1050}.devui-fixed-overlay--fade-enter-active,.devui-fixed-overlay--fade-leave-active{transition:opacity .1s cubic-bezier(0,0,1,1)}.devui-fixed-overlay--fade-enter-from,.devui-fixed-overlay--fade-leave-to{opacity:0}.devui-flexible-overlay{position:fixed;border-radius:var(--devui-border-radius, 2px);background-color:var(--devui-connected-overlay-bg, #ffffff);box-shadow:var(--devui-shadow-length-connected-overlay, 0 2px 12px 0) var(--devui-shadow, rgba(37, 43, 58, .24));z-index:1000}.devui-flexible-overlay__arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg);background-color:inherit}.devui-popover__icon-wrap{width:16px;height:16px;margin-right:8px}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--success>g>path{fill:var(--devui-success, #50d4ab)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--success>g>circle,.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--success>g>polygon{fill:var(--devui-light-text, #ffffff)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--warning>g>path{fill:var(--devui-warning, #fac20a)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--warning>g>polygon{fill:var(--devui-light-text, #ffffff)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--info>g>g{fill:var(--devui-info, #5e7ce0)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--info>g>circle{fill:var(--devui-light-text, #ffffff)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--error>g>path{fill:var(--devui-danger, #f66f6a)}.devui-popover__icon-wrap .devui-popover__icon.devui-popover__icon--error>g>circle{fill:var(--devui-light-text, #ffffff)}.devui-popover__content.devui-flexible-overlay{display:flex;flex-wrap:wrap;align-items:center;white-space:nowrap;padding:4px 12px;line-height:1.5;border-radius:var(--devui-border-radius-feedback, 4px);color:var(--devui-feedback-overlay-text, #dfe1e6);background-color:var(--devui-feedback-overlay-bg, #464d6e);font-size:var(--devui-font-size-sm, 12px)}.devui-popover__content.devui-flexible-overlay.is-icon{flex-wrap:nowrap}.devui-popover--fade-bottom-enter-from,.devui-popover--fade-bottom-leave-to,.devui-popover--fade-top-enter-from,.devui-popover--fade-top-leave-to{opacity:.8;transform:scaleY(.8)}.devui-popover--fade-bottom-enter-to,.devui-popover--fade-bottom-leave-from,.devui-popover--fade-top-enter-to,.devui-popover--fade-top-leave-from{opacity:1;transform:scaleY(1)}.devui-popover--fade-bottom-enter-active,.devui-popover--fade-top-enter-active{transition:transform .1s cubic-bezier(.16,.75,.5,1),opacity .1s cubic-bezier(.16,.75,.5,1)}.devui-popover--fade-bottom-leave-active,.devui-popover--fade-top-leave-active{transition:transform .1s cubic-bezier(.5,0,.84,.25),opacity .1s cubic-bezier(.5,0,.84,.25)}.devui-popover--fade-left-enter-from,.devui-popover--fade-left-leave-to,.devui-popover--fade-right-enter-from,.devui-popover--fade-right-leave-to{opacity:.8;transform:scaleX(.8)}.devui-popover--fade-left-enter-to,.devui-popover--fade-left-leave-from,.devui-popover--fade-right-enter-to,.devui-popover--fade-right-leave-from{opacity:1;transform:scaleX(1)}.devui-popover--fade-left-enter-active,.devui-popover--fade-right-enter-active{transition:transform .1s cubic-bezier(.16,.75,.5,1),opacity .1s cubic-bezier(.16,.75,.5,1)}.devui-popover--fade-left-leave-active,.devui-popover--fade-right-leave-active{transition:transform .1s cubic-bezier(.5,0,.84,.25),opacity .1s cubic-bezier(.5,0,.84,.25)}.devui-form__label{align-self:flex-start}.devui-form__label--vertical{padding-bottom:8px}.devui-form__label--sm{flex:0 0 80px}.devui-form__label--md{flex:0 0 100px}.devui-form__label--lg{flex:0 0 150px}.devui-form__label--start{text-align:left}.devui-form__label--center{text-align:center}.devui-form__label--end{text-align:end}.devui-form__label-span{display:inline-block;vertical-align:middle;font-size:var(--devui-font-size, 12px);color:var(--devui-aide-text, #71757f)}.devui-form__label--required:before{content:"*";color:red;display:inline-block;margin-right:8px;margin-left:-12px}.devui-form__label--required-hide:before{display:none}.devui-form__label-help{position:relative;top:-.1em;display:inline-block;vertical-align:middle;margin-left:4px;cursor:pointer}.devui-form__label-tips-popover .dv-popover__icon-wrap+span{flex:1}.devui-form__control{flex:1 1 auto;position:relative;width:100%}.devui-form__control--horizontal{margin-left:16px}.devui-form__control .devui-star{color:red}.devui-form__control .devui-form__control-container{position:relative}.devui-form__control .devui-form__control-container--horizontal{display:flex;width:100%}.devui-form__control .devui-form__control-container--horizontal .devui-validate-tip{margin:0}.devui-form__control .devui-form__control-container .devui-form__feedback-icon{position:absolute;top:50%;right:0;z-index:1;width:32px;height:16px;text-align:center;visibility:visible;pointer-events:none;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--error svg circle{fill:var(--devui-danger, #f66f6a)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--error svg polygon{fill:var(--devui-base-bg, #ffffff)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--success svg circle{fill:var(--devui-success, #50d4ab)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--success svg polygon{fill:var(--devui-base-bg, #ffffff)}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--pending svg{animation:loading-keyframes 1s infinite linear}.devui-form__control .devui-form__control-container .devui-form__feedback-icon--pending svg path{fill:var(--devui-brand, #5e7ce0)}.devui-form__control .devui-form__control-container--has-feedback{display:flex;align-items:center}.devui-form__control .devui-form__control-container--has-feedback input{padding-right:28px}.devui-form__control .devui-form__control-container--feedback-error{border:1px solid #f66f6a;border-radius:2px}.devui-form__control .devui-form__control-container--feedback-error input{background-color:#ffeeed;border-color:transparent}.devui-form__control .devui-form__control-container--feedback-error input:hover{border-color:transparent!important}.devui-form__control .devui-form__control-container--feedback-error input:focus{border-color:transparent!important}.devui-form__control .devui-form__control-container--feedback-error .devui-select-arrow{right:24px!important}.devui-form__control .devui-form__control-info{line-height:1}.devui-form__control .devui-form__control-info .error-message{display:inline-block;min-height:20px;line-height:1.5;font-size:var(--devui-font-size, 12px);color:var(--devui-danger, #f66f6a)}.devui-form__control .devui-form__control-info .devui-form__control-extra{font-size:var(--devui-font-size, 12px);color:var(--devui-aide-text, #71757f);min-height:20px;line-height:1.5;text-align:justify}@keyframes loading-keyframes{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.devui-form__item--horizontal{display:flex;align-items:center;margin-bottom:20px}.devui-form__item--vertical{display:flex;flex-direction:column;margin-bottom:20px}.devui-form__item--error{margin-bottom:0}.devui-form-operation .star{color:red}@charset "UTF-8";.devui-radio{font-size:var(--devui-font-size, 12px);line-height:1.5;font-weight:400;cursor:pointer;color:var(--devui-text, #252b3a)}.devui-radio__wrapper{display:flex;justify-content:flex-start;align-items:center}.devui-radio:hover .devui-radio__label{color:var(--devui-primary-hover, #7693f5)}.devui-radio:active .devui-radio__material-outer,.devui-radio:focus .devui-radio__material-outer,.devui-radio:hover .devui-radio__material-outer{stroke:var(--devui-form-control-line-active, #5e7ce0)}.devui-radio:active .devui-radio__material-inner,.devui-radio:focus .devui-radio__material-inner,.devui-radio:hover .devui-radio__material-inner{fill:var(--devui-brand, #5e7ce0)}.devui-radio.active .devui-radio__material-outer{opacity:1;stroke:var(--devui-form-control-line-active, #5e7ce0);transition:stroke 50ms var(--devui-animation-ease-in-out, cubic-bezier(.5, .05, .5, .95))}.devui-radio.active .devui-radio__material-outer.disabled{stroke:var(--devui-icon-fill-active-disabled, #beccfa);fill:transparent}.devui-radio.active .devui-radio__material-inner{opacity:1;transform:scale(1);transition:transform var(--devui-animation-duration-base, .2s) var(--devui-animation-ease-in-out, cubic-bezier(.5, .05, .5, .95)),opacity var(--devui-animation-duration-base, .2s) var(--devui-animation-ease-in-out, cubic-bezier(.5, .05, .5, .95))}.devui-radio.active .devui-radio__material-inner.disabled{fill:var(--devui-icon-fill-active-disabled, #beccfa)}.devui-radio.active.devui-radio--bordered{border-color:var(--devui-primary-hover, #7693f5)}.devui-radio.disabled{cursor:not-allowed}.devui-radio.disabled .devui-radio__material-outer{stroke:var(--devui-disabled-line, #dfe1e6);fill:var(--devui-disabled-bg, #f5f5f5)}.devui-radio.disabled .devui-radio__material-inner{fill:var(--devui-icon-fill-active-disabled, #beccfa)}.devui-radio.disabled .devui-radio__label{color:var(--devui-disabled-text, #cfd0d3)}.devui-radio.disabled.devui-radio--bordered{border-color:var(--devui-disabled-line, #dfe1e6)}.devui-radio__material{vertical-align:middle;position:relative;display:inline-block;overflow:hidden;height:16px;width:16px;line-height:16px;user-select:none}.devui-radio__material-outer{opacity:1;transition:stroke 50ms cubic-bezier(.755,.05,.855,.06);stroke:var(--devui-line, #d7d8da);fill:transparent}.devui-radio__material-inner{opacity:0;transform:scale(0);transform-origin:50% 50%;transition:transform .2s cubic-bezier(.755,.05,.855,.06),opacity .2s cubic-bezier(.755,.05,.855,.06);fill:var(--devui-brand, #5e7ce0)}.devui-radio__label{color:var(--devui-text, #252b3a);margin-left:8px;font-size:var(--devui-font-size, 12px);transition:color var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out, cubic-bezier(.5, .05, .5, .95));line-height:1}.devui-radio__input{opacity:0;z-index:-1;width:0;height:0;display:none;overflow:hidden;pointer-events:none}.devui-radio--bordered{border:1px solid var(--devui-disabled-line, #dfe1e6);border-radius:var(--devui-border-radius, 2px);padding:0 15px 0 10px}.devui-radio.devui-radio--lg{display:flex;align-items:center}.devui-radio.devui-radio--lg .devui-radio__label{font-size:var(--devui-font-size-lg, 14px)}.devui-radio.devui-radio--lg .devui-radio__material{width:18px;height:18px}.devui-radio.devui-radio--lg .devui-radio__material>svg{width:18px;height:18px}.devui-radio.devui-radio--lg.devui-radio--bordered{height:40px}.devui-radio.devui-radio--md{display:flex;align-items:center}.devui-radio.devui-radio--md .devui-radio__label{font-size:var(--devui-font-size-md, 12px)}.devui-radio.devui-radio--md .devui-radio__material{width:16px;height:16px}.devui-radio.devui-radio--md .devui-radio__material>svg{width:16px;height:16px}.devui-radio.devui-radio--md.devui-radio--bordered{height:32px}.devui-radio.devui-radio--sm{display:flex;align-items:center}.devui-radio.devui-radio--sm .devui-radio__label{font-size:var(--devui-font-size-sm, 12px)}.devui-radio.devui-radio--sm .devui-radio__material{width:14px;height:14px}.devui-radio.devui-radio--sm .devui-radio__material>svg{width:14px;height:14px}.devui-radio.devui-radio--sm.devui-radio--bordered{height:24px}.devui-radio-group{display:inline-flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start}.devui-radio-group.is-row{flex-direction:row}.devui-radio-group.is-column{flex-direction:column}.devui-radio-group .devui-radio__wrapper:not(:last-child){padding-right:20px}.devui-radio-button{display:flex;align-items:center;position:relative;padding:var(--devui-btn-padding, 0 20px);height:32px;font-size:var(--devui-font-size-md, 12px);color:var(--devui-text, #252b3a);cursor:pointer;border:1px solid var(--devui-line, #d7d8da);user-select:none}.devui-radio-button.devui-radio-button--lg{font-size:var(--devui-font-size-lg, 14px);padding:var(--devui-btn-lg-padding, 0 24px);height:40px;line-height:40px}.devui-radio-button.devui-radio-button--md{font-size:var(--devui-font-size-md, 12px);padding:var(--devui-btn-padding, 0 20px);height:32px;line-height:32px}.devui-radio-button.devui-radio-button--sm{font-size:var(--devui-font-size-sm, 12px);padding:var(--devui-btn-sm-padding, 0 16px);height:24px;line-height:24px}.devui-radio-button__input{opacity:0;position:absolute;margin:0;z-index:-1;width:0;height:0;overflow:hidden;left:0;pointer-events:none}.devui-radio-button.active{color:#fff;background-color:var(--devui-brand, #5e7ce0);border-color:var(--devui-brand, #5e7ce0)}.devui-radio-button.active.disabled{color:#fff;background-color:var(--devui-icon-fill-active-disabled, #beccfa)}.devui-radio-button.disabled{cursor:not-allowed;color:var(--devui-disabled-text, #cfd0d3);background-color:#fff;border-color:var(--devui-disabled-line, #dfe1e6)}.devui-radio-group.is-row .devui-radio-button{border-left:none}.devui-radio-group.is-row .devui-radio-button:first-child{border-top-left-radius:var(--devui-border-radius, 2px);border-bottom-left-radius:var(--devui-border-radius, 2px);border-left:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-radio-group.is-row .devui-radio-button:last-child{border-top-right-radius:var(--devui-border-radius, 2px);border-bottom-right-radius:var(--devui-border-radius, 2px)}.devui-radio-group.is-column .devui-radio-button{width:100%;border-top:none}.devui-radio-group.is-column .devui-radio-button:first-child{border-top-left-radius:var(--devui-border-radius, 2px);border-top-right-radius:var(--devui-border-radius, 2px);border-top:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-radio-group.is-column .devui-radio-button:last-child{border-bottom-left-radius:var(--devui-border-radius, 2px);border-bottom-right-radius:var(--devui-border-radius, 2px)}
@@ -29,7 +29,8 @@ var __objRest = (source, exclude) => {
29
29
  }
30
30
  return target;
31
31
  };
32
- import { defineComponent, watch, provide, reactive, toRefs, createVNode, onUnmounted, Transition, mergeProps, ref, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, computed, onMounted, Teleport, createTextVNode, onBeforeUnmount, resolveDynamicComponent, getCurrentInstance, shallowRef } from "vue";
32
+ import { defineComponent, watch, provide, reactive, toRefs, createVNode, onUnmounted, Transition, mergeProps, ref, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, computed, onMounted, Teleport, createTextVNode, onBeforeUnmount, resolveDynamicComponent, getCurrentInstance, shallowRef, resolveDirective } from "vue";
33
+ import "clipboard";
33
34
  import { offset, autoPlacement, arrow, shift, computePosition } from "@floating-ui/dom";
34
35
  const searchProps = {
35
36
  size: {
@@ -126,10 +127,38 @@ const formProps = {
126
127
  hideRequiredMark: {
127
128
  type: Boolean,
128
129
  default: false
130
+ },
131
+ styleType: {
132
+ type: String,
133
+ default: "default"
134
+ },
135
+ appendToBodyScrollStrategy: {
136
+ type: String,
137
+ default: "reposition"
129
138
  }
130
139
  };
131
140
  const FORM_TOKEN = Symbol("dForm");
132
- function createBem(namespace, element, modifier) {
141
+ const STYLE_TOKEN = Symbol("dForm");
142
+ function lockScroll() {
143
+ if (document.documentElement.scrollHeight > document.documentElement.clientHeight) {
144
+ const scrollTop = document.documentElement.scrollTop;
145
+ const style = document.documentElement.getAttribute("style");
146
+ document.documentElement.style.position = "fixed";
147
+ document.documentElement.style.top = `-${scrollTop}px`;
148
+ document.documentElement.style.width = document.documentElement.style.width || "100%";
149
+ document.documentElement.style.overflowY = "scroll";
150
+ return () => {
151
+ if (style) {
152
+ document.documentElement.setAttribute("style", style);
153
+ } else {
154
+ document.documentElement.removeAttribute("style");
155
+ }
156
+ document.documentElement.scrollTop = scrollTop;
157
+ };
158
+ }
159
+ return;
160
+ }
161
+ function createBem$1(namespace, element, modifier) {
133
162
  let cls = namespace;
134
163
  if (element) {
135
164
  cls += `__${element}`;
@@ -139,12 +168,12 @@ function createBem(namespace, element, modifier) {
139
168
  }
140
169
  return cls;
141
170
  }
142
- function useNamespace(block, needDot = false) {
171
+ function useNamespace$1(block, needDot = false) {
143
172
  const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
144
- const b = () => createBem(namespace);
145
- const e = (element) => element ? createBem(namespace, element) : "";
146
- const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
147
- const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
173
+ const b = () => createBem$1(namespace);
174
+ const e = (element) => element ? createBem$1(namespace, element) : "";
175
+ const m = (modifier) => modifier ? createBem$1(namespace, "", modifier) : "";
176
+ const em = (element, modifier) => element && modifier ? createBem$1(namespace, element, modifier) : "";
148
177
  return {
149
178
  b,
150
179
  e,
@@ -152,6 +181,9 @@ function useNamespace(block, needDot = false) {
152
181
  em
153
182
  };
154
183
  }
184
+ function isUrl(value) {
185
+ return /^((http|https):)?\/\//.test(value);
186
+ }
155
187
  function useFieldCollection() {
156
188
  const itemContexts = [];
157
189
  const addItemContext = (field) => {
@@ -1342,7 +1374,7 @@ var lodash = { exports: {} };
1342
1374
  if (typeof func != "function") {
1343
1375
  throw new TypeError2(FUNC_ERROR_TEXT);
1344
1376
  }
1345
- return setTimeout(function() {
1377
+ return setTimeout2(function() {
1346
1378
  func.apply(undefined$1, args);
1347
1379
  }, wait);
1348
1380
  }
@@ -3151,7 +3183,7 @@ var lodash = { exports: {} };
3151
3183
  return object4[key];
3152
3184
  }
3153
3185
  var setData = shortOut(baseSetData);
3154
- var setTimeout = ctxSetTimeout || function(func, wait) {
3186
+ var setTimeout2 = ctxSetTimeout || function(func, wait) {
3155
3187
  return root.setTimeout(func, wait);
3156
3188
  };
3157
3189
  var setToString = shortOut(baseSetToString);
@@ -3943,7 +3975,7 @@ var lodash = { exports: {} };
3943
3975
  }
3944
3976
  function leadingEdge(time) {
3945
3977
  lastInvokeTime = time;
3946
- timerId = setTimeout(timerExpired, wait);
3978
+ timerId = setTimeout2(timerExpired, wait);
3947
3979
  return leading ? invokeFunc(time) : result2;
3948
3980
  }
3949
3981
  function remainingWait(time) {
@@ -3959,7 +3991,7 @@ var lodash = { exports: {} };
3959
3991
  if (shouldInvoke(time)) {
3960
3992
  return trailingEdge(time);
3961
3993
  }
3962
- timerId = setTimeout(timerExpired, remainingWait(time));
3994
+ timerId = setTimeout2(timerExpired, remainingWait(time));
3963
3995
  }
3964
3996
  function trailingEdge(time) {
3965
3997
  timerId = undefined$1;
@@ -3990,12 +4022,12 @@ var lodash = { exports: {} };
3990
4022
  }
3991
4023
  if (maxing) {
3992
4024
  clearTimeout(timerId);
3993
- timerId = setTimeout(timerExpired, wait);
4025
+ timerId = setTimeout2(timerExpired, wait);
3994
4026
  return invokeFunc(lastCallTime);
3995
4027
  }
3996
4028
  }
3997
4029
  if (timerId === undefined$1) {
3998
- timerId = setTimeout(timerExpired, wait);
4030
+ timerId = setTimeout2(timerExpired, wait);
3999
4031
  }
4000
4032
  return result2;
4001
4033
  }
@@ -5631,7 +5663,7 @@ defineComponent({
5631
5663
  props: formProps,
5632
5664
  emits: ["validate"],
5633
5665
  setup(props, ctx) {
5634
- const ns2 = useNamespace("form");
5666
+ const ns2 = useNamespace$1("form");
5635
5667
  const {
5636
5668
  itemContexts,
5637
5669
  addItemContext,
@@ -5658,6 +5690,7 @@ defineComponent({
5658
5690
  addItemContext,
5659
5691
  removeItemContext
5660
5692
  })));
5693
+ provide(STYLE_TOKEN, props.styleType);
5661
5694
  ctx.expose({
5662
5695
  validate,
5663
5696
  validateFields,
@@ -5699,7 +5732,7 @@ const formItemProps = {
5699
5732
  default: void 0
5700
5733
  },
5701
5734
  helpTips: {
5702
- type: String,
5735
+ type: [String, Object],
5703
5736
  default: ""
5704
5737
  },
5705
5738
  feedbackStatus: {
@@ -5712,12 +5745,6 @@ const formItemProps = {
5712
5745
  };
5713
5746
  const FORM_ITEM_TOKEN = Symbol("dFormItem");
5714
5747
  const LABEL_DATA = Symbol("labelData");
5715
- const formLabelProps = {
5716
- helpTips: {
5717
- type: String,
5718
- default: ""
5719
- }
5720
- };
5721
5748
  const fixedOverlayProps = {
5722
5749
  modelValue: {
5723
5750
  type: Boolean,
@@ -5732,25 +5759,6 @@ const fixedOverlayProps = {
5732
5759
  default: true
5733
5760
  }
5734
5761
  };
5735
- function lockScroll() {
5736
- if (document.documentElement.scrollHeight > document.documentElement.clientHeight) {
5737
- const scrollTop = document.documentElement.scrollTop;
5738
- const style = document.documentElement.getAttribute("style");
5739
- document.documentElement.style.position = "fixed";
5740
- document.documentElement.style.top = `-${scrollTop}px`;
5741
- document.documentElement.style.width = document.documentElement.style.width || "100%";
5742
- document.documentElement.style.overflowY = "scroll";
5743
- return () => {
5744
- if (style) {
5745
- document.documentElement.setAttribute("style", style);
5746
- } else {
5747
- document.documentElement.removeAttribute("style");
5748
- }
5749
- document.documentElement.scrollTop = scrollTop;
5750
- };
5751
- }
5752
- return;
5753
- }
5754
5762
  function useFixedOverlay(props, ctx) {
5755
5763
  let lockScrollCb;
5756
5764
  const onClick = (event) => {
@@ -5773,6 +5781,29 @@ function useFixedOverlay(props, ctx) {
5773
5781
  onUnmounted(removeBodyAdditions);
5774
5782
  return { onClick };
5775
5783
  }
5784
+ function createBem(namespace, element, modifier) {
5785
+ let cls = namespace;
5786
+ if (element) {
5787
+ cls += `__${element}`;
5788
+ }
5789
+ if (modifier) {
5790
+ cls += `--${modifier}`;
5791
+ }
5792
+ return cls;
5793
+ }
5794
+ function useNamespace(block, needDot = false) {
5795
+ const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
5796
+ const b = () => createBem(namespace);
5797
+ const e = (element) => element ? createBem(namespace, element) : "";
5798
+ const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
5799
+ const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
5800
+ return {
5801
+ b,
5802
+ e,
5803
+ m,
5804
+ em
5805
+ };
5806
+ }
5776
5807
  var fixedOverlay = "";
5777
5808
  defineComponent({
5778
5809
  name: "DFixedOverlay",
@@ -6437,7 +6468,13 @@ function useFormLabel() {
6437
6468
  const formContext = inject(FORM_TOKEN);
6438
6469
  const formItemContext = inject(FORM_ITEM_TOKEN);
6439
6470
  const labelData = inject(LABEL_DATA);
6440
- const ns2 = useNamespace("form");
6471
+ const ns2 = useNamespace$1("form");
6472
+ const defaultTipsPopover = {
6473
+ content: "",
6474
+ position: ["top"],
6475
+ trigger: "hover",
6476
+ popType: "info"
6477
+ };
6441
6478
  const labelClasses = computed(() => ({
6442
6479
  [`${ns2.e("label")}`]: true,
6443
6480
  [`${ns2.em("label", "vertical")}`]: labelData.value.layout === "vertical",
@@ -6449,17 +6486,24 @@ function useFormLabel() {
6449
6486
  [`${ns2.em("label", "required")}`]: formItemContext.isRequired,
6450
6487
  [`${ns2.em("label", "required-hide")}`]: formItemContext.isRequired && formContext.hideRequiredMark
6451
6488
  }));
6452
- return { labelClasses, labelInnerClasses };
6489
+ const tipsPopover = computed(() => {
6490
+ if (typeof labelData.value.helpTips === "string") {
6491
+ return __spreadProps(__spreadValues({}, defaultTipsPopover), { content: labelData.value.helpTips });
6492
+ } else {
6493
+ return __spreadValues(__spreadValues({}, defaultTipsPopover), labelData.value.helpTips);
6494
+ }
6495
+ });
6496
+ return { labelClasses, labelInnerClasses, tipsPopover };
6453
6497
  }
6454
6498
  var formLabel = "";
6455
6499
  var FormLabel = defineComponent({
6456
6500
  name: "DFormLabel",
6457
- props: formLabelProps,
6458
- setup(props, ctx) {
6459
- const ns2 = useNamespace("form");
6501
+ setup(_, ctx) {
6502
+ const ns2 = useNamespace$1("form");
6460
6503
  const {
6461
6504
  labelClasses,
6462
- labelInnerClasses
6505
+ labelInnerClasses,
6506
+ tipsPopover
6463
6507
  } = useFormLabel();
6464
6508
  return () => {
6465
6509
  var _a, _b;
@@ -6467,12 +6511,9 @@ var FormLabel = defineComponent({
6467
6511
  "class": labelClasses.value
6468
6512
  }, [createVNode("span", {
6469
6513
  "class": labelInnerClasses.value
6470
- }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]), props.helpTips && createVNode(Popover, {
6471
- "content": props.helpTips,
6472
- "position": ["top"],
6473
- "trigger": "hover",
6474
- "pop-type": "info"
6475
- }, {
6514
+ }, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)]), tipsPopover.value.content && createVNode(Popover, mergeProps({
6515
+ "class": ns2.e("label-tips-popover")
6516
+ }, tipsPopover.value), {
6476
6517
  default: () => [createVNode(HelpTipsIcon, {
6477
6518
  "class": ns2.e("label-help")
6478
6519
  }, null), createTextVNode(",")]
@@ -6491,7 +6532,7 @@ const formControlProps = {
6491
6532
  };
6492
6533
  function useFormControl(props) {
6493
6534
  const labelData = inject(LABEL_DATA);
6494
- const ns2 = useNamespace("form");
6535
+ const ns2 = useNamespace$1("form");
6495
6536
  const { feedbackStatus } = toRefs(props);
6496
6537
  const controlClasses = computed(() => ({
6497
6538
  [ns2.e("control")]: true,
@@ -6503,7 +6544,7 @@ function useFormControl(props) {
6503
6544
  [ns2.em("control-container", "has-feedback")]: Boolean(feedbackStatus == null ? void 0 : feedbackStatus.value),
6504
6545
  [ns2.em("control-container", "feedback-error")]: Boolean((feedbackStatus == null ? void 0 : feedbackStatus.value) === "error")
6505
6546
  }));
6506
- return { controlClasses, controlContainerClasses };
6547
+ return { controlClasses, controlContainerClasses, labelData };
6507
6548
  }
6508
6549
  function useFormControlValidate() {
6509
6550
  const formItemContext = inject(FORM_ITEM_TOKEN);
@@ -6520,11 +6561,15 @@ var FormControl = defineComponent({
6520
6561
  name: "DFormControl",
6521
6562
  props: formControlProps,
6522
6563
  setup(props, ctx) {
6564
+ const formContext = inject(FORM_TOKEN);
6523
6565
  const formControl2 = ref();
6524
- const ns2 = useNamespace("form");
6566
+ const popoverRef = ref();
6567
+ const ns2 = useNamespace$1("form");
6568
+ const showPopoverClick = ref(true);
6525
6569
  const {
6526
6570
  controlClasses,
6527
- controlContainerClasses
6571
+ controlContainerClasses,
6572
+ labelData
6528
6573
  } = useFormControl(props);
6529
6574
  const {
6530
6575
  feedbackStatus,
@@ -6534,17 +6579,52 @@ var FormControl = defineComponent({
6534
6579
  errorMessage,
6535
6580
  popPosition
6536
6581
  } = useFormControlValidate();
6582
+ const align = computed(() => {
6583
+ var _a, _b;
6584
+ if ((_a = popPosition.value) == null ? void 0 : _a.some((item) => item.includes("start"))) {
6585
+ return "start";
6586
+ }
6587
+ if ((_b = popPosition.value) == null ? void 0 : _b.some((item) => item.includes("end"))) {
6588
+ return "end";
6589
+ }
6590
+ return void 0;
6591
+ });
6592
+ const onDocumentClick = (e) => {
6593
+ const composedPath = e.composedPath();
6594
+ if (composedPath.includes(popoverRef.value.triggerEl)) {
6595
+ showPopoverClick.value = true;
6596
+ } else {
6597
+ showPopoverClick.value = false;
6598
+ }
6599
+ };
6600
+ watch(showPopover, (val) => {
6601
+ if (val) {
6602
+ setTimeout(() => {
6603
+ document.addEventListener("click", onDocumentClick);
6604
+ });
6605
+ } else {
6606
+ showPopoverClick.value = true;
6607
+ document.removeEventListener("click", onDocumentClick);
6608
+ }
6609
+ });
6610
+ onUnmounted(() => {
6611
+ document.removeEventListener("click", onDocumentClick);
6612
+ });
6537
6613
  return () => createVNode("div", {
6538
6614
  "class": controlClasses.value,
6539
6615
  "ref": formControl2
6540
6616
  }, [createVNode("div", {
6541
6617
  "class": controlContainerClasses.value
6542
6618
  }, [createVNode(Popover, {
6543
- "is-open": showPopover.value,
6619
+ "ref": popoverRef,
6620
+ "is-open": showPopover.value && showPopoverClick.value,
6544
6621
  "trigger": "manually",
6545
6622
  "content": errorMessage.value,
6546
6623
  "pop-type": "error",
6547
- "position": popPosition.value
6624
+ "position": popPosition.value,
6625
+ "align": align.value,
6626
+ "scroll-element": "auto",
6627
+ "append-to-body-scroll-strategy": formContext.appendToBodyScrollStrategy
6548
6628
  }, {
6549
6629
  default: () => {
6550
6630
  var _a, _b;
@@ -6556,7 +6636,7 @@ var FormControl = defineComponent({
6556
6636
  "class": ns2.e("control-info")
6557
6637
  }, [showMessage.value && createVNode("div", {
6558
6638
  "class": "error-message"
6559
- }, [errorMessage.value]), props.extraInfo && createVNode("div", {
6639
+ }, [errorMessage.value]), labelData.value.formItemCtx.slots.extraInfo ? labelData.value.formItemCtx.slots.extraInfo() : props.extraInfo && createVNode("div", {
6560
6640
  "class": ns2.e("control-extra")
6561
6641
  }, [props.extraInfo])])]);
6562
6642
  }
@@ -7575,7 +7655,7 @@ function getFieldValue(obj, path) {
7575
7655
  }
7576
7656
  function useFormItem(messageType, _rules, validateState) {
7577
7657
  const formContext = inject(FORM_TOKEN);
7578
- const ns2 = useNamespace("form");
7658
+ const ns2 = useNamespace$1("form");
7579
7659
  const itemClasses = computed(() => ({
7580
7660
  [`${ns2.em("item", "horizontal")}`]: formContext.layout === "horizontal",
7581
7661
  [`${ns2.em("item", "vertical")}`]: formContext.layout === "vertical",
@@ -7739,7 +7819,9 @@ defineComponent({
7739
7819
  const labelData = computed(() => ({
7740
7820
  layout: formContext.layout,
7741
7821
  labelSize: formContext.labelSize,
7742
- labelAlign: formContext.labelAlign
7822
+ labelAlign: formContext.labelAlign,
7823
+ helpTips: helpTips.value,
7824
+ formItemCtx: ctx
7743
7825
  }));
7744
7826
  provide(LABEL_DATA, labelData);
7745
7827
  const context = reactive(__spreadProps(__spreadValues({}, otherProps), {
@@ -7755,6 +7837,7 @@ defineComponent({
7755
7837
  }));
7756
7838
  provide(FORM_ITEM_TOKEN, context);
7757
7839
  ctx.expose({
7840
+ validate,
7758
7841
  resetField,
7759
7842
  clearValidate
7760
7843
  });
@@ -7768,9 +7851,7 @@ defineComponent({
7768
7851
  });
7769
7852
  return () => createVNode("div", {
7770
7853
  "class": itemClasses.value
7771
- }, [createVNode(FormLabel, {
7772
- "help-tips": helpTips.value
7773
- }, {
7854
+ }, [createVNode(FormLabel, null, {
7774
7855
  default: () => [ctx.slots.label ? ctx.slots.label() : label == null ? void 0 : label.value]
7775
7856
  }), createVNode(FormControl, {
7776
7857
  "feedback-status": feedbackStatus == null ? void 0 : feedbackStatus.value,
@@ -7951,9 +8032,6 @@ var svgIcon = defineComponent({
7951
8032
  };
7952
8033
  }
7953
8034
  });
7954
- function isUrl(value) {
7955
- return /^((http|https):)?\/\//.test(value);
7956
- }
7957
8035
  function useIconDom(props, ctx) {
7958
8036
  const {
7959
8037
  component,
@@ -8043,6 +8121,13 @@ var Icon = defineComponent({
8043
8121
  };
8044
8122
  }
8045
8123
  });
8124
+ var AutoFocus = {
8125
+ mounted: (el, binding) => {
8126
+ if (binding.value) {
8127
+ el.focus();
8128
+ }
8129
+ }
8130
+ };
8046
8131
  const inputProps = {
8047
8132
  modelValue: {
8048
8133
  type: String,
@@ -8082,19 +8167,28 @@ const inputProps = {
8082
8167
  placeholder: {
8083
8168
  type: String,
8084
8169
  default: ""
8170
+ },
8171
+ title: {
8172
+ type: String,
8173
+ default: ""
8174
+ },
8175
+ autofocus: {
8176
+ type: Boolean,
8177
+ default: false
8085
8178
  }
8086
8179
  };
8087
8180
  function useInputRender(props, ctx) {
8088
8181
  const formContext = inject(FORM_TOKEN, void 0);
8089
8182
  const formItemContext = inject(FORM_ITEM_TOKEN, void 0);
8090
8183
  const isValidateError = computed(() => (formItemContext == null ? void 0 : formItemContext.validateState) === "error");
8091
- const ns2 = useNamespace("input");
8092
- const slotNs = useNamespace("input-slot");
8184
+ const ns2 = useNamespace$1("input");
8185
+ const slotNs = useNamespace$1("input-slot");
8093
8186
  const isFocus = ref(false);
8094
8187
  const { error, size, disabled } = toRefs(props);
8095
8188
  const slots = ctx.slots;
8096
8189
  const inputDisabled = computed(() => disabled.value || (formContext == null ? void 0 : formContext.disabled));
8097
8190
  const inputSize = computed(() => (size == null ? void 0 : size.value) || (formContext == null ? void 0 : formContext.size) || "");
8191
+ const styleType = inject(STYLE_TOKEN, void 0);
8098
8192
  const _a = ctx.attrs, { style, class: customClass } = _a, otherAttrs = __objRest(_a, ["style", "class"]);
8099
8193
  const customStyle = { style };
8100
8194
  const wrapClasses = computed(() => ({
@@ -8110,7 +8204,8 @@ function useInputRender(props, ctx) {
8110
8204
  [ns2.m(inputSize.value)]: Boolean(inputSize.value),
8111
8205
  [slotNs.b()]: slots.prepend || slots.append,
8112
8206
  [ns2.m("append")]: slots.append,
8113
- [ns2.m("prepend")]: slots.prepend
8207
+ [ns2.m("prepend")]: slots.prepend,
8208
+ [ns2.m("gray-style")]: styleType === "gray"
8114
8209
  },
8115
8210
  customClass
8116
8211
  ]);
@@ -8118,6 +8213,7 @@ function useInputRender(props, ctx) {
8118
8213
  }
8119
8214
  function useInputEvent(isFocus, props, ctx, focus) {
8120
8215
  const formItemContext = inject(FORM_ITEM_TOKEN, void 0);
8216
+ const isComposition = ref(false);
8121
8217
  const onFocus = (e) => {
8122
8218
  isFocus.value = true;
8123
8219
  ctx.emit("focus", e);
@@ -8131,6 +8227,9 @@ function useInputEvent(isFocus, props, ctx, focus) {
8131
8227
  };
8132
8228
  const onInput = (e) => {
8133
8229
  ctx.emit("input", e.target.value);
8230
+ if (isComposition.value) {
8231
+ return;
8232
+ }
8134
8233
  ctx.emit("update:modelValue", e.target.value);
8135
8234
  };
8136
8235
  const onChange = (e) => {
@@ -8144,7 +8243,22 @@ function useInputEvent(isFocus, props, ctx, focus) {
8144
8243
  ctx.emit("clear");
8145
8244
  focus();
8146
8245
  };
8147
- return { onFocus, onBlur, onInput, onChange, onKeydown, onClear };
8246
+ const onCompositionStart = () => {
8247
+ isComposition.value = true;
8248
+ };
8249
+ const onCompositionUpdate = (e) => {
8250
+ var _a;
8251
+ const text = (_a = e.target) == null ? void 0 : _a.value;
8252
+ const lastCharacter = text[text.length - 1] || "";
8253
+ isComposition.value = !/([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi.test(lastCharacter);
8254
+ };
8255
+ const onCompositionEnd = (e) => {
8256
+ if (isComposition.value) {
8257
+ isComposition.value = false;
8258
+ onInput(e);
8259
+ }
8260
+ };
8261
+ return { onFocus, onBlur, onInput, onChange, onKeydown, onClear, onCompositionStart, onCompositionUpdate, onCompositionEnd };
8148
8262
  }
8149
8263
  function useInputFunction(input2) {
8150
8264
  const refInput = computed(() => input2.value);
@@ -8334,6 +8448,9 @@ function createI18nTranslate(name, app, newPrefix) {
8334
8448
  }
8335
8449
  var DInput = defineComponent({
8336
8450
  name: "DInput",
8451
+ directives: {
8452
+ dAutoFocus: AutoFocus
8453
+ },
8337
8454
  inheritAttrs: false,
8338
8455
  props: inputProps,
8339
8456
  emits: ["update:modelValue", "focus", "blur", "input", "change", "keydown", "clear"],
@@ -8342,10 +8459,13 @@ var DInput = defineComponent({
8342
8459
  const t = createI18nTranslate("DInput", app);
8343
8460
  const formItemContext = inject(FORM_ITEM_TOKEN, void 0);
8344
8461
  const {
8345
- modelValue
8462
+ modelValue,
8463
+ placeholder,
8464
+ title,
8465
+ autofocus
8346
8466
  } = toRefs(props);
8347
- const ns2 = useNamespace("input");
8348
- const slotNs = useNamespace("input-slot");
8467
+ const ns2 = useNamespace$1("input");
8468
+ const slotNs = useNamespace$1("input-slot");
8349
8469
  const {
8350
8470
  inputDisabled,
8351
8471
  inputSize,
@@ -8367,7 +8487,10 @@ var DInput = defineComponent({
8367
8487
  onInput,
8368
8488
  onChange,
8369
8489
  onKeydown,
8370
- onClear
8490
+ onClear,
8491
+ onCompositionStart,
8492
+ onCompositionUpdate,
8493
+ onCompositionEnd
8371
8494
  } = useInputEvent(isFocus, props, ctx, focus);
8372
8495
  const passwordVisible = ref(false);
8373
8496
  const clickPasswordIcon = () => {
@@ -8392,7 +8515,7 @@ var DInput = defineComponent({
8392
8515
  blur
8393
8516
  });
8394
8517
  return () => {
8395
- var _a, _b, _c, _d, _e, _f, _g, _h;
8518
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
8396
8519
  return createVNode("div", mergeProps({
8397
8520
  "class": inputClasses.value
8398
8521
  }, customStyle), [ctx.slots.prepend && createVNode("div", {
@@ -8404,25 +8527,29 @@ var DInput = defineComponent({
8404
8527
  }, [ctx.slots.prefix && ((_d = (_c = ctx.slots).prefix) == null ? void 0 : _d.call(_c)), props.prefix && createVNode(Icon, {
8405
8528
  "size": inputSize.value,
8406
8529
  "name": props.prefix
8407
- }, null)]), createVNode("input", mergeProps({
8530
+ }, null)]), withDirectives(createVNode("input", mergeProps({
8408
8531
  "ref": input2,
8409
8532
  "value": modelValue.value,
8410
8533
  "disabled": inputDisabled.value,
8411
8534
  "class": ns2.e("inner"),
8412
- "placeholder": props.placeholder || t("placeholder")
8535
+ "placeholder": (_e = placeholder.value) != null ? _e : t("placeholder")
8413
8536
  }, otherAttrs, {
8537
+ "title": title.value,
8414
8538
  "type": props.showPassword ? passwordVisible.value ? "text" : "password" : "text",
8415
8539
  "onInput": onInput,
8416
8540
  "onFocus": onFocus,
8417
8541
  "onBlur": onBlur,
8418
8542
  "onChange": onChange,
8419
- "onKeydown": onKeydown
8420
- }), null), suffixVisible && createVNode("span", {
8543
+ "onKeydown": onKeydown,
8544
+ "onCompositionstart": onCompositionStart,
8545
+ "onCompositionupdate": onCompositionUpdate,
8546
+ "onCompositionend": onCompositionEnd
8547
+ }), null), [[resolveDirective("dAutoFocus"), autofocus.value]]), suffixVisible && createVNode("span", {
8421
8548
  "class": slotNs.e("suffix")
8422
8549
  }, [props.suffix && createVNode(Icon, {
8423
8550
  "size": inputSize.value,
8424
8551
  "name": props.suffix
8425
- }, null), ctx.slots.suffix && ((_f = (_e = ctx.slots).suffix) == null ? void 0 : _f.call(_e)), showPwdVisible.value && createVNode(Icon, {
8552
+ }, null), ctx.slots.suffix && ((_g = (_f = ctx.slots).suffix) == null ? void 0 : _g.call(_f)), showPwdVisible.value && createVNode(Icon, {
8426
8553
  "size": inputSize.value,
8427
8554
  "class": ns2.em("password", "icon"),
8428
8555
  "name": passwordVisible.value ? "preview" : "preview-forbidden",
@@ -8430,11 +8557,12 @@ var DInput = defineComponent({
8430
8557
  }, null), showClearable.value && createVNode(Icon, {
8431
8558
  "size": inputSize.value,
8432
8559
  "class": ns2.em("clear", "icon"),
8433
- "name": "close",
8560
+ "name": "error-o",
8561
+ "color": "#adb0b8",
8434
8562
  "onClick": onClear
8435
8563
  }, null)])]), ctx.slots.append && createVNode("div", {
8436
8564
  "class": slotNs.e("append")
8437
- }, [(_h = (_g = ctx.slots).append) == null ? void 0 : _h.call(_g)])]);
8565
+ }, [(_i = (_h = ctx.slots).append) == null ? void 0 : _i.call(_h)])]);
8438
8566
  };
8439
8567
  }
8440
8568
  });