quasar-ui-sellmate-ui-kit 3.11.0 → 3.11.2

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.10.35
2
+ * quasar-ui-sellmate-ui-kit v3.11.1
3
3
  * (c) 2024 Sellmate Dev Team <dev@sellmate.co.kr>
4
4
  * Released under the MIT License.
5
5
  */
@@ -4773,89 +4773,89 @@
4773
4773
 
4774
4774
  script$f.render = render$g;
4775
4775
 
4776
- var colorStatusList = {
4777
- Grey: {
4778
- color: 'Grey_Lighten-4',
4779
- textColor: 'Grey_Darken-1',
4780
- },
4781
- Red: {
4782
- color: 'Red_Lighten-6',
4783
- textColor: 'Red_Lighten-1',
4784
- },
4785
- Orange: {
4786
- color: 'Orange_Lighten-6',
4787
- textColor: 'Orange_Default',
4788
- },
4789
- Yellow: {
4790
- color: 'Yellow_Lighten-5',
4791
- textColor: 'Yellow_Darken-2',
4792
- },
4793
- Green: {
4794
- color: 'Green_Lighten-6',
4795
- textColor: 'Green_Lighten-1',
4796
- },
4797
- Blue: {
4798
- color: 'Blue_C_Lighten-6',
4799
- textColor: 'Blue_C_Default',
4800
- },
4801
- Darkblue: {
4802
- color: 'Blue_B_Lighten-6',
4803
- textColor: 'Blue_B_Lighten-1',
4804
- },
4805
- Indigo: {
4806
- color: 'Blue_C_Lighten-7',
4807
- textColor: 'Blue_C_Darken-2',
4808
- },
4809
- };
4810
-
4811
- var script$e = vue.defineComponent({
4812
- name: 'STag',
4813
- components: { QBadge: quasar.QBadge, QIcon: quasar.QIcon },
4814
- props: {
4815
- label: String,
4816
- size: {
4817
- /**
4818
- * @type {'sm' | 'md' | 'lg'} type
4819
- */
4820
- type: String,
4821
- default: 'md',
4822
- },
4823
- color: {
4824
- type: String,
4825
- default: 'Blue_C_Lighten-6',
4826
- },
4827
- textColor: {
4828
- type: String,
4829
- default: 'positive',
4830
- },
4831
- colorStatus: {
4832
- /**
4833
- * @type {'Grey' | 'Red' | 'Orange' | 'Yellow' | 'Green' | 'Blue' | 'Darkblue' | 'Indigo'} type
4834
- */
4835
- type: String,
4836
- default: '',
4837
- },
4838
- textClass: {
4839
- type: String,
4840
- default: '',
4841
- },
4842
- rounded: {
4843
- type: Boolean,
4844
- default: false,
4845
- },
4846
- },
4847
- setup: function setup(props) {
4848
- var computedColor = vue.computed(function () { return props.colorStatus ? colorStatusList[props.colorStatus].color : props.color; }
4849
- );
4850
-
4851
- var computedTextColor = vue.computed(function () { return props.colorStatus ? colorStatusList[props.colorStatus].textColor : props.textColor; }
4852
- );
4853
- return {
4854
- colorStatusList: colorStatusList,
4855
- computedColor: computedColor,
4856
- computedTextColor: computedTextColor,
4857
- };
4858
- },
4776
+ var colorStatusList = {
4777
+ Grey: {
4778
+ color: 'Grey_Lighten-4',
4779
+ textColor: 'Grey_Darken-1',
4780
+ },
4781
+ Red: {
4782
+ color: 'Red_Lighten-6',
4783
+ textColor: 'Red_Lighten-1',
4784
+ },
4785
+ Orange: {
4786
+ color: 'Orange_Lighten-6',
4787
+ textColor: 'Orange_Default',
4788
+ },
4789
+ Yellow: {
4790
+ color: 'Yellow_Lighten-5',
4791
+ textColor: 'Yellow_Darken-2',
4792
+ },
4793
+ Green: {
4794
+ color: 'Green_Lighten-6',
4795
+ textColor: 'Green_Lighten-1',
4796
+ },
4797
+ Blue: {
4798
+ color: 'Blue_C_Lighten-6',
4799
+ textColor: 'Blue_C_Default',
4800
+ },
4801
+ Darkblue: {
4802
+ color: 'Blue_B_Lighten-6',
4803
+ textColor: 'Blue_B_Lighten-1',
4804
+ },
4805
+ Indigo: {
4806
+ color: 'Blue_C_Lighten-7',
4807
+ textColor: 'Blue_C_Darken-2',
4808
+ },
4809
+ };
4810
+
4811
+ var script$e = vue.defineComponent({
4812
+ name: 'STag',
4813
+ components: { QBadge: quasar.QBadge, QIcon: quasar.QIcon },
4814
+ props: {
4815
+ label: String,
4816
+ size: {
4817
+ /**
4818
+ * @type {'sm' | 'md' | 'lg'} type
4819
+ */
4820
+ type: String,
4821
+ default: 'md',
4822
+ },
4823
+ color: {
4824
+ type: String,
4825
+ default: 'Blue_C_Lighten-6',
4826
+ },
4827
+ textColor: {
4828
+ type: String,
4829
+ default: 'positive',
4830
+ },
4831
+ colorStatus: {
4832
+ /**
4833
+ * @type {'Grey' | 'Red' | 'Orange' | 'Yellow' | 'Green' | 'Blue' | 'Darkblue' | 'Indigo'} type
4834
+ */
4835
+ type: String,
4836
+ default: '',
4837
+ },
4838
+ textClass: {
4839
+ type: String,
4840
+ default: '',
4841
+ },
4842
+ rounded: {
4843
+ type: Boolean,
4844
+ default: false,
4845
+ },
4846
+ },
4847
+ setup: function setup(props) {
4848
+ var computedColor = vue.computed(function () { return props.colorStatus ? colorStatusList[props.colorStatus].color : props.color; }
4849
+ );
4850
+
4851
+ var computedTextColor = vue.computed(function () { return props.colorStatus ? colorStatusList[props.colorStatus].textColor : props.textColor; }
4852
+ );
4853
+ return {
4854
+ colorStatusList: colorStatusList,
4855
+ computedColor: computedColor,
4856
+ computedTextColor: computedTextColor,
4857
+ };
4858
+ },
4859
4859
  });
4860
4860
 
4861
4861
  var _hoisted_1$b = ["innerHTML"];
@@ -4865,11 +4865,11 @@
4865
4865
  var _component_q_badge = vue.resolveComponent("q-badge");
4866
4866
 
4867
4867
  return (vue.openBlock(), vue.createBlock(_component_q_badge, {
4868
- class: vue.normalizeClass(["s-tag", {
4869
- 's-tag__sm': _ctx.size === 'sm',
4870
- 's-tag__md': _ctx.size === 'md',
4871
- 's-tag__lg': _ctx.size === 'lg',
4872
- 's-tag__rounded': _ctx.rounded === true,
4868
+ class: vue.normalizeClass(["s-tag flex no-wrap flex-center", {
4869
+ 's-tag__sm': _ctx.size === 'sm',
4870
+ 's-tag__md': _ctx.size === 'md',
4871
+ 's-tag__lg': _ctx.size === 'lg',
4872
+ 's-tag__rounded': _ctx.rounded === true,
4873
4873
  }]),
4874
4874
  color: _ctx.computedColor,
4875
4875
  "text-color": _ctx.computedTextColor
@@ -4894,31 +4894,31 @@
4894
4894
  }, 8, ["class", "color", "text-color"]))
4895
4895
  }
4896
4896
 
4897
- var css_248z$e = ".s-tag[data-v-2c0a9f6a] {\n border-radius: 4px;\n box-sizing: border-box;\n}\n.s-tag__sm[data-v-2c0a9f6a] {\n padding: 1px 6px;\n height: 20px;\n}\n.s-tag__sm > span[data-v-2c0a9f6a] {\n line-height: 18px;\n font-size: 11px;\n}\n.s-tag__md[data-v-2c0a9f6a] {\n padding: 2px 8px;\n height: 24px;\n}\n.s-tag__md > span[data-v-2c0a9f6a] {\n line-height: 20px;\n font-size: 12px;\n font-weight: 700;\n}\n.s-tag__lg[data-v-2c0a9f6a] {\n padding: 4px 16px;\n height: 48px;\n}\n.s-tag__lg > span[data-v-2c0a9f6a] {\n line-height: 40px;\n font-size: 24px;\n font-weight: 700;\n}\n.s-tag__rounded[data-v-2c0a9f6a] {\n border-radius: 20px;\n}";
4897
+ var css_248z$e = ".s-tag[data-v-1e1a93e5] {\n border-radius: 4px;\n box-sizing: border-box;\n}\n.s-tag__sm[data-v-1e1a93e5] {\n padding: 1px 6px;\n height: 20px;\n}\n.s-tag__sm > span[data-v-1e1a93e5] {\n line-height: 18px;\n font-size: 11px;\n}\n.s-tag__md[data-v-1e1a93e5] {\n padding: 2px 8px;\n height: 24px;\n}\n.s-tag__md > span[data-v-1e1a93e5] {\n line-height: 20px;\n font-size: 12px;\n font-weight: 700;\n}\n.s-tag__lg[data-v-1e1a93e5] {\n padding: 4px 16px;\n height: 48px;\n}\n.s-tag__lg > span[data-v-1e1a93e5] {\n line-height: 40px;\n font-size: 24px;\n font-weight: 700;\n}\n.s-tag__rounded[data-v-1e1a93e5] {\n border-radius: 20px;\n}";
4898
4898
  styleInject(css_248z$e);
4899
4899
 
4900
4900
  script$e.render = render$f;
4901
- script$e.__scopeId = "data-v-2c0a9f6a";
4901
+ script$e.__scopeId = "data-v-1e1a93e5";
4902
4902
 
4903
- var script$d = vue.defineComponent({
4904
- name: 'STab',
4905
- components: {
4906
- QTab: quasar.QTab,
4907
- STag: script$e,
4908
- },
4909
- props: {
4910
- name: String,
4911
- label: String,
4912
- tag: String,
4913
- size: {
4914
- type: String,
4915
- default: 'md', // sm, md
4916
- },
4917
- type: {
4918
- type: String,
4919
- default: 'main',
4920
- },
4921
- },
4903
+ var script$d = vue.defineComponent({
4904
+ name: 'STab',
4905
+ components: {
4906
+ QTab: quasar.QTab,
4907
+ STag: script$e,
4908
+ },
4909
+ props: {
4910
+ name: String,
4911
+ label: String,
4912
+ tag: String,
4913
+ size: {
4914
+ type: String,
4915
+ default: 'md', // sm, md
4916
+ },
4917
+ type: {
4918
+ type: String,
4919
+ default: 'main',
4920
+ },
4921
+ },
4922
4922
  });
4923
4923
 
4924
4924
  function render$e(_ctx, _cache, $props, $setup, $data, $options) {
@@ -5254,107 +5254,107 @@
5254
5254
  };
5255
5255
  }
5256
5256
 
5257
- var script$c = vue.defineComponent({
5258
- name: 'STable',
5259
- emits: ['update:page', 'update:focused', 'field-updated', 'request'],
5260
- components: {
5261
- QTable: quasar.QTable,
5262
- QInnerLoading: quasar.QInnerLoading,
5263
- QTd: quasar.QTd,
5264
- QIcon: quasar.QIcon,
5265
- },
5266
- props: {
5267
- pagination: {
5268
- type: Object,
5269
- default: function () { return ({
5270
- page: 1,
5271
- rowsPerPage: 50,
5272
- }); },
5273
- },
5274
- hideBottom: {
5275
- type: Boolean,
5276
- default: false,
5277
- },
5278
- showBottom: {
5279
- type: Boolean,
5280
- default: false,
5281
- },
5282
- noDataLabel: {
5283
- type: String,
5284
- default: '데이터 조회가 필요합니다',
5285
- },
5286
- columns: {
5287
- type: Array,
5288
- default: function () { return []; },
5289
- },
5290
- rows: {
5291
- type: Array,
5292
- default: function () { return []; },
5293
- },
5294
- resizable: {
5295
- type: Boolean,
5296
- default: false,
5297
- },
5298
- stickyHeader: {
5299
- type: Boolean,
5300
- default: false,
5301
- },
5302
- stickyResizable: {
5303
- type: [Array, Number],
5304
- required: false,
5305
- },
5306
- useSticky: {
5307
- type: Boolean,
5308
- default: false,
5309
- },
5310
- stickyColumn: {
5311
- type: Object,
5312
- default: function () { return ({
5313
- count: 1, // sticky하고자하는 column 개수
5314
- direction: 'left', // 'left' | 'right'
5315
- }); },
5316
- },
5317
- navigator: {
5318
- type: Boolean,
5319
- default: false,
5320
- },
5321
- inputOptions: {
5322
- type: Object,
5323
- default: function () { return ({ type: 'number' }); },
5324
- },
5325
- focused: {
5326
- type: Object,
5327
- },
5328
- noHover: {
5329
- type: Boolean,
5330
- default: false,
5331
- },
5332
- },
5257
+ var script$c = vue.defineComponent({
5258
+ name: 'STable',
5259
+ emits: ['update:page', 'update:focused', 'field-updated', 'request'],
5260
+ components: {
5261
+ QTable: quasar.QTable,
5262
+ QInnerLoading: quasar.QInnerLoading,
5263
+ QTd: quasar.QTd,
5264
+ QIcon: quasar.QIcon,
5265
+ },
5266
+ props: {
5267
+ pagination: {
5268
+ type: Object,
5269
+ default: function () { return ({
5270
+ page: 1,
5271
+ rowsPerPage: 50,
5272
+ }); },
5273
+ },
5274
+ hideBottom: {
5275
+ type: Boolean,
5276
+ default: false,
5277
+ },
5278
+ showBottom: {
5279
+ type: Boolean,
5280
+ default: false,
5281
+ },
5282
+ noDataLabel: {
5283
+ type: String,
5284
+ default: '데이터 조회가 필요합니다',
5285
+ },
5286
+ columns: {
5287
+ type: Array,
5288
+ default: function () { return []; },
5289
+ },
5290
+ rows: {
5291
+ type: Array,
5292
+ default: function () { return []; },
5293
+ },
5294
+ resizable: {
5295
+ type: Boolean,
5296
+ default: false,
5297
+ },
5298
+ stickyHeader: {
5299
+ type: Boolean,
5300
+ default: false,
5301
+ },
5302
+ stickyResizable: {
5303
+ type: [Array, Number],
5304
+ required: false,
5305
+ },
5306
+ useSticky: {
5307
+ type: Boolean,
5308
+ default: false,
5309
+ },
5310
+ stickyColumn: {
5311
+ type: Object,
5312
+ default: function () { return ({
5313
+ count: 1, // sticky하고자하는 column 개수
5314
+ direction: 'left', // 'left' | 'right'
5315
+ }); },
5316
+ },
5317
+ navigator: {
5318
+ type: Boolean,
5319
+ default: false,
5320
+ },
5321
+ inputOptions: {
5322
+ type: Object,
5323
+ default: function () { return ({ type: 'number' }); },
5324
+ },
5325
+ focused: {
5326
+ type: Object,
5327
+ },
5328
+ noHover: {
5329
+ type: Boolean,
5330
+ default: false,
5331
+ },
5332
+ },
5333
5333
  setup: function setup(props, ref$1) {
5334
5334
  var emit = ref$1.emit;
5335
5335
  var attrs = ref$1.attrs;
5336
-
5337
- var tablePagination = vue.ref(props.pagination);
5338
- var paginationModel = vue.ref(props.pagination);
5339
- vue.watch(
5340
- function () { return props.pagination; },
5341
- function (newValue) {
5342
- paginationModel.value = Object.assign({}, newValue);
5343
- tablePagination.value = Object.assign({}, newValue);
5344
- if (props.pagination.lastPage) { tablePagination.value.page = 1; }
5345
- },
5346
- { deep: true }
5347
- );
5348
-
5349
- function updatePagination(val) {
5350
- emit('update:page', val);
5351
- if (!props.pagination.lastPage) {
5352
- tablePagination.value.page = val;
5353
- }
5354
- }
5355
-
5356
- var sTableRef = vue.ref(null);
5357
- var ref$2 =
5336
+
5337
+ var tablePagination = vue.ref(props.pagination);
5338
+ var paginationModel = vue.ref(props.pagination);
5339
+ vue.watch(
5340
+ function () { return props.pagination; },
5341
+ function (newValue) {
5342
+ paginationModel.value = Object.assign({}, newValue);
5343
+ tablePagination.value = Object.assign({}, newValue);
5344
+ if (props.pagination.lastPage) { tablePagination.value.page = 1; }
5345
+ },
5346
+ { deep: true }
5347
+ );
5348
+
5349
+ function updatePagination(val) {
5350
+ emit('update:page', val);
5351
+ if (!props.pagination.lastPage) {
5352
+ tablePagination.value.page = val;
5353
+ }
5354
+ }
5355
+
5356
+ var sTableRef = vue.ref(null);
5357
+ var ref$2 =
5358
5358
  useNavigator(props, attrs, emit);
5359
5359
  var focusCell = ref$2.focusCell;
5360
5360
  var isFocused = ref$2.isFocused;
@@ -5362,106 +5362,118 @@
5362
5362
  var inputRef = ref$2.inputRef;
5363
5363
  var inputData = ref$2.inputData;
5364
5364
  var closeInput = ref$2.closeInput;
5365
- var editIcon = ref$2.editIcon;
5366
- function updateSelected(details) {
5367
- if (details.added && details.evt && details.evt.shiftKey) {
5368
- var idx = props.rows.findIndex(function (r) { return r === details.rows[0]; });
5369
- var lastIdx = attrs.selected
5370
- .map(function (x) { return props.rows.findIndex(function (y) { return y === x; }); })
5371
- .filter(function (v) { return v < idx; })
5372
- .reduce(function (a, b) { return (Math.abs(b - idx) < Math.abs(a - idx) ? b : a); });
5373
- for (var i = lastIdx + 1; i < idx; i++) {
5374
- attrs.selected.push(props.rows[i]);
5375
- }
5376
- }
5377
- }
5378
-
5379
- // 스크롤 그림자 로직
5380
- var isTableScrolled = vue.ref(false);
5381
- function detectHorizontalScroll(tableScrollArea) {
5365
+ var editIcon = ref$2.editIcon;
5366
+ function updateSelected(details) {
5367
+ if (details.added && details.evt && details.evt.shiftKey) {
5368
+ var idx = props.rows.findIndex(function (r) { return r === details.rows[0]; });
5369
+ var lastIdx = attrs.selected
5370
+ .map(function (x) { return props.rows.findIndex(function (y) { return y === x; }); })
5371
+ .filter(function (v) { return v < idx; })
5372
+ .reduce(function (a, b) { return (Math.abs(b - idx) < Math.abs(a - idx) ? b : a); });
5373
+ for (var i = lastIdx + 1; i < idx; i++) {
5374
+ attrs.selected.push(props.rows[i]);
5375
+ }
5376
+ }
5377
+ }
5378
+
5379
+ // 스크롤 그림자 로직
5380
+ var isTableScrolled = vue.ref(false);
5381
+ function detectHorizontalScroll(tableScrollArea) {
5382
5382
  var getScrollTarget = quasar.scroll.getScrollTarget;
5383
- var getHorizontalScrollPosition = quasar.scroll.getHorizontalScrollPosition;
5384
- var scrollTarget = getScrollTarget(tableScrollArea);
5385
- var isStickyLeft = props.stickyColumn.direction === 'left';
5386
-
5387
- tableScrollArea.addEventListener('scroll', function () {
5388
- var scrollPosition = getHorizontalScrollPosition(scrollTarget);
5389
-
5390
- if (isStickyLeft) {
5391
- isTableScrolled.value = scrollPosition > 10; // 오른쪽 고정일 때에 스크롤 위치 계산하는 로직 수정 필요
5392
- } else {
5393
- isTableScrolled.value =
5394
- tableScrollArea.scrollWidth - tableScrollArea.clientWidth - scrollPosition > 10;
5395
- }
5396
- });
5397
- }
5398
-
5399
- function detectWindowResize(tableElement, tableScrollArea) {
5400
- window.addEventListener('resize', function () {
5401
- var table = tableElement.getElementsByClassName('q-table')[0];
5402
-
5403
- if (table.offsetWidth > tableScrollArea.offsetWidth) {
5404
- isTableScrolled.value = true;
5405
- } else {
5406
- isTableScrolled.value = false;
5407
- }
5408
- });
5409
- }
5410
-
5411
- vue.onMounted(function () {
5383
+ var getHorizontalScrollPosition = quasar.scroll.getHorizontalScrollPosition;
5384
+ var scrollTarget = getScrollTarget(tableScrollArea);
5385
+ var isStickyLeft = props.stickyColumn.direction === 'left';
5386
+
5387
+ tableScrollArea.addEventListener('scroll', function () {
5388
+ var scrollPosition = getHorizontalScrollPosition(scrollTarget);
5389
+
5390
+ if (isStickyLeft) {
5391
+ isTableScrolled.value = scrollPosition > 10; // 오른쪽 고정일 때에 스크롤 위치 계산하는 로직 수정 필요
5392
+ } else {
5393
+ isTableScrolled.value =
5394
+ tableScrollArea.scrollWidth - tableScrollArea.clientWidth - scrollPosition > 10;
5395
+ }
5396
+ });
5397
+ }
5398
+
5399
+ function detectWindowResize(tableElement, tableScrollArea) {
5400
+ window.addEventListener('resize', function () {
5401
+ var table = tableElement.getElementsByClassName('q-table')[0];
5402
+
5403
+ if (table.offsetWidth > tableScrollArea.offsetWidth) {
5404
+ isTableScrolled.value = true;
5405
+ } else {
5406
+ isTableScrolled.value = false;
5407
+ }
5408
+ });
5409
+ }
5410
+
5411
+ function handleColumns() {
5412
5412
  var ref = useResizable();
5413
5413
  var addResizable = ref.addResizable;
5414
5414
  var addStickyResizable = ref.addStickyResizable;
5415
- var addSticky = ref.addSticky;
5416
- var tableElement = sTableRef.value.$el;
5417
- var isStickyLeft = props.stickyColumn.direction === 'left';
5415
+ var addSticky = ref.addSticky;
5416
+ var tableElement = function () { return sTableRef.value.$el; };
5417
+ var isStickyLeft = props.stickyColumn.direction === 'left';
5418
5418
  var ref$1 = props.stickyColumn;
5419
5419
  var count = ref$1.count;
5420
- ref$1.direction;
5421
-
5422
- if (props.useSticky) {
5423
- addSticky(tableElement, isStickyLeft, count);
5424
- }
5425
- if (props.resizable) {
5426
- var stickyCount = props.useSticky && !isStickyLeft ? count : 0;
5427
-
5428
- addResizable(tableElement, isStickyLeft, stickyCount, props.useSticky);
5429
- }
5430
- if (props.stickyResizable) {
5431
- addStickyResizable(tableElement, props.stickyResizable);
5432
- }
5433
-
5434
- var tableScrollArea = tableElement.getElementsByClassName('q-table__middle')[0];
5435
- var isScrollbarAppear = tableScrollArea.scrollWidth > tableScrollArea.clientWidth;
5436
-
5437
- if (!isStickyLeft && isScrollbarAppear) {
5438
- isTableScrolled.value = true;
5439
- }
5440
-
5441
- detectHorizontalScroll(tableScrollArea);
5442
- detectWindowResize(tableElement, tableScrollArea);
5443
- });
5444
-
5445
- return {
5446
- sTableRef: sTableRef,
5447
- focusCell: focusCell,
5448
- isFocused: isFocused,
5449
- editing: editing,
5450
- inputRef: inputRef,
5451
- inputData: inputData,
5452
- closeInput: closeInput,
5453
- editIcon: editIcon,
5454
- updateSelected: updateSelected,
5455
- isTableScrolled: isTableScrolled,
5456
- tablePagination: tablePagination,
5457
- paginationModel: paginationModel,
5458
- pagesNumber: vue.computed(
5459
- function () { return props.pagination.lastPage ||
5460
- Math.ceil(props.rows.length / paginationModel.value.rowsPerPage); }
5461
- ),
5462
- updatePagination: updatePagination,
5463
- };
5464
- },
5420
+ ref$1.direction;
5421
+
5422
+ if (props.useSticky) {
5423
+ addSticky(tableElement(), isStickyLeft, count);
5424
+ }
5425
+ if (props.resizable) {
5426
+ var stickyCount = props.useSticky && !isStickyLeft ? count : 0;
5427
+ addResizable(tableElement(), isStickyLeft, stickyCount, props.useSticky);
5428
+ }
5429
+ if (props.stickyResizable) {
5430
+ addStickyResizable(tableElement(), props.stickyResizable);
5431
+ }
5432
+
5433
+ var tableScrollArea = tableElement().getElementsByClassName('q-table__middle')[0];
5434
+ var isScrollbarAppear = tableScrollArea.scrollWidth > tableScrollArea.clientWidth;
5435
+
5436
+ if (!isStickyLeft && isScrollbarAppear) {
5437
+ isTableScrolled.value = true;
5438
+ }
5439
+
5440
+ detectHorizontalScroll(tableScrollArea);
5441
+ detectWindowResize(tableElement(), tableScrollArea);
5442
+ }
5443
+
5444
+ vue.onMounted(function () {
5445
+ handleColumns();
5446
+ });
5447
+
5448
+ vue.watch(
5449
+ function () { return props.columns; },
5450
+ function () {
5451
+ vue.nextTick(function () {
5452
+ handleColumns();
5453
+ });
5454
+ }
5455
+ );
5456
+
5457
+ return {
5458
+ sTableRef: sTableRef,
5459
+ focusCell: focusCell,
5460
+ isFocused: isFocused,
5461
+ editing: editing,
5462
+ inputRef: inputRef,
5463
+ inputData: inputData,
5464
+ closeInput: closeInput,
5465
+ editIcon: editIcon,
5466
+ updateSelected: updateSelected,
5467
+ isTableScrolled: isTableScrolled,
5468
+ tablePagination: tablePagination,
5469
+ paginationModel: paginationModel,
5470
+ pagesNumber: vue.computed(
5471
+ function () { return props.pagination.lastPage ||
5472
+ Math.ceil(props.rows.length / paginationModel.value.rowsPerPage); }
5473
+ ),
5474
+ updatePagination: updatePagination,
5475
+ };
5476
+ },
5465
5477
  });
5466
5478
 
5467
5479
  var _hoisted_1$a = { class: "full-width text-center" };
@@ -5492,21 +5504,21 @@
5492
5504
  pagination: _ctx.tablePagination,
5493
5505
  "onUpdate:pagination": _cache[1] || (_cache[1] = function ($event) { return ((_ctx.tablePagination) = $event); }),
5494
5506
  "no-data-label": _ctx.noDataLabel,
5495
- class: ["s-table", ( obj = {
5496
- 's-select-table': _ctx.$attrs.selection,
5497
- 'resizable-table': _ctx.resizable,
5498
- 'sticky-resizable-table': _ctx.stickyResizable,
5499
- 'sticky-header': _ctx.stickyHeader,
5500
- 'before-search': !_ctx.rows.length,
5501
- 'horizontally-scrolled': _ctx.isTableScrolled,
5502
- 's-table__hover': !_ctx.noHover
5507
+ class: ["s-table", ( obj = {
5508
+ 's-select-table': _ctx.$attrs.selection,
5509
+ 'resizable-table': _ctx.resizable,
5510
+ 'sticky-resizable-table': _ctx.stickyResizable,
5511
+ 'sticky-header': _ctx.stickyHeader,
5512
+ 'before-search': !_ctx.rows.length,
5513
+ 'horizontally-scrolled': _ctx.isTableScrolled,
5514
+ 's-table__hover': !_ctx.noHover
5503
5515
  }, obj[("sticky-" + (_ctx.stickyColumn.direction) + "-table")] = _ctx.stickyColumn, obj )],
5504
5516
  onSelection: _ctx.updateSelected,
5505
5517
  ref: "sTableRef",
5506
- onRequest: _cache[2] || (_cache[2] =
5507
- function (props) {
5508
- _ctx.$emit('request', props);
5509
- }
5518
+ onRequest: _cache[2] || (_cache[2] =
5519
+ function (props) {
5520
+ _ctx.$emit('request', props);
5521
+ }
5510
5522
  )
5511
5523
  }), vue.createSlots({
5512
5524
  "no-data": vue.withCtx(function (props) { return [
@@ -5533,16 +5545,16 @@
5533
5545
  (_ctx.navigator)
5534
5546
  ? (vue.openBlock(), vue.createBlock(_component_q_td, {
5535
5547
  key: 0,
5536
- class: vue.normalizeClass(( obj = {
5537
- focused: _ctx.isFocused(props),
5538
- 'text-center': props.col.align === 'center',
5539
- 'text-right': props.col.align === 'right'
5540
- }, obj[typeof props.col.classes === 'function'
5541
- ? props.col.classes(props.row)
5542
- : props.col.classes] = true, obj[typeof props.row.class === 'function'
5543
- ? props.row.class(props.row)
5544
- : typeof props.row.class === 'string'
5545
- ? props.row.class
5548
+ class: vue.normalizeClass(( obj = {
5549
+ focused: _ctx.isFocused(props),
5550
+ 'text-center': props.col.align === 'center',
5551
+ 'text-right': props.col.align === 'right'
5552
+ }, obj[typeof props.col.classes === 'function'
5553
+ ? props.col.classes(props.row)
5554
+ : props.col.classes] = true, obj[typeof props.row.class === 'function'
5555
+ ? props.row.class(props.row)
5556
+ : typeof props.row.class === 'string'
5557
+ ? props.row.class
5546
5558
  : ''] = true, obj )),
5547
5559
  style: vue.normalizeStyle(props.col.style),
5548
5560
  onClick: vue.withModifiers(function ($event) { return (_ctx.focusCell(props)); }, ["stop"])
@@ -5574,15 +5586,15 @@
5574
5586
  _: 2
5575
5587
  }, 1032, ["class", "style", "onClick"]))
5576
5588
  : (vue.openBlock(), vue.createBlock(_component_q_td, vue.mergeProps({ key: 1 }, props, {
5577
- class: ( obj$1 = {
5578
- 'text-center': props.col.align === 'center',
5579
- 'text-right': props.col.align === 'right'
5580
- }, obj$1[typeof props.col.classes === 'function'
5581
- ? props.col.classes(props.row)
5582
- : props.col.classes] = true, obj$1[typeof props.row.class === 'function'
5583
- ? props.row.class(props.row)
5584
- : typeof props.row.class === 'string'
5585
- ? props.row.class
5589
+ class: ( obj$1 = {
5590
+ 'text-center': props.col.align === 'center',
5591
+ 'text-right': props.col.align === 'right'
5592
+ }, obj$1[typeof props.col.classes === 'function'
5593
+ ? props.col.classes(props.row)
5594
+ : props.col.classes] = true, obj$1[typeof props.row.class === 'function'
5595
+ ? props.row.class(props.row)
5596
+ : typeof props.row.class === 'string'
5597
+ ? props.row.class
5586
5598
  : ''] = true, obj$1 ),
5587
5599
  style: props.col.style
5588
5600
  }), {
@@ -8507,7 +8519,7 @@
8507
8519
 
8508
8520
  /* eslint-disable no-multiple-empty-lines */
8509
8521
 
8510
- var version = '3.10.35';
8522
+ var version = '3.11.1';
8511
8523
 
8512
8524
  function install(app) {
8513
8525
  app.component('s-badge', script$2);