@ibiz-template/mob-vue3-components 0.0.1-alpha.25 → 0.0.1

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 (75) hide show
  1. package/dist/index.min.css +1 -1
  2. package/dist/index.system.min.js +2 -2
  3. package/dist/index.system.min.js.map +1 -1
  4. package/es/common/col/col.mjs +0 -3
  5. package/es/common/rawitem/rawitem.mjs +1 -1
  6. package/es/control/calendar/calendar.mjs +1 -1
  7. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  8. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.mjs +1 -1
  9. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.d.ts +1 -0
  10. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.mjs +15 -3
  11. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -1
  12. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.d.ts +4 -3
  13. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.mjs +14 -6
  14. package/es/panel-component/index.mjs +5 -1
  15. package/es/panel-component/panel-tab-panel/index.d.ts +23 -0
  16. package/es/panel-component/panel-tab-panel/index.mjs +12 -0
  17. package/es/panel-component/panel-tab-panel/panel-tab-panel.css +1 -0
  18. package/es/panel-component/panel-tab-panel/panel-tab-panel.d.ts +26 -0
  19. package/es/panel-component/panel-tab-panel/panel-tab-panel.mjs +70 -0
  20. package/es/panel-component/panel-tab-panel/panel-tab-panel.provider.d.ts +13 -0
  21. package/es/panel-component/panel-tab-panel/panel-tab-panel.provider.mjs +21 -0
  22. package/lib/common/col/col.cjs +0 -3
  23. package/lib/common/rawitem/rawitem.cjs +1 -1
  24. package/lib/control/calendar/calendar.cjs +1 -1
  25. package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  26. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.cjs +1 -1
  27. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.cjs +15 -3
  28. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.cjs +14 -6
  29. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -1
  30. package/lib/panel-component/index.cjs +4 -0
  31. package/lib/panel-component/panel-tab-panel/index.cjs +17 -0
  32. package/lib/panel-component/panel-tab-panel/panel-tab-panel.cjs +72 -0
  33. package/lib/panel-component/panel-tab-panel/panel-tab-panel.css +1 -0
  34. package/lib/panel-component/panel-tab-panel/panel-tab-panel.provider.cjs +23 -0
  35. package/package.json +4 -4
  36. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/Calendar.mjs +0 -0
  37. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarDate.mjs +0 -0
  38. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarScrollContainer.mjs +0 -0
  39. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarTime.mjs +0 -0
  40. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarYearMonth.mjs +0 -0
  41. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/constant/img.mjs +0 -0
  42. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/constant/index.mjs +0 -0
  43. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/index.mjs +0 -0
  44. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-expose.mjs +0 -0
  45. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-mounted-or-activated.mjs +0 -0
  46. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-rect.mjs +0 -0
  47. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/index.mjs +0 -0
  48. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/cn.mjs +0 -0
  49. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/en.mjs +0 -0
  50. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/index.mjs +0 -0
  51. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/basic.mjs +0 -0
  52. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/index.mjs +0 -0
  53. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/props.mjs +0 -0
  54. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/validate.mjs +0 -0
  55. /package/es/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/with-install.mjs +0 -0
  56. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/Calendar.cjs +0 -0
  57. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarDate.cjs +0 -0
  58. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarScrollContainer.cjs +0 -0
  59. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarTime.cjs +0 -0
  60. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/CalendarYearMonth.cjs +0 -0
  61. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/constant/img.cjs +0 -0
  62. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/constant/index.cjs +0 -0
  63. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/index.cjs +0 -0
  64. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-expose.cjs +0 -0
  65. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-mounted-or-activated.cjs +0 -0
  66. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/hooks/use-rect.cjs +0 -0
  67. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/index.cjs +0 -0
  68. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/cn.cjs +0 -0
  69. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/en.cjs +0 -0
  70. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/language/index.cjs +0 -0
  71. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/basic.cjs +0 -0
  72. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/index.cjs +0 -0
  73. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/props.cjs +0 -0
  74. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/validate.cjs +0 -0
  75. /package/lib/node_modules/.pnpm/{vue3-hash-calendar@1.1.3_vue@3.3.8 → vue3-hash-calendar@1.1.3_vue@3.3.9}/node_modules/vue3-hash-calendar/es/utils/with-install.cjs +0 -0
@@ -21,9 +21,6 @@ const IBizCol = /* @__PURE__ */ defineComponent({
21
21
  const spacingClass = computed(() => {
22
22
  const ns2 = useNamespace("spacing");
23
23
  const classArr = [];
24
- if (props.layoutPos.layout !== "FLEX") {
25
- return classArr;
26
- }
27
24
  const spacings = {
28
25
  top: props.layoutPos.spacingTop,
29
26
  bottom: props.layoutPos.spacingBottom,
@@ -41,7 +41,7 @@ const IBizRawItem = /* @__PURE__ */ defineComponent({
41
41
  rawItemContent.value = rawItem.content;
42
42
  }
43
43
  } else if (["VIDEO", "DIVIDER", "INFO", "WARNING", "ERROR"].includes(contentType)) {
44
- rawItemContent.value = props.content;
44
+ rawItemContent.value = props.content || rawItem.rawContent;
45
45
  } else if (contentType === "IMAGE" && sysImage) {
46
46
  rawItemContent.value = sysImage;
47
47
  }
@@ -4,7 +4,7 @@ import './calendar.css';
4
4
  import { CalendarController } from '@ibiz-template/runtime';
5
5
  import { isNil } from 'ramda';
6
6
  import dayjs from 'dayjs';
7
- import stdin_default from '../../node_modules/.pnpm/vue3-hash-calendar@1.1.3_vue@3.3.8/node_modules/vue3-hash-calendar/es/index.mjs';
7
+ import stdin_default from '../../node_modules/.pnpm/vue3-hash-calendar@1.1.3_vue@3.3.9/node_modules/vue3-hash-calendar/es/index.mjs';
8
8
  import 'vue3-hash-calendar/es/index.css';
9
9
 
10
10
  "use strict";
@@ -1 +1 @@
1
- .ibiz-form-item-container{--ibiz-form-item-container-label-width:8.125rem;--ibiz-form-item-container-line-height:var(--ibiz-form-item-line-height);--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-left-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-error-margin-top:var(--ibiz-spacing-extra-tight);--ibiz-form-item-container-bg-color:var(--ibiz-color-bg-1);--ibiz-form-item-container-label-font-size:var(--ibiz-font-size-header-5);--ibiz-form-item-container-label-text-color:var(--ibiz-color-text-0);--ibiz-form-item-container-container-error-padding:0 var(--ibiz-spacing-base);--ibiz-form-item-container-border:0.0625rem var(--ibiz-color-border) solid;--ibiz-form-item-container-editor-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none) var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-form-item-label-line-height:1;--ibiz-form-item-label-font-size:var(--ibiz-font-size-header-5);--ibiz-form-item-label-text-color:var(--ibiz-color-text-0);position:relative;width:100%;height:100%;padding:var(--ibiz-form-item-container-container-padding);font-size:var(--ibiz-form-item-font-size);background-color:var(--ibiz-form-item-container-bg-color);border-width:calc(100% - var(--ibiz-spacing-base) * 2);border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item-container::after{position:absolute;z-index:1;width:calc(100% - var(--ibiz-spacing-base) * 2);height:.00625rem;content:"";background-color:var(--ibiz-color-border)}.ibiz-form-item-container__label{position:relative;flex-shrink:0;width:var(--ibiz-form-item-container-label-width);overflow:visible;color:var(--ibiz-form-item-label-text-color)}.ibiz-form-item-container__label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:100%;font-size:var(--ibiz-form-item-container-label-font-size);line-height:var(--ibiz-form-item-label-line-height);text-align:var(--ibiz-form-item-container-label-align)}.ibiz-form-item-container__editor{width:100%;text-align:var(--ibiz-form-item-container-editor-align)}.ibiz-form-item-container__editor .van-cell{padding-bottom:0}.ibiz-form-item-container.is-required .ibiz-form-item-container__label::before{position:absolute;top:.1875rem;left:-.625rem;display:inline-block;height:100%;font-size:.875rem;color:var(--ibiz-form-item-error-color);content:"*"}.ibiz-form-item-container.is-error::after{background-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container.is-error .ibiz-form-item-container-content{border-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container--left::after{bottom:0}.ibiz-form-item-container--right.is-required .ibiz-form-item-container__label::before{right:-.625rem;left:auto}.ibiz-form-item-container--right .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--left .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--top .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container--bottom .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container-content{position:relative}.ibiz-form-item-container--left .ibiz-form-item-container-content,.ibiz-form-item-container--right .ibiz-form-item-container-content{height:100%;display:flex;align-items:center;justify-content:center}.ibiz-form-item-container-error{position:absolute;bottom:0;width:calc(100% - var(--ibiz-spacing-base));padding-right:var(--ibiz-spacing-base);font-size:var(--ibiz-form-item-error-font-size);line-height:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-error-color);text-align:var(--ibiz-form-item-container-editor-align)}
1
+ .ibiz-form-item-container{--ibiz-form-item-container-label-width:8.125rem;--ibiz-form-item-container-line-height:var(--ibiz-form-item-line-height);--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-left-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-error-margin-top:var(--ibiz-spacing-extra-tight);--ibiz-form-item-container-bg-color:var(--ibiz-color-bg-1);--ibiz-form-item-container-label-font-size:var(--ibiz-font-size-header-6);--ibiz-form-item-container-label-text-color:var(--ibiz-color-text-0);--ibiz-form-item-container-container-error-padding:0 var(--ibiz-spacing-base);--ibiz-form-item-container-border:0.0625rem var(--ibiz-color-border) solid;--ibiz-form-item-container-editor-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none) var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-form-item-label-line-height:1;--ibiz-form-item-label-font-size:var(--ibiz-font-size-header-5);--ibiz-form-item-label-text-color:var(--ibiz-color-text-0);position:relative;width:100%;height:100%;padding:var(--ibiz-form-item-container-container-padding);font-size:var(--ibiz-form-item-font-size);background-color:var(--ibiz-form-item-container-bg-color);border-width:calc(100% - var(--ibiz-spacing-base) * 2);border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item-container::after{position:absolute;z-index:1;width:calc(100% - var(--ibiz-spacing-base) * 2);height:.00625rem;content:"";background-color:var(--ibiz-color-border)}.ibiz-form-item-container__label{position:relative;flex-shrink:0;width:var(--ibiz-form-item-container-label-width);overflow:visible;color:var(--ibiz-form-item-label-text-color)}.ibiz-form-item-container__label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:100%;font-size:var(--ibiz-form-item-container-label-font-size);text-align:var(--ibiz-form-item-container-label-align)}.ibiz-form-item-container__editor{width:100%;text-align:var(--ibiz-form-item-container-editor-align)}.ibiz-form-item-container__editor .van-cell{padding-bottom:0}.ibiz-form-item-container.is-required .ibiz-form-item-container__label::before{position:absolute;top:.1875rem;left:-.625rem;display:inline-block;height:100%;font-size:.875rem;color:var(--ibiz-form-item-error-color);content:"*"}.ibiz-form-item-container.is-error::after{background-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container.is-error .ibiz-form-item-container-content{border-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container--left::after{bottom:0}.ibiz-form-item-container--right.is-required .ibiz-form-item-container__label::before{right:-.625rem;left:auto}.ibiz-form-item-container--right .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--left .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--top .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container--bottom .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container-content{position:relative}.ibiz-form-item-container--left .ibiz-form-item-container-content,.ibiz-form-item-container--right .ibiz-form-item-container-content{height:100%;display:flex;align-items:center;justify-content:center}.ibiz-form-item-container-error{position:absolute;bottom:0;width:calc(100% - var(--ibiz-spacing-base));padding-right:var(--ibiz-spacing-base);font-size:var(--ibiz-form-item-error-font-size);line-height:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-error-color);text-align:var(--ibiz-form-item-container-editor-align)}
@@ -46,7 +46,7 @@ const FormMDCtrlForm = /* @__PURE__ */ defineComponent({
46
46
  "items": state.items || [],
47
47
  "enableCreate": this.controller.enableCreate,
48
48
  "enableDelete": this.controller.enableDelete,
49
- "onAddClick": () => this.controller.create(),
49
+ "onAddClick": (index) => this.controller.create(index),
50
50
  "onRemoveClick": (item) => this.controller.remove(item.id)
51
51
  }, {
52
52
  item: ({
@@ -7,6 +7,7 @@ export declare const RepeaterMultiForm: import("vue").DefineComponent<{
7
7
  }, {
8
8
  ns: import("@ibiz-template/core").Namespace;
9
9
  onValueChange: (value: IData, index: number) => void;
10
+ removeClick: (index: number) => Promise<void>;
10
11
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
12
  change: (_value: IData[]) => true;
12
13
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
@@ -24,9 +24,19 @@ const RepeaterMultiForm = /* @__PURE__ */ defineComponent({
24
24
  arrData[index] = value;
25
25
  emit("change", arrData);
26
26
  };
27
+ const removeClick = async (index) => {
28
+ const confirm = await ibiz.modal.confirm({
29
+ title: "\u786E\u8BA4",
30
+ desc: "\u662F\u5426\u5220\u9664\u9009\u4E2D\u9879?"
31
+ });
32
+ if (confirm) {
33
+ props.controller.remove(index);
34
+ }
35
+ };
27
36
  return {
28
37
  ns,
29
- onValueChange
38
+ onValueChange,
39
+ removeClick
30
40
  };
31
41
  },
32
42
  render() {
@@ -36,8 +46,10 @@ const RepeaterMultiForm = /* @__PURE__ */ defineComponent({
36
46
  "items": items,
37
47
  "enableCreate": this.controller.enableCreate,
38
48
  "enableDelete": this.controller.enableDelete,
39
- "onAddClick": () => this.controller.create(),
40
- "onRemoveClick": (_item, index) => this.controller.remove(index)
49
+ "onAddClick": (index) => this.controller.create(index),
50
+ "onRemoveClick": (_item, index) => {
51
+ this.removeClick(index);
52
+ }
41
53
  }, {
42
54
  item: ({
43
55
  data,
@@ -1 +1 @@
1
- .ibiz-mdctrl-container{display:flex;flex-direction:column;gap:10px;padding:var(--ibiz-spacing-tight) 0}.ibiz-mdctrl-container-item__form{flex-grow:1}.ibiz-mdctrl-container-item-actions{flex-shrink:0;width:100%;text-align:center}.ibiz-mdctrl-container-item-actions .van-button+.van-button{margin-left:0}.ibiz-mdctrl-container-item-actions__btn{width:calc(100% - var(--ibiz-spacing-base) * 2);margin:0 var(--ibiz-spacing-base)}.ibiz-mdctrl-container-no-data{width:100%;display:flex;justify-content:flex-end}
1
+ .ibiz-mdctrl-container{display:flex;flex-direction:column;padding:var(--ibiz-spacing-tight) 0;background-color:var(--ibiz-color-bg-1)}.ibiz-mdctrl-container-item{margin:0 var(--ibiz-spacing-tight);margin-top:var(--ibiz-spacing-tight);overflow:hidden;border:solid 1px var(--ibiz-color-border);border-radius:var(--ibiz-border-radius-medium)}.ibiz-mdctrl-container-item__form{flex-grow:1}.ibiz-mdctrl-container-item-actions{display:flex;flex-shrink:0;width:100%;padding:10px 0;text-align:center}.ibiz-mdctrl-container-item-actions .van-button+.van-button{margin-left:0}.ibiz-mdctrl-container-item-actions__btn{width:calc(100% - var(--ibiz-spacing-base) * 2);margin:0 var(--ibiz-spacing-base)}.ibiz-mdctrl-container-no-data{width:100%;display:flex;justify-content:flex-end}
@@ -16,10 +16,11 @@ export declare const MDCtrlContainer: import("vue").DefineComponent<{
16
16
  }, {
17
17
  ns: import("@ibiz-template/core").Namespace;
18
18
  showActions: import("vue").ComputedRef<boolean>;
19
- renderAddBtn: () => JSX.Element;
19
+ renderAddBtn: (index?: number) => JSX.Element | null;
20
20
  renderRemoveBtn: (item: IData, index: number) => JSX.Element | null;
21
+ renderBottomBtn: (item: IData, index: number) => (JSX.Element | null)[];
21
22
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
22
- addClick: () => true;
23
+ addClick: (index?: number) => true;
23
24
  removeClick: (_data: IData, _index: number) => true;
24
25
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
25
26
  enableCreate: {
@@ -35,6 +36,6 @@ export declare const MDCtrlContainer: import("vue").DefineComponent<{
35
36
  required: true;
36
37
  };
37
38
  }>> & {
38
- onAddClick?: (() => any) | undefined;
39
39
  onRemoveClick?: ((_data: IData, _index: number) => any) | undefined;
40
+ onAddClick?: ((index?: number | undefined) => any) | undefined;
40
41
  }, {}, {}>;
@@ -20,7 +20,7 @@ const MDCtrlContainer = /* @__PURE__ */ defineComponent({
20
20
  }
21
21
  },
22
22
  emits: {
23
- addClick: () => true,
23
+ addClick: (index) => true,
24
24
  removeClick: (_data, _index) => true
25
25
  },
26
26
  setup(props, {
@@ -30,11 +30,14 @@ const MDCtrlContainer = /* @__PURE__ */ defineComponent({
30
30
  const showActions = computed(() => {
31
31
  return props.enableCreate || props.enableDelete;
32
32
  });
33
- const renderAddBtn = () => {
33
+ const renderAddBtn = (index) => {
34
+ if (!props.enableCreate) {
35
+ return null;
36
+ }
34
37
  return createVNode(resolveComponent("van-button"), {
35
38
  "class": [ns.be("item-actions", "create"), ns.be("item-actions", "btn")],
36
39
  "size": "small",
37
- "onClick": () => emit("addClick"),
40
+ "onClick": () => emit("addClick", index === void 0 ? void 0 : index + 1),
38
41
  "type": "primary"
39
42
  }, {
40
43
  default: () => [createTextVNode("\u6DFB\u52A0")]
@@ -67,11 +70,15 @@ const MDCtrlContainer = /* @__PURE__ */ defineComponent({
67
70
  default: () => [createTextVNode("\u5220\u9664")]
68
71
  });
69
72
  };
73
+ const renderBottomBtn = (item, index) => {
74
+ return [renderAddBtn(index), renderRemoveBtn(item, index)];
75
+ };
70
76
  return {
71
77
  ns,
72
78
  showActions,
73
79
  renderAddBtn,
74
- renderRemoveBtn
80
+ renderRemoveBtn,
81
+ renderBottomBtn
75
82
  };
76
83
  },
77
84
  render() {
@@ -83,10 +90,11 @@ const MDCtrlContainer = /* @__PURE__ */ defineComponent({
83
90
  index
84
91
  }) : createVNode("div", null, [createTextVNode("\u672A\u63D0\u4F9Bitem\u63D2\u69FD")]);
85
92
  return createVNode("div", {
86
- "class": this.ns.b("item")
93
+ "class": this.ns.b("item"),
94
+ "key": item.id
87
95
  }, [formComponent, this.showActions && createVNode("div", {
88
96
  "class": this.ns.b("item-actions")
89
- }, [this.renderRemoveBtn(item, index)])]);
97
+ }, [this.renderBottomBtn(item, index)])]);
90
98
  })]);
91
99
  }
92
100
  });
@@ -1,4 +1,4 @@
1
- import { IBizPanelContainer, IBizPanelCtrlPos, IBizNavPos, IBizPanelField, IBizGridContainer, IBizPanelRawItem, IBizSingleDataContainer, IBizMultiDataContainer } from '@ibiz-template/vue3-util';
1
+ import { IBizPanelContainer, IBizPanelCtrlPos, IBizNavPos, IBizPanelField, IBizGridContainer, IBizPanelRawItem, IBizSingleDataContainer, IBizMultiDataContainer, IBizPanelContainerImage, IBizScrollContainer } from '@ibiz-template/vue3-util';
2
2
  import { IBizViewContentPanelContainer } from './view-content-panel-container/index.mjs';
3
3
  import { IBizViewHeaderPanelContainer } from './view-header-panel-container/index.mjs';
4
4
  import { IBizViewFooterPanelContainer } from './view-footer-panel-container/index.mjs';
@@ -6,6 +6,7 @@ import { IBizPanelButton } from './panel-button/index.mjs';
6
6
  import { IBizWFActionButton } from './wf-action-button/index.mjs';
7
7
  import { IBizWFStepTrace } from './wf-step-trace/index.mjs';
8
8
  import { IBizNavPosIndex } from './nav-pos-index/index.mjs';
9
+ import { IBizPanelTabPanel } from './panel-tab-panel/index.mjs';
9
10
 
10
11
  "use strict";
11
12
  const IBizPanelComponents = {
@@ -25,6 +26,9 @@ const IBizPanelComponents = {
25
26
  v.use(IBizWFActionButton);
26
27
  v.use(IBizSingleDataContainer);
27
28
  v.use(IBizMultiDataContainer);
29
+ v.use(IBizPanelTabPanel);
30
+ v.use(IBizPanelContainerImage);
31
+ v.use(IBizScrollContainer);
28
32
  }
29
33
  };
30
34
 
@@ -0,0 +1,23 @@
1
+ export declare const IBizPanelTabPanel: import("@ibiz-template/vue3-util").TypeWithInstall<import("vue").DefineComponent<{
2
+ modelData: {
3
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelTabPanel>;
4
+ required: true;
5
+ };
6
+ controller: {
7
+ type: typeof import("@ibiz-template/runtime").PanelItemController;
8
+ required: true;
9
+ };
10
+ }, {
11
+ ns: import("@ibiz-template/core").Namespace;
12
+ classArr: import("vue").ComputedRef<(string | false)[]>;
13
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
14
+ modelData: {
15
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelTabPanel>;
16
+ required: true;
17
+ };
18
+ controller: {
19
+ type: typeof import("@ibiz-template/runtime").PanelItemController;
20
+ required: true;
21
+ };
22
+ }>>, {}, {}>>;
23
+ export default IBizPanelTabPanel;
@@ -0,0 +1,12 @@
1
+ import { registerPanelItemProvider } from '@ibiz-template/runtime';
2
+ import { withInstall } from '@ibiz-template/vue3-util';
3
+ import { PanelTabPanel } from './panel-tab-panel.mjs';
4
+ import { PanelTabPanelProvider } from './panel-tab-panel.provider.mjs';
5
+
6
+ "use strict";
7
+ const IBizPanelTabPanel = withInstall(PanelTabPanel, function(v) {
8
+ v.component(PanelTabPanel.name, PanelTabPanel);
9
+ registerPanelItemProvider("TABPANEL", () => new PanelTabPanelProvider());
10
+ });
11
+
12
+ export { IBizPanelTabPanel, IBizPanelTabPanel as default };
@@ -0,0 +1 @@
1
+ .ibiz-panel-tab-panel{height:100%}.ibiz-panel-tab-panel .van-tabs__content{height:calc(100% - var(--van-tabs-line-height))}.ibiz-panel-tab-panel .van-tab__panel{height:100%}
@@ -0,0 +1,26 @@
1
+ import { IPanelTabPanel } from '@ibiz/model-core';
2
+ import { PropType } from 'vue';
3
+ import { PanelItemController } from '@ibiz-template/runtime';
4
+ import './panel-tab-panel.scss';
5
+ export declare const PanelTabPanel: import("vue").DefineComponent<{
6
+ modelData: {
7
+ type: PropType<IPanelTabPanel>;
8
+ required: true;
9
+ };
10
+ controller: {
11
+ type: typeof PanelItemController;
12
+ required: true;
13
+ };
14
+ }, {
15
+ ns: import("@ibiz-template/core").Namespace;
16
+ classArr: import("vue").ComputedRef<(string | false)[]>;
17
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
+ modelData: {
19
+ type: PropType<IPanelTabPanel>;
20
+ required: true;
21
+ };
22
+ controller: {
23
+ type: typeof PanelItemController;
24
+ required: true;
25
+ };
26
+ }>>, {}, {}>;
@@ -0,0 +1,70 @@
1
+ import { isVNode, computed, resolveComponent, createVNode, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import { PanelItemController } from '@ibiz-template/runtime';
4
+ import './panel-tab-panel.css';
5
+
6
+ "use strict";
7
+ function _isSlot(s) {
8
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
9
+ }
10
+ const PanelTabPanel = /* @__PURE__ */ defineComponent({
11
+ name: "IBizPanelTabPanel",
12
+ props: {
13
+ modelData: {
14
+ type: Object,
15
+ required: true
16
+ },
17
+ controller: {
18
+ type: PanelItemController,
19
+ required: true
20
+ }
21
+ },
22
+ setup(props) {
23
+ const ns = useNamespace("panel-tab-panel");
24
+ const classArr = computed(() => {
25
+ const {
26
+ id
27
+ } = props.modelData;
28
+ const result = [ns.b(), ns.m(id)];
29
+ result.push(...props.controller.containerClass);
30
+ return result;
31
+ });
32
+ return {
33
+ ns,
34
+ classArr
35
+ };
36
+ },
37
+ render() {
38
+ var _a, _b, _c;
39
+ let _slot;
40
+ if (!this.controller.state.visible) {
41
+ return;
42
+ }
43
+ const defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
44
+ return createVNode(resolveComponent("van-tabs"), {
45
+ "class": [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass],
46
+ "lazy-render": true,
47
+ "model-value": (_c = this.modelData.panelTabPages) == null ? void 0 : _c[0].id
48
+ }, _isSlot(_slot = defaultSlots.map((slot) => {
49
+ const props = slot.props;
50
+ if (!props || !props.controller) {
51
+ return slot;
52
+ }
53
+ const c = props.controller;
54
+ if (!c.state.visible && !c.state.keepAlive) {
55
+ return null;
56
+ }
57
+ return createVNode(resolveComponent("van-tab"), {
58
+ "class": this.ns.b("tab-item"),
59
+ "title": c.model.caption,
60
+ "name": c.model.id
61
+ }, _isSlot(slot) ? slot : {
62
+ default: () => [slot]
63
+ });
64
+ })) ? _slot : {
65
+ default: () => [_slot]
66
+ });
67
+ }
68
+ });
69
+
70
+ export { PanelTabPanel };
@@ -0,0 +1,13 @@
1
+ import { IPanelItemProvider, PanelController, PanelItemController } from '@ibiz-template/runtime';
2
+ import { IPanelItem } from '@ibiz/model-core';
3
+ /**
4
+ * 面板分页面板适配器
5
+ *
6
+ * @export
7
+ * @class PanelTabPanelController
8
+ * @implements {IPanelItemProvider}
9
+ */
10
+ export declare class PanelTabPanelProvider implements IPanelItemProvider {
11
+ component: string;
12
+ createController(panelItem: IPanelItem, panel: PanelController, parent: PanelItemController | undefined): Promise<PanelItemController>;
13
+ }
@@ -0,0 +1,21 @@
1
+ import { PanelItemController } from '@ibiz-template/runtime';
2
+
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField = (obj, key, value) => {
7
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
8
+ return value;
9
+ };
10
+ class PanelTabPanelProvider {
11
+ constructor() {
12
+ __publicField(this, "component", "IBizPanelTabPanel");
13
+ }
14
+ async createController(panelItem, panel, parent) {
15
+ const c = new PanelItemController(panelItem, panel, parent);
16
+ await c.init();
17
+ return c;
18
+ }
19
+ }
20
+
21
+ export { PanelTabPanelProvider };
@@ -23,9 +23,6 @@ const IBizCol = /* @__PURE__ */ vue.defineComponent({
23
23
  const spacingClass = vue.computed(() => {
24
24
  const ns2 = vue3Util.useNamespace("spacing");
25
25
  const classArr = [];
26
- if (props.layoutPos.layout !== "FLEX") {
27
- return classArr;
28
- }
29
26
  const spacings = {
30
27
  top: props.layoutPos.spacingTop,
31
28
  bottom: props.layoutPos.spacingBottom,
@@ -43,7 +43,7 @@ const IBizRawItem = /* @__PURE__ */ vue.defineComponent({
43
43
  rawItemContent.value = rawItem.content;
44
44
  }
45
45
  } else if (["VIDEO", "DIVIDER", "INFO", "WARNING", "ERROR"].includes(contentType)) {
46
- rawItemContent.value = props.content;
46
+ rawItemContent.value = props.content || rawItem.rawContent;
47
47
  } else if (contentType === "IMAGE" && sysImage) {
48
48
  rawItemContent.value = sysImage;
49
49
  }
@@ -6,7 +6,7 @@ require('./calendar.css');
6
6
  var runtime = require('@ibiz-template/runtime');
7
7
  var ramda = require('ramda');
8
8
  var dayjs = require('dayjs');
9
- var index = require('../../node_modules/.pnpm/vue3-hash-calendar@1.1.3_vue@3.3.8/node_modules/vue3-hash-calendar/es/index.cjs');
9
+ var index = require('../../node_modules/.pnpm/vue3-hash-calendar@1.1.3_vue@3.3.9/node_modules/vue3-hash-calendar/es/index.cjs');
10
10
  require('vue3-hash-calendar/es/index.css');
11
11
 
12
12
  "use strict";
@@ -1 +1 @@
1
- .ibiz-form-item-container{--ibiz-form-item-container-label-width:8.125rem;--ibiz-form-item-container-line-height:var(--ibiz-form-item-line-height);--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-left-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-error-margin-top:var(--ibiz-spacing-extra-tight);--ibiz-form-item-container-bg-color:var(--ibiz-color-bg-1);--ibiz-form-item-container-label-font-size:var(--ibiz-font-size-header-5);--ibiz-form-item-container-label-text-color:var(--ibiz-color-text-0);--ibiz-form-item-container-container-error-padding:0 var(--ibiz-spacing-base);--ibiz-form-item-container-border:0.0625rem var(--ibiz-color-border) solid;--ibiz-form-item-container-editor-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none) var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-form-item-label-line-height:1;--ibiz-form-item-label-font-size:var(--ibiz-font-size-header-5);--ibiz-form-item-label-text-color:var(--ibiz-color-text-0);position:relative;width:100%;height:100%;padding:var(--ibiz-form-item-container-container-padding);font-size:var(--ibiz-form-item-font-size);background-color:var(--ibiz-form-item-container-bg-color);border-width:calc(100% - var(--ibiz-spacing-base) * 2);border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item-container::after{position:absolute;z-index:1;width:calc(100% - var(--ibiz-spacing-base) * 2);height:.00625rem;content:"";background-color:var(--ibiz-color-border)}.ibiz-form-item-container__label{position:relative;flex-shrink:0;width:var(--ibiz-form-item-container-label-width);overflow:visible;color:var(--ibiz-form-item-label-text-color)}.ibiz-form-item-container__label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:100%;font-size:var(--ibiz-form-item-container-label-font-size);line-height:var(--ibiz-form-item-label-line-height);text-align:var(--ibiz-form-item-container-label-align)}.ibiz-form-item-container__editor{width:100%;text-align:var(--ibiz-form-item-container-editor-align)}.ibiz-form-item-container__editor .van-cell{padding-bottom:0}.ibiz-form-item-container.is-required .ibiz-form-item-container__label::before{position:absolute;top:.1875rem;left:-.625rem;display:inline-block;height:100%;font-size:.875rem;color:var(--ibiz-form-item-error-color);content:"*"}.ibiz-form-item-container.is-error::after{background-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container.is-error .ibiz-form-item-container-content{border-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container--left::after{bottom:0}.ibiz-form-item-container--right.is-required .ibiz-form-item-container__label::before{right:-.625rem;left:auto}.ibiz-form-item-container--right .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--left .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--top .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container--bottom .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container-content{position:relative}.ibiz-form-item-container--left .ibiz-form-item-container-content,.ibiz-form-item-container--right .ibiz-form-item-container-content{height:100%;display:flex;align-items:center;justify-content:center}.ibiz-form-item-container-error{position:absolute;bottom:0;width:calc(100% - var(--ibiz-spacing-base));padding-right:var(--ibiz-spacing-base);font-size:var(--ibiz-form-item-error-font-size);line-height:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-error-color);text-align:var(--ibiz-form-item-container-editor-align)}
1
+ .ibiz-form-item-container{--ibiz-form-item-container-label-width:8.125rem;--ibiz-form-item-container-line-height:var(--ibiz-form-item-line-height);--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-left-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-error-margin-top:var(--ibiz-spacing-extra-tight);--ibiz-form-item-container-bg-color:var(--ibiz-color-bg-1);--ibiz-form-item-container-label-font-size:var(--ibiz-font-size-header-6);--ibiz-form-item-container-label-text-color:var(--ibiz-color-text-0);--ibiz-form-item-container-container-error-padding:0 var(--ibiz-spacing-base);--ibiz-form-item-container-border:0.0625rem var(--ibiz-color-border) solid;--ibiz-form-item-container-editor-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none) var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-form-item-label-line-height:1;--ibiz-form-item-label-font-size:var(--ibiz-font-size-header-5);--ibiz-form-item-label-text-color:var(--ibiz-color-text-0);position:relative;width:100%;height:100%;padding:var(--ibiz-form-item-container-container-padding);font-size:var(--ibiz-form-item-font-size);background-color:var(--ibiz-form-item-container-bg-color);border-width:calc(100% - var(--ibiz-spacing-base) * 2);border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item-container::after{position:absolute;z-index:1;width:calc(100% - var(--ibiz-spacing-base) * 2);height:.00625rem;content:"";background-color:var(--ibiz-color-border)}.ibiz-form-item-container__label{position:relative;flex-shrink:0;width:var(--ibiz-form-item-container-label-width);overflow:visible;color:var(--ibiz-form-item-label-text-color)}.ibiz-form-item-container__label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:100%;font-size:var(--ibiz-form-item-container-label-font-size);text-align:var(--ibiz-form-item-container-label-align)}.ibiz-form-item-container__editor{width:100%;text-align:var(--ibiz-form-item-container-editor-align)}.ibiz-form-item-container__editor .van-cell{padding-bottom:0}.ibiz-form-item-container.is-required .ibiz-form-item-container__label::before{position:absolute;top:.1875rem;left:-.625rem;display:inline-block;height:100%;font-size:.875rem;color:var(--ibiz-form-item-error-color);content:"*"}.ibiz-form-item-container.is-error::after{background-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container.is-error .ibiz-form-item-container-content{border-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container--left::after{bottom:0}.ibiz-form-item-container--right.is-required .ibiz-form-item-container__label::before{right:-.625rem;left:auto}.ibiz-form-item-container--right .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--left .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--top .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container--bottom .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container-content{position:relative}.ibiz-form-item-container--left .ibiz-form-item-container-content,.ibiz-form-item-container--right .ibiz-form-item-container-content{height:100%;display:flex;align-items:center;justify-content:center}.ibiz-form-item-container-error{position:absolute;bottom:0;width:calc(100% - var(--ibiz-spacing-base));padding-right:var(--ibiz-spacing-base);font-size:var(--ibiz-form-item-error-font-size);line-height:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-error-color);text-align:var(--ibiz-form-item-container-editor-align)}
@@ -48,7 +48,7 @@ const FormMDCtrlForm = /* @__PURE__ */ vue.defineComponent({
48
48
  "items": state.items || [],
49
49
  "enableCreate": this.controller.enableCreate,
50
50
  "enableDelete": this.controller.enableDelete,
51
- "onAddClick": () => this.controller.create(),
51
+ "onAddClick": (index) => this.controller.create(index),
52
52
  "onRemoveClick": (item) => this.controller.remove(item.id)
53
53
  }, {
54
54
  item: ({
@@ -26,9 +26,19 @@ const RepeaterMultiForm = /* @__PURE__ */ vue.defineComponent({
26
26
  arrData[index] = value;
27
27
  emit("change", arrData);
28
28
  };
29
+ const removeClick = async (index) => {
30
+ const confirm = await ibiz.modal.confirm({
31
+ title: "\u786E\u8BA4",
32
+ desc: "\u662F\u5426\u5220\u9664\u9009\u4E2D\u9879?"
33
+ });
34
+ if (confirm) {
35
+ props.controller.remove(index);
36
+ }
37
+ };
29
38
  return {
30
39
  ns,
31
- onValueChange
40
+ onValueChange,
41
+ removeClick
32
42
  };
33
43
  },
34
44
  render() {
@@ -38,8 +48,10 @@ const RepeaterMultiForm = /* @__PURE__ */ vue.defineComponent({
38
48
  "items": items,
39
49
  "enableCreate": this.controller.enableCreate,
40
50
  "enableDelete": this.controller.enableDelete,
41
- "onAddClick": () => this.controller.create(),
42
- "onRemoveClick": (_item, index) => this.controller.remove(index)
51
+ "onAddClick": (index) => this.controller.create(index),
52
+ "onRemoveClick": (_item, index) => {
53
+ this.removeClick(index);
54
+ }
43
55
  }, {
44
56
  item: ({
45
57
  data,
@@ -22,7 +22,7 @@ const MDCtrlContainer = /* @__PURE__ */ vue.defineComponent({
22
22
  }
23
23
  },
24
24
  emits: {
25
- addClick: () => true,
25
+ addClick: (index) => true,
26
26
  removeClick: (_data, _index) => true
27
27
  },
28
28
  setup(props, {
@@ -32,11 +32,14 @@ const MDCtrlContainer = /* @__PURE__ */ vue.defineComponent({
32
32
  const showActions = vue.computed(() => {
33
33
  return props.enableCreate || props.enableDelete;
34
34
  });
35
- const renderAddBtn = () => {
35
+ const renderAddBtn = (index) => {
36
+ if (!props.enableCreate) {
37
+ return null;
38
+ }
36
39
  return vue.createVNode(vue.resolveComponent("van-button"), {
37
40
  "class": [ns.be("item-actions", "create"), ns.be("item-actions", "btn")],
38
41
  "size": "small",
39
- "onClick": () => emit("addClick"),
42
+ "onClick": () => emit("addClick", index === void 0 ? void 0 : index + 1),
40
43
  "type": "primary"
41
44
  }, {
42
45
  default: () => [vue.createTextVNode("\u6DFB\u52A0")]
@@ -69,11 +72,15 @@ const MDCtrlContainer = /* @__PURE__ */ vue.defineComponent({
69
72
  default: () => [vue.createTextVNode("\u5220\u9664")]
70
73
  });
71
74
  };
75
+ const renderBottomBtn = (item, index) => {
76
+ return [renderAddBtn(index), renderRemoveBtn(item, index)];
77
+ };
72
78
  return {
73
79
  ns,
74
80
  showActions,
75
81
  renderAddBtn,
76
- renderRemoveBtn
82
+ renderRemoveBtn,
83
+ renderBottomBtn
77
84
  };
78
85
  },
79
86
  render() {
@@ -85,10 +92,11 @@ const MDCtrlContainer = /* @__PURE__ */ vue.defineComponent({
85
92
  index
86
93
  }) : vue.createVNode("div", null, [vue.createTextVNode("\u672A\u63D0\u4F9Bitem\u63D2\u69FD")]);
87
94
  return vue.createVNode("div", {
88
- "class": this.ns.b("item")
95
+ "class": this.ns.b("item"),
96
+ "key": item.id
89
97
  }, [formComponent, this.showActions && vue.createVNode("div", {
90
98
  "class": this.ns.b("item-actions")
91
- }, [this.renderRemoveBtn(item, index)])]);
99
+ }, [this.renderBottomBtn(item, index)])]);
92
100
  })]);
93
101
  }
94
102
  });
@@ -1 +1 @@
1
- .ibiz-mdctrl-container{display:flex;flex-direction:column;gap:10px;padding:var(--ibiz-spacing-tight) 0}.ibiz-mdctrl-container-item__form{flex-grow:1}.ibiz-mdctrl-container-item-actions{flex-shrink:0;width:100%;text-align:center}.ibiz-mdctrl-container-item-actions .van-button+.van-button{margin-left:0}.ibiz-mdctrl-container-item-actions__btn{width:calc(100% - var(--ibiz-spacing-base) * 2);margin:0 var(--ibiz-spacing-base)}.ibiz-mdctrl-container-no-data{width:100%;display:flex;justify-content:flex-end}
1
+ .ibiz-mdctrl-container{display:flex;flex-direction:column;padding:var(--ibiz-spacing-tight) 0;background-color:var(--ibiz-color-bg-1)}.ibiz-mdctrl-container-item{margin:0 var(--ibiz-spacing-tight);margin-top:var(--ibiz-spacing-tight);overflow:hidden;border:solid 1px var(--ibiz-color-border);border-radius:var(--ibiz-border-radius-medium)}.ibiz-mdctrl-container-item__form{flex-grow:1}.ibiz-mdctrl-container-item-actions{display:flex;flex-shrink:0;width:100%;padding:10px 0;text-align:center}.ibiz-mdctrl-container-item-actions .van-button+.van-button{margin-left:0}.ibiz-mdctrl-container-item-actions__btn{width:calc(100% - var(--ibiz-spacing-base) * 2);margin:0 var(--ibiz-spacing-base)}.ibiz-mdctrl-container-no-data{width:100%;display:flex;justify-content:flex-end}
@@ -10,6 +10,7 @@ var index$4 = require('./panel-button/index.cjs');
10
10
  var index$6 = require('./wf-action-button/index.cjs');
11
11
  var index$5 = require('./wf-step-trace/index.cjs');
12
12
  var index = require('./nav-pos-index/index.cjs');
13
+ var index$7 = require('./panel-tab-panel/index.cjs');
13
14
 
14
15
  "use strict";
15
16
  const IBizPanelComponents = {
@@ -29,6 +30,9 @@ const IBizPanelComponents = {
29
30
  v.use(index$6.IBizWFActionButton);
30
31
  v.use(vue3Util.IBizSingleDataContainer);
31
32
  v.use(vue3Util.IBizMultiDataContainer);
33
+ v.use(index$7.IBizPanelTabPanel);
34
+ v.use(vue3Util.IBizPanelContainerImage);
35
+ v.use(vue3Util.IBizScrollContainer);
32
36
  }
33
37
  };
34
38
 
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var runtime = require('@ibiz-template/runtime');
6
+ var vue3Util = require('@ibiz-template/vue3-util');
7
+ var panelTabPanel = require('./panel-tab-panel.cjs');
8
+ var panelTabPanel_provider = require('./panel-tab-panel.provider.cjs');
9
+
10
+ "use strict";
11
+ const IBizPanelTabPanel = vue3Util.withInstall(panelTabPanel.PanelTabPanel, function(v) {
12
+ v.component(panelTabPanel.PanelTabPanel.name, panelTabPanel.PanelTabPanel);
13
+ runtime.registerPanelItemProvider("TABPANEL", () => new panelTabPanel_provider.PanelTabPanelProvider());
14
+ });
15
+
16
+ exports.IBizPanelTabPanel = IBizPanelTabPanel;
17
+ exports.default = IBizPanelTabPanel;