quasar-ui-sellmate-ui-kit 3.14.30 → 3.14.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * quasar-ui-sellmate-ui-kit v3.14.29
2
+ * quasar-ui-sellmate-ui-kit v3.14.31
3
3
  * (c) 2025 Sellmate Dev Team <dev@sellmate.co.kr>
4
4
  * Released under the MIT License.
5
5
  */
@@ -642,9 +642,8 @@
642
642
  );
643
643
 
644
644
  var dateValue = vue.ref(props.modelValue);
645
- var processedDateValue = vue.ref(props.modelValue);
646
645
 
647
- function dateUpdate(dateVal) {
646
+ function dateUpdate() {
648
647
  if (props.range) {
649
648
  if (typeof dateValue.value === 'string') {
650
649
  dateValue.value = {
@@ -657,8 +656,7 @@
657
656
  }
658
657
  inputDate.value = (dateValue.value.from) + " ~ " + (dateValue.value.to);
659
658
  } else {
660
- dateValue.value = dateVal.replaceAll('/', '-');
661
- processedDateValue.value = dateVal;
659
+ dateValue.value = quasar.date.formatDate(dateValue.value, 'YYYY-MM-DD');
662
660
  inputDate.value = dateValue.value;
663
661
  }
664
662
  calendarOpen.value = false;
@@ -785,110 +783,95 @@
785
783
  var _component_q_icon = vue.resolveComponent("q-icon");
786
784
  var _component_q_input = vue.resolveComponent("q-input");
787
785
 
788
- return (vue.openBlock(), vue.createBlock(_component_q_input, {
789
- dense: "",
790
- outlined: "",
791
- class: vue.normalizeClass([{
786
+ return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
787
+ vue.createTextVNode(vue.toDisplayString(_ctx.dateValue) + " ", 1),
788
+ vue.createVNode(_component_q_input, {
789
+ dense: "",
790
+ outlined: "",
791
+ class: vue.normalizeClass([{
792
792
  's-date-picker-range': _ctx.range,
793
793
  'text-grey_65 bg-grey_10': _ctx.isDisable,
794
794
  's-date-picker-inside': _ctx.insideLabel,
795
795
  }, "q-pa-none s-date-picker"]),
796
- readonly: "",
797
- placeholder: _ctx.dateText,
798
- modelValue: _ctx.inputDate,
799
- "onUpdate:modelValue": _cache[3] || (_cache[3] = function ($event) { return ((_ctx.inputDate) = $event); }),
800
- disable: _ctx.isDisable,
801
- onClick: _ctx.openCalendar,
802
- name: _ctx.name,
803
- type: _ctx.type
804
- }, vue.createSlots({
805
- prepend: vue.withCtx(function () { return [
806
- vue.createVNode(_component_q_btn, {
807
- icon: _ctx.dateRangeIcon,
808
- dense: "",
809
- ripple: false,
810
- flat: "",
811
- color: "grey_90",
812
- class: "q-pa-none no-hover",
813
- "aria-label": "date-button"
814
- }, {
815
- default: vue.withCtx(function () { return [
816
- vue.createVNode(_component_q_menu, {
817
- modelValue: _ctx.calendarOpen,
818
- "onUpdate:modelValue": _cache[2] || (_cache[2] = function ($event) { return ((_ctx.calendarOpen) = $event); }),
819
- fit: "",
820
- class: "date-picker-wrapper",
821
- offset: [12, 12]
822
- }, {
823
- default: vue.withCtx(function () { return [
824
- (_ctx.range)
825
- ? (vue.openBlock(), vue.createBlock(_component_q_date, {
826
- key: 0,
827
- modelValue: _ctx.dateValue,
828
- "onUpdate:modelValue": [
829
- _cache[0] || (_cache[0] = function ($event) { return ((_ctx.dateValue) = $event); }),
830
- _ctx.dateUpdate
831
- ],
832
- minimal: "",
833
- range: _ctx.range,
834
- color: "positive",
835
- class: "q-pa-none",
836
- options: _ctx.optionsFn,
837
- locale: _ctx.lang ? _ctx.locale[_ctx.lang] : {},
838
- onRangeStart: _ctx.getRangeStartDay,
839
- onRangeEnd: _ctx.resetDate
840
- }, null, 8, ["modelValue", "range", "options", "locale", "onRangeStart", "onRangeEnd", "onUpdate:modelValue"]))
841
- : (vue.openBlock(), vue.createBlock(_component_q_date, {
842
- key: 1,
843
- modelValue: _ctx.processedDateValue,
844
- "onUpdate:modelValue": [
845
- _cache[1] || (_cache[1] = function ($event) { return ((_ctx.processedDateValue) = $event); }),
846
- _ctx.dateUpdate
847
- ],
848
- minimal: "",
849
- range: _ctx.range,
850
- color: "positive",
851
- class: "q-pa-none",
852
- options: _ctx.optionsFn,
853
- locale: _ctx.lang ? _ctx.locale[_ctx.lang] : {},
854
- onRangeStart: _ctx.getRangeStartDay,
855
- onRangeEnd: _ctx.resetDate
856
- }, null, 8, ["modelValue", "range", "options", "locale", "onRangeStart", "onRangeEnd", "onUpdate:modelValue"]))
857
- ]; }),
858
- _: 1
859
- }, 8, ["modelValue"])
860
- ]; }),
861
- _: 1
862
- }, 8, ["icon"])
863
- ]; }),
864
- _: 2
865
- }, [
866
- (_ctx.insideLabel)
867
- ? {
868
- name: "before",
869
- fn: vue.withCtx(function () { return [
870
- vue.createElementVNode("div", _hoisted_1$q, vue.toDisplayString(_ctx.label), 1)
871
- ]; }),
872
- key: "0"
873
- }
874
- : undefined,
875
- (_ctx.useDelete)
876
- ? {
877
- name: "append",
878
- fn: vue.withCtx(function () { return [
879
- vue.createVNode(_component_q_icon, {
880
- name: _ctx.closeIcon,
881
- size: "16px",
882
- color: "grey_55",
883
- class: "cursor-pointer",
884
- onClick: _ctx.deleteDate,
885
- "aria-label": "close-button"
886
- }, null, 8, ["name", "onClick"])
796
+ readonly: "",
797
+ placeholder: _ctx.dateText,
798
+ modelValue: _ctx.inputDate,
799
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = function ($event) { return ((_ctx.inputDate) = $event); }),
800
+ disable: _ctx.isDisable,
801
+ onClick: _ctx.openCalendar,
802
+ name: _ctx.name,
803
+ type: _ctx.type
804
+ }, vue.createSlots({
805
+ prepend: vue.withCtx(function () { return [
806
+ vue.createVNode(_component_q_btn, {
807
+ icon: _ctx.dateRangeIcon,
808
+ dense: "",
809
+ ripple: false,
810
+ flat: "",
811
+ color: "grey_90",
812
+ class: "q-pa-none no-hover",
813
+ "aria-label": "date-button"
814
+ }, {
815
+ default: vue.withCtx(function () { return [
816
+ vue.createVNode(_component_q_menu, {
817
+ modelValue: _ctx.calendarOpen,
818
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = function ($event) { return ((_ctx.calendarOpen) = $event); }),
819
+ fit: "",
820
+ class: "date-picker-wrapper",
821
+ offset: [12, 12]
822
+ }, {
823
+ default: vue.withCtx(function () { return [
824
+ vue.createVNode(_component_q_date, {
825
+ modelValue: _ctx.dateValue,
826
+ "onUpdate:modelValue": [
827
+ _cache[0] || (_cache[0] = function ($event) { return ((_ctx.dateValue) = $event); }),
828
+ _ctx.dateUpdate
829
+ ],
830
+ minimal: "",
831
+ range: _ctx.range,
832
+ color: "positive",
833
+ class: "q-pa-none",
834
+ options: _ctx.optionsFn,
835
+ locale: _ctx.lang ? _ctx.locale[_ctx.lang] : {},
836
+ onRangeStart: _ctx.getRangeStartDay,
837
+ onRangeEnd: _ctx.resetDate
838
+ }, null, 8, ["modelValue", "range", "options", "locale", "onRangeStart", "onRangeEnd", "onUpdate:modelValue"])
839
+ ]; }),
840
+ _: 1
841
+ }, 8, ["modelValue"])
887
842
  ]; }),
888
- key: "1"
889
- }
890
- : undefined
891
- ]), 1032, ["class", "placeholder", "modelValue", "disable", "onClick", "name", "type"]))
843
+ _: 1
844
+ }, 8, ["icon"])
845
+ ]; }),
846
+ _: 2
847
+ }, [
848
+ (_ctx.insideLabel)
849
+ ? {
850
+ name: "before",
851
+ fn: vue.withCtx(function () { return [
852
+ vue.createElementVNode("div", _hoisted_1$q, vue.toDisplayString(_ctx.label), 1)
853
+ ]; }),
854
+ key: "0"
855
+ }
856
+ : undefined,
857
+ (_ctx.useDelete)
858
+ ? {
859
+ name: "append",
860
+ fn: vue.withCtx(function () { return [
861
+ vue.createVNode(_component_q_icon, {
862
+ name: _ctx.closeIcon,
863
+ size: "16px",
864
+ color: "grey_55",
865
+ class: "cursor-pointer",
866
+ onClick: _ctx.deleteDate,
867
+ "aria-label": "close-button"
868
+ }, null, 8, ["name", "onClick"])
869
+ ]; }),
870
+ key: "1"
871
+ }
872
+ : undefined
873
+ ]), 1032, ["class", "placeholder", "modelValue", "disable", "onClick", "name", "type"])
874
+ ], 64))
892
875
  }
893
876
 
894
877
  var css_248z$B = ".s-date-picker {\n height: 28px;\n}\n.s-date-picker .q-field__before {\n padding: 0;\n}\n.s-date-picker .q-field__inner .q-field__control {\n padding: 4px 8px !important;\n align-items: center;\n height: 100%;\n align-items: center;\n}\n.s-date-picker .q-field__inner .q-field__control:after {\n border: 1px solid #aaaaaa;\n box-shadow: none;\n}\n.s-date-picker .q-field__inner .q-field__control:hover, .s-date-picker .q-field__inner .q-field__control:active {\n background: #f6f6f6;\n}\n.s-date-picker .q-field__inner .q-field__control .q-field__prepend .q-icon {\n width: 20px;\n height: 20px;\n color: #737373;\n}\n.s-date-picker .q-field__inner .q-field__control .q-field__prepend {\n height: 20px;\n padding: 0;\n}\n.s-date-picker .q-field__inner .q-field__control .q-field__prepend > div {\n min-height: 0;\n height: 100%;\n display: flex !important;\n align-items: center;\n justify-content: center;\n}\n.s-date-picker .q-field__inner .q-field__control .q-field__prepend > div .q-btn {\n width: 1.667em;\n height: 1.667em;\n min-height: 1.667em;\n}\n.s-date-picker .q-field__inner .q-field__control .q-field__prepend > div .q-btn .q-icon {\n font-size: 1.667em;\n}\n.s-date-picker .q-field__inner .q-field__control-container {\n height: 20px;\n}\n.s-date-picker .q-field__inner .q-field__control-container .q-field__native {\n height: 100%;\n line-height: 165%;\n text-align: center;\n padding: 0 !important;\n font-size: 12px;\n font-weight: 400;\n}\n.s-date-picker .q-field__inner .q-field__control-container .q-field__native input::placeholder {\n color: #333333;\n}\n.q-field--disabled.s-date-picker {\n color: #888888 !important;\n}\n.q-field--disabled.s-date-picker .q-field__inner {\n color: #888888 !important;\n}\n.q-field--disabled.s-date-picker .q-field__inner .q-field__control {\n color: #888888 !important;\n opacity: 1 !important;\n}\n.q-field--disabled.s-date-picker .q-field__inner .q-field__control:after {\n border: 1px solid #cccccc;\n}\n.q-field--disabled.s-date-picker .q-field__inner .q-field__control .q-field__prepend {\n opacity: 1 !important;\n}\n.q-field--disabled.s-date-picker .q-field__inner .q-field__control .q-field__prepend .q-icon {\n color: #888888;\n}\n.q-field--disabled.s-date-picker .q-field__inner .q-field__control-container {\n opacity: 1 !important;\n}\n.q-field--disabled.s-date-picker .q-field__inner .q-field__control-container .q-field__native {\n color: #888888 !important;\n}\n.q-field--disabled.s-date-picker.q-field--float {\n color: #888888 !important;\n opacity: 0.9 !important;\n}\n.s-date-picker-inside {\n width: fit-content !important;\n height: 28px;\n}\n.s-date-picker-inside .q-field__before {\n height: 100%;\n line-height: 20px;\n padding: 4px 12px;\n border: 1px solid #aaaaaa;\n background-color: #f6f6f6;\n border-right: none;\n border-radius: 2px 0 0 2px;\n}\n.s-date-picker-inside .q-field__before .date-picker-label {\n font-size: 12px;\n font-weight: 400;\n color: #333333;\n}\n.s-date-picker-inside .q-field__inner .q-field__control {\n border-radius: 0 2px 2px 0;\n}\n.s-date-picker-inside.q-field--disabled .q-field__before {\n border: 1px solid #cccccc;\n border-right: none;\n}\n.s-date-picker-inside.q-field--disabled .q-field__before .date-picker-label {\n color: #888888;\n}\n.s-date-picker-range {\n width: 226px;\n}\n.s-date-picker-range .q-field__inner .q-field__control .q-field__prepend {\n padding: 0;\n}\n.s-date-picker-range .q-field__inner .q-field__control-container .q-field__native {\n text-align: center;\n}\n.date-picker-wrapper.q-menu {\n width: 290px;\n height: 288px;\n min-width: 0 !important;\n min-height: 0 !important;\n}\n.date-picker-wrapper.q-menu .q-date {\n height: 288px;\n}\n.date-picker-wrapper.q-menu .q-date__main .q-date__content .q-date__view {\n min-height: 0 !important;\n}\n.date-picker-wrapper.q-menu .q-date__main .q-date__content .q-date__view .q-date__navigation div {\n height: 28px;\n}\n.date-picker-wrapper.q-menu .q-date__main .q-date__content .q-date__view .q-date__navigation div .q-btn .q-icon {\n font-size: 12px;\n}\n.date-picker-wrapper.q-menu .q-date__main .q-date__content .q-date__view .q-date__navigation .relative-position div .q-btn--dense {\n padding: 0 !important;\n}\n.date-picker-wrapper.q-menu .q-date__main .q-date__content .q-date__view .q-date__navigation .relative-position div .q-btn--dense .q-btn__content > span {\n font-size: 14px;\n}\n.date-picker-wrapper.q-menu .q-date__main .q-date__content .q-date__view .q-date__calendar-days-container .q-date__calendar-days .q-date__calendar-item .q-btn {\n padding: 0;\n}\n.date-picker-wrapper.q-menu .q-date__main .q-date__content .q-date__view .q-date__calendar-days-container .q-date__calendar-days .q-date__calendar-item .q-btn .q-btn__content > span {\n font-size: 14px;\n}\n.date-picker-wrapper.q-menu .q-date__main .q-date__content .q-date__view .q-date__calendar-days-container .q-date__calendar-days .q-date__calendar-item .q-btn:hover .q-focus-helper {\n background: #0075ff;\n opacity: 1;\n}\n.date-picker-wrapper.q-menu .q-date__main .q-date__content .q-date__view .q-date__calendar-days-container .q-date__calendar-days .q-date__calendar-item .q-btn:hover .q-focus-helper:before, .date-picker-wrapper.q-menu .q-date__main .q-date__content .q-date__view .q-date__calendar-days-container .q-date__calendar-days .q-date__calendar-item .q-btn:hover .q-focus-helper:after {\n display: none;\n}\n.date-picker-wrapper.q-menu .q-date__main .q-date__content .q-date__view .q-date__calendar-days-container .q-date__calendar-days .q-date__calendar-item .q-btn:hover .q-btn__content > span {\n color: white;\n}";
@@ -1063,7 +1046,7 @@
1063
1046
 
1064
1047
  var _hoisted_1$p = { class: "date-picker-label" };
1065
1048
  var _hoisted_2$i = { class: "flex no-wrap items-center" };
1066
- var _hoisted_3$b = {
1049
+ var _hoisted_3$c = {
1067
1050
  key: 1,
1068
1051
  class: "text-center text-grey_90 date-str"
1069
1052
  };
@@ -1172,7 +1155,7 @@
1172
1155
  mask: "####-##-##",
1173
1156
  class: "inner-input"
1174
1157
  }, null, 8, ["modelValue"]))
1175
- : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$b, vue.toDisplayString(_ctx.dateValue.from), 1)),
1158
+ : (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$c, vue.toDisplayString(_ctx.dateValue.from), 1)),
1176
1159
  _hoisted_4$8,
1177
1160
  (_ctx.useInput)
1178
1161
  ? (vue.openBlock(), vue.createBlock(_component_q_input, {
@@ -2293,7 +2276,7 @@
2293
2276
 
2294
2277
  var _hoisted_1$m = ["innerHTML"];
2295
2278
  var _hoisted_2$h = ["innerHTML"];
2296
- var _hoisted_3$a = { key: 0 };
2279
+ var _hoisted_3$b = { key: 0 };
2297
2280
 
2298
2281
  function render$w(_ctx, _cache, $props, $setup, $data, $options) {
2299
2282
  var _component_s_help_message = vue.resolveComponent("s-help-message", true);
@@ -2311,7 +2294,7 @@
2311
2294
  innerHTML: _ctx.message[0]
2312
2295
  }, null, 8, _hoisted_2$h),
2313
2296
  (_ctx.message.length > 1)
2314
- ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_3$a, [
2297
+ ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_3$b, [
2315
2298
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.message.slice(1), function (msg, idx) {
2316
2299
  return (vue.openBlock(), vue.createBlock(_component_s_help_message, {
2317
2300
  key: idx,
@@ -2524,7 +2507,7 @@
2524
2507
  key: 1,
2525
2508
  class: "input-addon bg-grey_10"
2526
2509
  };
2527
- var _hoisted_3$9 = {
2510
+ var _hoisted_3$a = {
2528
2511
  key: 0,
2529
2512
  class: "self-center"
2530
2513
  };
@@ -2596,7 +2579,7 @@
2596
2579
  fn: vue.withCtx(function () { return [
2597
2580
  vue.renderSlot(_ctx.$slots, "beforeCounter"),
2598
2581
  (_ctx.maxByte)
2599
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$9, vue.toDisplayString(_ctx.model ? _ctx.getByte(_ctx.model) : 0) + " / " + vue.toDisplayString(_ctx.maxByte) + " byte ", 1))
2582
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$a, vue.toDisplayString(_ctx.model ? _ctx.getByte(_ctx.model) : 0) + " / " + vue.toDisplayString(_ctx.maxByte) + " byte ", 1))
2600
2583
  : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$7, vue.toDisplayString(_ctx.model ? _ctx.getByte(_ctx.model) : 0) + " byte", 1))
2601
2584
  ]; }),
2602
2585
  key: "1"
@@ -3000,7 +2983,7 @@
3000
2983
  class: "pagination-last_page",
3001
2984
  flat: ""
3002
2985
  };
3003
- var _hoisted_3$8 = /*#__PURE__*/vue.createElementVNode("span", null, "/", -1);
2986
+ var _hoisted_3$9 = /*#__PURE__*/vue.createElementVNode("span", null, "/", -1);
3004
2987
 
3005
2988
  function render$p(_ctx, _cache, $props, $setup, $data, $options) {
3006
2989
  var _component_q_btn = vue.resolveComponent("q-btn");
@@ -3062,7 +3045,7 @@
3062
3045
  }), 128)),
3063
3046
  (_ctx.perPage === 1)
3064
3047
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$e, [
3065
- _hoisted_3$8,
3048
+ _hoisted_3$9,
3066
3049
  vue.createTextVNode(),
3067
3050
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.paginationInfo.lastPage), 1)
3068
3051
  ]))
@@ -4251,7 +4234,7 @@
4251
4234
 
4252
4235
  var _hoisted_1$e = { class: "search-input-container" };
4253
4236
  var _hoisted_2$a = ["placeholder"];
4254
- var _hoisted_3$7 = { key: 0 };
4237
+ var _hoisted_3$8 = { key: 0 };
4255
4238
  var _hoisted_4$6 = { key: 1 };
4256
4239
  var _hoisted_5$6 = { class: "search-input-container" };
4257
4240
  var _hoisted_6$4 = ["placeholder"];
@@ -4415,7 +4398,7 @@
4415
4398
  name: "selected",
4416
4399
  fn: vue.withCtx(function () { return [
4417
4400
  (_ctx.noSelected && !_ctx.options.length)
4418
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$7, vue.toDisplayString(_ctx.noSelected), 1))
4401
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$8, vue.toDisplayString(_ctx.noSelected), 1))
4419
4402
  : (_ctx.options.length && _ctx.useAll && (_ctx.model[0] === '' || _ctx.model.includes('')))
4420
4403
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$6, vue.toDisplayString(_ctx.placeholder), 1))
4421
4404
  : vue.createCommentVNode("", true)
@@ -4639,7 +4622,7 @@
4639
4622
 
4640
4623
  var _hoisted_1$d = { class: "search-input-form-container" };
4641
4624
  var _hoisted_2$9 = { class: "select-search-input-form" };
4642
- var _hoisted_3$6 = { key: 0 };
4625
+ var _hoisted_3$7 = { key: 0 };
4643
4626
  var _hoisted_4$5 = { key: 1 };
4644
4627
  var _hoisted_5$5 = {
4645
4628
  key: 2,
@@ -4755,7 +4738,7 @@
4755
4738
  }),
4756
4739
  selected: vue.withCtx(function () { return [
4757
4740
  (_ctx.model.length === 0)
4758
- ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$6, vue.toDisplayString(_ctx.placeholder), 1))
4741
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$7, vue.toDisplayString(_ctx.placeholder), 1))
4759
4742
  : (_ctx.isAllChecked)
4760
4743
  ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$5, vue.toDisplayString(_ctx.allCheckPlaceholder), 1))
4761
4744
  : (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$5, vue.toDisplayString(_ctx.pureModelValue.map(function (selected) { return selected[_ctx.optionLabel]; }).join(', ')), 1))
@@ -5680,7 +5663,7 @@
5680
5663
 
5681
5664
  var script$c = vue.defineComponent({
5682
5665
  name: 'STable',
5683
- emits: ['update:page', 'update:focused', 'field-updated', 'request'],
5666
+ emits: ['update:page', 'update:rowsPerPage', 'update:focused', 'field-updated', 'request'],
5684
5667
  components: {
5685
5668
  QTable: quasar.QTable,
5686
5669
  QInnerLoading: quasar.QInnerLoading,
@@ -5753,6 +5736,18 @@
5753
5736
  type: Boolean,
5754
5737
  default: false,
5755
5738
  },
5739
+ usePerPageSelect: {
5740
+ type: Boolean,
5741
+ default: false,
5742
+ },
5743
+ perPageOptions: {
5744
+ type: Array,
5745
+ default: function () { return [
5746
+ { label: '50개씩 보기', value: 50 },
5747
+ { label: '100개씩 보기', value: 100 },
5748
+ { label: '150개씩 보기', value: 150 },
5749
+ { label: '200개씩 보기', value: 200 } ]; },
5750
+ },
5756
5751
  },
5757
5752
  setup: function setup(props, ref$1) {
5758
5753
  var emit = ref$1.emit;
@@ -5777,6 +5772,11 @@
5777
5772
  }
5778
5773
  }
5779
5774
 
5775
+ function updateRowsPerPage(value) {
5776
+ emit('update:rowsPerPage', value);
5777
+ updatePagination(1);
5778
+ }
5779
+
5780
5780
  var sTableRef = vue.ref(null);
5781
5781
  var ref$2 =
5782
5782
  useNavigator(props, attrs, emit);
@@ -5906,6 +5906,7 @@
5906
5906
  Math.ceil(props.rows.length / paginationModel.value.rowsPerPage); }
5907
5907
  ),
5908
5908
  updatePagination: updatePagination,
5909
+ updateRowsPerPage: updateRowsPerPage,
5909
5910
  };
5910
5911
  },
5911
5912
  });
@@ -5915,6 +5916,10 @@
5915
5916
  key: 1,
5916
5917
  class: "s-table-edited-td"
5917
5918
  };
5919
+ var _hoisted_3$6 = {
5920
+ key: 0,
5921
+ class: "bg-grey_05 s-border-radius-sm s-border-top-none s-border-grey_30 s-pagination-wrapper relative-position"
5922
+ };
5918
5923
 
5919
5924
  function render$d(_ctx, _cache, $props, $setup, $data, $options) {
5920
5925
  var _component_q_inner_loading = vue.resolveComponent("q-inner-loading");
@@ -5923,6 +5928,7 @@
5923
5928
  var _component_q_td = vue.resolveComponent("q-td");
5924
5929
  var _component_q_table = vue.resolveComponent("q-table");
5925
5930
  var _component_s_pagination = vue.resolveComponent("s-pagination");
5931
+ var _component_s_select = vue.resolveComponent("s-select");
5926
5932
 
5927
5933
  return (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
5928
5934
  vue.createVNode(_component_q_table, vue.mergeProps({
@@ -6034,21 +6040,35 @@
6034
6040
  })
6035
6041
  ]), 1040, ["columns", "rows", "pagination", "no-data-label", "class", "onSelection"]),
6036
6042
  (_ctx.paginationModel.rowsPerPage !== 0 && ((!_ctx.hideBottom && _ctx.pagesNumber > 1) || _ctx.showBottom))
6037
- ? (vue.openBlock(), vue.createBlock(_component_s_pagination, {
6038
- key: 0,
6039
- modelValue: _ctx.paginationModel.page,
6040
- "onUpdate:modelValue": [
6041
- _cache[3] || (_cache[3] = function ($event) { return ((_ctx.paginationModel.page) = $event); }),
6042
- _ctx.updatePagination
6043
- ],
6044
- lastPage: _ctx.pagesNumber,
6045
- class: "bg-grey_05 s-border-radius-sm s-border-top-none s-border-grey_30"
6046
- }, null, 8, ["modelValue", "lastPage", "onUpdate:modelValue"]))
6043
+ ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$6, [
6044
+ vue.createVNode(_component_s_pagination, {
6045
+ modelValue: _ctx.paginationModel.page,
6046
+ "onUpdate:modelValue": [
6047
+ _cache[3] || (_cache[3] = function ($event) { return ((_ctx.paginationModel.page) = $event); }),
6048
+ _ctx.updatePagination
6049
+ ],
6050
+ lastPage: _ctx.pagesNumber
6051
+ }, null, 8, ["modelValue", "lastPage", "onUpdate:modelValue"]),
6052
+ (_ctx.usePerPageSelect)
6053
+ ? (vue.openBlock(), vue.createBlock(_component_s_select, {
6054
+ key: 0,
6055
+ options: _ctx.perPageOptions,
6056
+ modelValue: _ctx.paginationModel.rowsPerPage,
6057
+ "onUpdate:modelValue": [
6058
+ _cache[4] || (_cache[4] = function ($event) { return ((_ctx.paginationModel.rowsPerPage) = $event); }),
6059
+ _ctx.updateRowsPerPage
6060
+ ],
6061
+ "emit-value": "",
6062
+ "map-options": "",
6063
+ class: "absolute s-width-120 rows-per-page"
6064
+ }, null, 8, ["options", "modelValue", "onUpdate:modelValue"]))
6065
+ : vue.createCommentVNode("", true)
6066
+ ]))
6047
6067
  : vue.createCommentVNode("", true)
6048
6068
  ], 64))
6049
6069
  }
6050
6070
 
6051
- var css_248z$c = ".s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner {\n min-width: 0;\n width: 16px;\n height: 16px;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner .q-checkbox__bg, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner .q-checkbox__bg {\n border: 1px solid #888888;\n width: 16px;\n height: 16px;\n padding: 0 2.5px;\n background: white;\n top: 0;\n left: 0;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner .q-checkbox__bg .q-checkbox__svg, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner .q-checkbox__bg .q-checkbox__svg {\n width: 11.43px !important;\n margin: auto;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--indet, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--indet, .s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--truthy, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--truthy {\n color: #0075ff !important;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--indet .q-checkbox__bg, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--indet .q-checkbox__bg, .s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--truthy .q-checkbox__bg, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--truthy .q-checkbox__bg {\n border: none;\n background: #0075ff;\n}\n.s-table {\n border-radius: 8px !important;\n border: 1px solid #e1e1e1;\n}\n.s-table__hover .q-table__middle .q-table tr:hover td {\n background-color: #f9f9f9 !important;\n}\n.s-table .q-table__middle .q-table {\n table-layout: fixed;\n}\n.s-table .q-table__middle .q-table tr th,\n.s-table .q-table__middle .q-table tr td {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n word-break: keep-all;\n}\n.s-table .q-table__middle .q-table thead {\n background: #f5faff;\n min-height: 0;\n}\n.s-table .q-table__middle .q-table thead tr {\n height: 36px;\n color: #222222;\n}\n.s-table .q-table__middle .q-table thead tr th {\n padding: 0 16px;\n font-size: 12px;\n font-weight: 500;\n}\n.s-table .q-table__middle .q-table thead tr th .sort-icon {\n color: #aaaaaa;\n font-size: 16px;\n opacity: 1;\n transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.5, 1);\n}\n.s-table .q-table__middle .q-table thead tr th .sort-icon.desc-sort {\n transform: rotate(180deg);\n}\n.s-table .q-table__middle .q-table thead tr th.sortable > .q-table__sort-icon {\n color: #aaaaaa;\n font-size: 16px;\n opacity: 1;\n}\n.s-table .q-table__middle .q-table tbody tr {\n min-height: 0px;\n color: #222222;\n}\n.s-table .q-table__middle .q-table tbody tr td {\n min-width: 40px;\n padding: 0 16px;\n font-size: 12px;\n}\n.s-table .q-table__middle .q-table tbody tr td:before {\n background: none;\n}\n.s-table .q-table__middle .q-table tbody tr td::after {\n background: none;\n}\n.s-table .q-table__middle .q-table tbody tr td .s-table-edited-td {\n display: inline-flex;\n align-items: center;\n}\n.s-table .q-table__middle .q-table tbody tr .focused {\n border: 1px solid #0075ff !important;\n}\n.s-table .q-table__middle .q-table tbody tr:last-child > td {\n border-bottom-width: 1px;\n}\n.s-table .q-table__bottom {\n min-height: 0;\n padding: 0;\n border: none;\n}\n.s-table .q-table__bottom--nodata {\n height: 240px;\n color: #888888;\n font-size: 12px;\n line-height: 165%;\n display: block;\n padding-top: 80px;\n}\n.s-select-table .q-table__middle .q-table thead tr th:first-of-type {\n min-width: 52px !important;\n width: 52px !important;\n max-width: 52px !important;\n padding: 0 8px 0 24px;\n line-height: 100%;\n text-align: left;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:first-of-type {\n padding: 0 8px 0 24px;\n line-height: 100%;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:after {\n background: none;\n}\n.resizable-table .q-table__middle .q-table thead tr th {\n position: relative;\n}\n.s-select-table.resizable-table .q-table__middle .q-table thead tr th:first-of-type > .resizable-right {\n display: none;\n}\n.sticky-column-table .q-table__middle .q-table tr th.sticky-cell {\n position: sticky;\n z-index: 102;\n background-color: #f5faff;\n}\n.sticky-column-table .q-table__middle .q-table tr td.sticky-cell {\n position: sticky;\n z-index: 101;\n background-color: white;\n}\n.sticky-header .q-table__middle .q-table thead tr th {\n background: #f5faff;\n position: sticky;\n top: 0;\n z-index: 100;\n}\n.before-search .q-table__middle .q-table thead {\n opacity: 0.4;\n}\n.sticky-cell.left.sticky-shadow-left {\n overflow: visible !important;\n}\n.sticky-cell.left.sticky-shadow-left:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 100%;\n right: -20px;\n width: 20px;\n height: 100%;\n z-index: 101 !important;\n box-shadow: inset 12px 0 20px -25px;\n opacity: 1;\n pointer-events: none;\n}\n.sticky-cell.right.sticky-shadow-right {\n overflow: visible !important;\n}\n.sticky-cell.right.sticky-shadow-right:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: -20px;\n width: 20px;\n height: 100%;\n z-index: 101 !important;\n box-shadow: inset -12px 0 20px -25px;\n opacity: 1;\n pointer-events: none;\n}";
6071
+ var css_248z$c = ".s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner {\n min-width: 0;\n width: 16px;\n height: 16px;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner .q-checkbox__bg, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner .q-checkbox__bg {\n border: 1px solid #888888;\n width: 16px;\n height: 16px;\n padding: 0 2.5px;\n background: white;\n top: 0;\n left: 0;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner .q-checkbox__bg .q-checkbox__svg, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner .q-checkbox__bg .q-checkbox__svg {\n width: 11.43px !important;\n margin: auto;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--indet, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--indet, .s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--truthy, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--truthy {\n color: #0075ff !important;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--indet .q-checkbox__bg, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--indet .q-checkbox__bg, .s-select-table .q-table__middle .q-table tbody tr td:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--truthy .q-checkbox__bg, .s-select-table .q-table__middle .q-table thead tr th:first-of-type > .q-checkbox:not(.s-checkbox) .q-checkbox__inner--truthy .q-checkbox__bg {\n border: none;\n background: #0075ff;\n}\n.s-table {\n border-radius: 8px !important;\n border: 1px solid #e1e1e1;\n}\n.s-table__hover .q-table__middle .q-table tr:hover td {\n background-color: #f9f9f9 !important;\n}\n.s-table .q-table__middle .q-table {\n table-layout: fixed;\n}\n.s-table .q-table__middle .q-table tr th,\n.s-table .q-table__middle .q-table tr td {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n word-break: keep-all;\n}\n.s-table .q-table__middle .q-table thead {\n background: #f5faff;\n min-height: 0;\n}\n.s-table .q-table__middle .q-table thead tr {\n height: 36px;\n color: #222222;\n}\n.s-table .q-table__middle .q-table thead tr th {\n padding: 0 16px;\n font-size: 12px;\n font-weight: 500;\n}\n.s-table .q-table__middle .q-table thead tr th .sort-icon {\n color: #aaaaaa;\n font-size: 16px;\n opacity: 1;\n transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.5, 1);\n}\n.s-table .q-table__middle .q-table thead tr th .sort-icon.desc-sort {\n transform: rotate(180deg);\n}\n.s-table .q-table__middle .q-table thead tr th.sortable > .q-table__sort-icon {\n color: #aaaaaa;\n font-size: 16px;\n opacity: 1;\n}\n.s-table .q-table__middle .q-table tbody tr {\n min-height: 0px;\n color: #222222;\n}\n.s-table .q-table__middle .q-table tbody tr td {\n min-width: 40px;\n padding: 0 16px;\n font-size: 12px;\n}\n.s-table .q-table__middle .q-table tbody tr td:before {\n background: none;\n}\n.s-table .q-table__middle .q-table tbody tr td::after {\n background: none;\n}\n.s-table .q-table__middle .q-table tbody tr td .s-table-edited-td {\n display: inline-flex;\n align-items: center;\n}\n.s-table .q-table__middle .q-table tbody tr .focused {\n border: 1px solid #0075ff !important;\n}\n.s-table .q-table__middle .q-table tbody tr:last-child > td {\n border-bottom-width: 1px;\n}\n.s-table .q-table__bottom {\n min-height: 0;\n padding: 0;\n border: none;\n}\n.s-table .q-table__bottom--nodata {\n height: 240px;\n color: #888888;\n font-size: 12px;\n line-height: 165%;\n display: block;\n padding-top: 80px;\n}\n.s-select-table .q-table__middle .q-table thead tr th:first-of-type {\n min-width: 52px !important;\n width: 52px !important;\n max-width: 52px !important;\n padding: 0 8px 0 24px;\n line-height: 100%;\n text-align: left;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:first-of-type {\n padding: 0 8px 0 24px;\n line-height: 100%;\n}\n.s-select-table .q-table__middle .q-table tbody tr td:after {\n background: none;\n}\n.resizable-table .q-table__middle .q-table thead tr th {\n position: relative;\n}\n.s-select-table.resizable-table .q-table__middle .q-table thead tr th:first-of-type > .resizable-right {\n display: none;\n}\n.sticky-column-table .q-table__middle .q-table tr th.sticky-cell {\n position: sticky;\n z-index: 102;\n background-color: #f5faff;\n}\n.sticky-column-table .q-table__middle .q-table tr td.sticky-cell {\n position: sticky;\n z-index: 101;\n background-color: white;\n}\n.sticky-header .q-table__middle .q-table thead tr th {\n background: #f5faff;\n position: sticky;\n top: 0;\n z-index: 100;\n}\n.before-search .q-table__middle .q-table thead {\n opacity: 0.4;\n}\n.sticky-cell.left.sticky-shadow-left {\n overflow: visible !important;\n}\n.sticky-cell.left.sticky-shadow-left:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 100%;\n right: -20px;\n width: 20px;\n height: 100%;\n z-index: 101 !important;\n box-shadow: inset 12px 0 20px -25px;\n opacity: 1;\n pointer-events: none;\n}\n.sticky-cell.right.sticky-shadow-right {\n overflow: visible !important;\n}\n.sticky-cell.right.sticky-shadow-right:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: -20px;\n width: 20px;\n height: 100%;\n z-index: 101 !important;\n box-shadow: inset -12px 0 20px -25px;\n opacity: 1;\n pointer-events: none;\n}\n.rows-per-page {\n right: 20px;\n top: 50%;\n transform: translateY(-50%);\n}";
6052
6072
  styleInject(css_248z$c);
6053
6073
 
6054
6074
  script$c.render = render$d;
@@ -8967,7 +8987,7 @@
8967
8987
 
8968
8988
  /* eslint-disable no-multiple-empty-lines */
8969
8989
 
8970
- var version = '3.14.29';
8990
+ var version = '3.14.31';
8971
8991
 
8972
8992
  function install(app) {
8973
8993
  app.component('s-badge', script$2);