ch3chi-commons-vue 0.1.14 → 1.2.0

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 (39) hide show
  1. package/README.md +138 -5
  2. package/dist/api/ApiService.d.ts +109 -2
  3. package/dist/auth/AuthorizationService.d.ts +1 -2
  4. package/dist/auth/PermissionDescriptor.d.ts +37 -0
  5. package/dist/components/CAlertDefine.d.ts +2 -0
  6. package/dist/components/CGlobalSpinner.vue.d.ts +3 -0
  7. package/dist/components/CTable.vue.d.ts +24 -0
  8. package/dist/components/CTableDefine.d.ts +76 -0
  9. package/dist/components/CTableTD.vue.d.ts +7 -0
  10. package/dist/components/form/CChangePasswordFormField.vue.d.ts +14 -0
  11. package/dist/components/form/CCheckBoxFormField.vue.d.ts +30 -0
  12. package/dist/components/form/CDateFormField.vue.d.ts +17 -0
  13. package/dist/components/form/CDateQueryField.vue.d.ts +16 -0
  14. package/dist/components/form/CDateRangeFormField.vue.d.ts +17 -0
  15. package/dist/components/form/CFilePickerFormField.vue.d.ts +28 -0
  16. package/dist/components/form/CRadioFormField.vue.d.ts +30 -0
  17. package/dist/components/form/CSelectFormField.vue.d.ts +18 -0
  18. package/dist/components/form/CTextAreaFormField.vue.d.ts +16 -0
  19. package/dist/components/form/CTextInputFormField.vue.d.ts +22 -0
  20. package/dist/directive/CFTurnstileDirective.d.ts +6 -0
  21. package/dist/directive/PermissionDirective.d.ts +15 -0
  22. package/dist/index.cjs.js +16001 -2940
  23. package/dist/index.d.ts +38 -1
  24. package/dist/index.es.js +15961 -2901
  25. package/dist/model/BSFieldStyleConfig.d.ts +121 -0
  26. package/dist/model/BaseDictionary.d.ts +34 -0
  27. package/dist/model/BaseFormDataModel.d.ts +4 -0
  28. package/dist/model/BaseListViewModel.d.ts +21 -0
  29. package/dist/model/CMenuItem.d.ts +2 -0
  30. package/dist/model/FormOptions.d.ts +8 -3
  31. package/dist/model/LoginDataModel.d.ts +1 -0
  32. package/dist/model/QueryParameter.d.ts +3 -5
  33. package/dist/model/SessionUser.d.ts +17 -2
  34. package/dist/model/ShowMessageDataModel.d.ts +44 -0
  35. package/dist/model/TokenUser.d.ts +50 -0
  36. package/dist/stores/ViewStore.d.ts +314 -180
  37. package/dist/style.css +223 -0
  38. package/dist/utils/CToolUtils.d.ts +12 -0
  39. package/package.json +24 -4
package/dist/style.css ADDED
@@ -0,0 +1,223 @@
1
+
2
+ .toast.c-toast-error[data-v-5a5057c1] {
3
+ background-color: #ffffff;
4
+ color: #212529;
5
+ border-left: 4px solid #dc3545;
6
+ }
7
+ .toast.c-toast-error .toast-header[data-v-5a5057c1] {
8
+ background-color: #f5c6cb;
9
+ color: #721c24;
10
+ border-bottom: 1px solid #f1aeb5;
11
+ }
12
+ .toast.c-toast-alert[data-v-5a5057c1] {
13
+ background-color: #ffffff;
14
+ color: #212529;
15
+ border-left: 4px solid #fd7e14;
16
+ }
17
+ .toast.c-toast-alert .toast-header[data-v-5a5057c1] {
18
+ background-color: #fde2d3;
19
+ color: #8a4116;
20
+ border-bottom: 1px solid #fde2d3;
21
+ }
22
+ .toast.c-toast-info[data-v-5a5057c1] {
23
+ background-color: #ffffff;
24
+ color: #212529;
25
+ border-left: 4px solid #20c997;
26
+ }
27
+ .toast.c-toast-info .toast-header[data-v-5a5057c1] {
28
+ background-color: #d4f4e6;
29
+ color: #0f5132;
30
+ border-bottom: 1px solid #d4f4e6;
31
+ }
32
+
33
+ /* 增加一些通用樣式改進 */
34
+ .toast[data-v-5a5057c1] {
35
+ box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
36
+ border-radius: 0.375rem;
37
+ }
38
+ .toast-header[data-v-5a5057c1] {
39
+ font-weight: 600;
40
+ }
41
+ .toast-body[data-v-5a5057c1] {
42
+ padding: 0.75rem;
43
+ background-color: #ffffff;
44
+ color: #212529;
45
+ }
46
+
47
+ .c-global-overlay[data-v-819a33ab] {
48
+ position: fixed;
49
+ top: 0; left: 0; right: 0; bottom: 0;
50
+ background: rgba(44, 44, 44, 0.5);
51
+ z-index: 30000;
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ }
56
+ .c-global-spinner[data-v-819a33ab] {
57
+ --spinner-color: var(--v42442b26);
58
+ }
59
+ .c-global-spinner .spinner-border[data-v-819a33ab] {
60
+ width: 3rem;
61
+ height: 3rem;
62
+ color: var(--spinner-color, #E4B445);
63
+ border-width: 0.4em;
64
+ }
65
+
66
+ .c-multiline-text[data-v-49ff4b16] {
67
+ white-space: pre-wrap;
68
+ word-break: break-word;
69
+ }
70
+ .flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08)}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9)}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{/*
71
+ /*rtl:begin:ignore*/left:0/*
72
+ /*rtl:end:ignore*/}/*
73
+ /*rtl:begin:ignore*/
74
+ /*
75
+ /*rtl:end:ignore*/
76
+ .flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{/*
77
+ /*rtl:begin:ignore*/right:0/*
78
+ /*rtl:end:ignore*/}/*
79
+ /*rtl:begin:ignore*/
80
+ /*
81
+ /*rtl:end:ignore*/
82
+ .flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,0.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,0.1)}.numInputWrapper span:active{background:rgba(0,0,0,0.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,0.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,0.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,0.5)}.numInputWrapper:hover{background:rgba(0,0,0,0.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,0.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,0.9)}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,0.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,0.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer + .dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,0.3);background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,0.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,0.3);background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}
83
+ .c-single-file-box .c-multiple-file[data-v-b1ff243c]{
84
+ display: none;
85
+ }
86
+ .c-multiple-file-box .c-single-file[data-v-b1ff243c] {
87
+ display: none;
88
+ }
89
+ .c-file-upload-list .progress[data-v-b1ff243c] {
90
+ height: 8px;
91
+ }
92
+ .c-file-download-link[data-v-b1ff243c]:is(a) {
93
+ color: var(--bs-link-color);
94
+ cursor: pointer;
95
+ }
96
+ .c-file-download-link[data-v-b1ff243c]:is(a):hover {
97
+ color: var(--bs-link-hover-color);
98
+ text-decoration: underline;
99
+ }
100
+
101
+
102
+ .c-textarea-readonly[data-v-cf428e50] {
103
+ background-color: #e9ecef;
104
+ opacity: 1;
105
+ min-height: 90px;
106
+ }
107
+
108
+
109
+ /* 非 scoped 樣式:定義 CSS 變數 */
110
+ .content-table {
111
+ /* 定義 CSS 變數預設值 */
112
+ --c-pagination-bg-color: #fff;
113
+ --c-pagination-text-color: #2e2e2e;
114
+ --c-pagination-border-color: #E4B445;
115
+ --c-pagination-hover-bg-color: #E4B445;
116
+ --c-pagination-hover-text-color: #fff;
117
+ --c-pagination-hover-border-color: #d4a33c;
118
+ --c-pagination-active-bg-color: #E4B445;
119
+ --c-pagination-active-text-color: #fff;
120
+ --c-pagination-active-border-color: #E4B445;
121
+ --c-scrollbar-thumb-color: #E4B445;
122
+ --c-scrollbar-track-color: #f1f1f1;
123
+ --c-scrollbar-thumb-hover-color: #d4a33c;
124
+ --c-scrollbar-height: 8px;
125
+ }
126
+ .content-table-body {
127
+ /* 自訂 scrollbar 樣式 */
128
+ scrollbar-width: thin; /* Firefox */
129
+ scrollbar-color: var(--c-scrollbar-thumb-color) var(--c-scrollbar-track-color); /* Firefox: thumb 和 track 顏色 */
130
+ }
131
+
132
+ /* WebKit 瀏覽器 (Chrome, Safari, Edge) */
133
+ .content-table-body::-webkit-scrollbar {
134
+ height: var(--c-scrollbar-height); /* scrollbar 高度 */
135
+ }
136
+ .content-table-body::-webkit-scrollbar-track {
137
+ background: var(--c-scrollbar-track-color); /* track 背景色 */
138
+ border-radius: 4px;
139
+ }
140
+ .content-table-body::-webkit-scrollbar-thumb {
141
+ background: var(--c-scrollbar-thumb-color); /* thumb 顏色 */
142
+ border-radius: 4px;
143
+ transition: background 0.3s;
144
+ }
145
+ .content-table-body::-webkit-scrollbar-thumb:hover {
146
+ background: var(--c-scrollbar-thumb-hover-color); /* hover 時的顏色 */
147
+ }
148
+
149
+
150
+ .content-table[data-v-b60bf553] {
151
+ display: flex;
152
+ flex-direction: column;
153
+ justify-content: center;
154
+ align-items: center;
155
+ }
156
+ .content-table table[data-v-b60bf553] {
157
+ table-layout: auto;
158
+ }
159
+ .content-table-body[data-v-b60bf553] {
160
+ width: 100%;
161
+ overflow-x: auto;
162
+ }
163
+ .content-table table th[data-v-b60bf553],
164
+ .content-table table td[data-v-b60bf553] {
165
+ width: auto;
166
+ }
167
+ .content-table table td[data-v-b60bf553] {
168
+ vertical-align: middle;
169
+ text-align: left;
170
+ }
171
+ .content-table-footer[data-v-b60bf553] {
172
+ border-top: 1px solid #dee2e6;
173
+ }
174
+ .content-table .pagination .page-link[data-v-b60bf553] {
175
+ min-width: 36px;
176
+ text-align: center;
177
+ display: inline-block;
178
+ color: var(--c-pagination-text-color, #2e2e2e);
179
+ background-color: var(--c-pagination-bg-color, #fff);
180
+ border: 1px solid var(--c-pagination-border-color, #E4B445);
181
+ margin: 0 2px;
182
+ border-radius: 4px;
183
+ transition: background-color .3s, color .3s;
184
+ }
185
+ .content-table .pagination .page-link[data-v-b60bf553]:hover,
186
+ .content-table .pagination .page-link[data-v-b60bf553]:focus {
187
+ background-color: var(--c-pagination-hover-bg-color, #E4B445);
188
+ color: var(--c-pagination-hover-text-color, #fff);
189
+ border-color: var(--c-pagination-hover-border-color, #d4a33c);
190
+ }
191
+ .content-table .pagination .active .page-link[data-v-b60bf553] {
192
+ background-color: var(--c-pagination-active-bg-color, #E4B445);
193
+ color: var(--c-pagination-active-text-color, #fff);
194
+ border-color: var(--c-pagination-active-border-color, #E4B445);
195
+ }
196
+ .content-table .pagination .page-link.c-page-action[data-v-b60bf553] {
197
+ padding-left: 0.2rem;
198
+ padding-right: 0.2rem;
199
+ }
200
+ .dropdown-menu.c-page-menu[data-v-b60bf553] {
201
+ min-width: 200px;
202
+ }
203
+ .c-sortable[data-v-b60bf553] {
204
+ cursor: pointer;
205
+ user-select: none;
206
+ transition: background-color 0.2s;
207
+ }
208
+ .c-sortable[data-v-b60bf553]:hover {
209
+ background-color: rgba(0, 123, 255, 0.1);
210
+ }
211
+ .c-sort-icon[data-v-b60bf553] {
212
+ font-size: 16px;
213
+ color: #6c757d;
214
+ transition: color 0.2s;
215
+ }
216
+ .c-sortable:hover .c-sort-icon[data-v-b60bf553] {
217
+ color: #007bff;
218
+ }
219
+ .c-sortable .c-arrow-up[data-v-b60bf553],
220
+ .c-sortable .c-arrow-down[data-v-b60bf553] {
221
+ color: #007bff;
222
+ }
223
+
@@ -1,8 +1,20 @@
1
+ import { default as _ } from 'lodash';
1
2
  import * as yup from "yup";
2
3
  /**
3
4
  * 空函式
4
5
  */
5
6
  export declare const voidFunction: () => void;
7
+ /**
8
+ * 延遲指定毫秒數
9
+ * @param ms 毫秒數
10
+ */
11
+ export declare const delay: (ms: number) => Promise<unknown>;
12
+ /**
13
+ * 從 params 中挑選有值的屬性並指派到 payload 中
14
+ * @param payload
15
+ * @param params
16
+ */
17
+ export declare const pickAndAssign: (payload: Record<string, any>, params: Record<string, any>) => Record<string, any> & _.Dictionary<any>;
6
18
  /**
7
19
  * 寫入 Vue ref 物件的值
8
20
  * @param refObj
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ch3chi-commons-vue",
3
- "version": "0.1.14",
3
+ "version": "1.2.0",
4
4
  "description": "",
5
5
  "main": "dist/index.es.js",
6
6
  "types": "dist/index.d.ts",
@@ -9,7 +9,8 @@
9
9
  "types": "./dist/index.d.ts",
10
10
  "import": "./dist/index.es.js",
11
11
  "require": "./dist/index.cjs.js"
12
- }
12
+ },
13
+ "./style.css": "./dist/style.css"
13
14
  },
14
15
  "files": [
15
16
  "dist",
@@ -18,8 +19,17 @@
18
19
  ],
19
20
  "scripts": {
20
21
  "prebuild": "rm -rf dist",
22
+ "build": "tsc --noEmit",
21
23
  "vite-build": "vite build",
22
- "build": "tsc"
24
+ "yalc-push": "yalc push",
25
+ "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
26
+ "changelog:all": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
27
+ "changelog:custom": "tsx scripts/generate-changelog.ts",
28
+ "release": "standard-version",
29
+ "release:major": "standard-version --release-as major",
30
+ "release:minor": "standard-version --release-as minor",
31
+ "release:patch": "standard-version --release-as patch",
32
+ "release:dry": "standard-version --dry-run"
23
33
  },
24
34
  "peerDependencies": {
25
35
  "@fortawesome/fontawesome-svg-core": ">=7.1.0",
@@ -38,6 +48,8 @@
38
48
  "yup": ">=1.7.1"
39
49
  },
40
50
  "devDependencies": {
51
+ "@commitlint/cli": "^20.2.0",
52
+ "@commitlint/config-conventional": "^20.2.0",
41
53
  "@fortawesome/fontawesome-svg-core": "^7.1.0",
42
54
  "@fortawesome/free-solid-svg-icons": "^7.1.0",
43
55
  "@fortawesome/vue-fontawesome": "^3.1.2",
@@ -45,20 +57,28 @@
45
57
  "@types/bootstrap": "^5.2.10",
46
58
  "@types/lodash": "^4.17.20",
47
59
  "@types/mime-types": "^3.0.1",
48
- "@types/node": "^24.10.0",
60
+ "@types/node": "^24.10.4",
61
+ "@vitejs/plugin-vue": "^6.0.2",
49
62
  "axios": "^1.13.2",
50
63
  "bootstrap": "^5.3.7",
64
+ "conventional-changelog-cli": "^5.0.0",
51
65
  "dayjs": "^1.11.13",
52
66
  "flatpickr": "^4.6.13",
53
67
  "lodash": "^4.17.21",
68
+ "loglevel": "^1.9.2",
54
69
  "mime-types": "^3.0.1",
55
70
  "pinia": "^3.0.4",
71
+ "pinia-plugin-persistedstate": "^4.7.1",
72
+ "standard-version": "^9.5.0",
56
73
  "terser": "^5.44.1",
74
+ "ts-node": "^10.9.2",
75
+ "tsx": "^4.21.0",
57
76
  "typescript": "^5.9.3",
58
77
  "uuid": "^11.1.0",
59
78
  "uuidv4": "^6.2.13",
60
79
  "vee-validate": "^4.15.1",
61
80
  "vite": "^7.2.1",
81
+ "vite-plugin-css-injected-by-js": "^3.5.2",
62
82
  "vite-plugin-dts": "^4.5.4",
63
83
  "vue": "^3.5.23",
64
84
  "vue-router": "^4.6.3",