@contena/meteor-component-library 5.5.0 → 5.6.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 (109) hide show
  1. package/NOTICE +24 -3
  2. package/dist/{useRepository-c69e2597.js → Criteria-86968a69.js} +111 -258
  3. package/dist/{useRepository-dfff5b4a.mjs → Criteria-dda62b10.mjs} +114 -261
  4. package/dist/{channel-eb1529aa.mjs → channel-c0a7f238.mjs} +65 -25
  5. package/dist/{channel-782f8c3b.js → channel-c7fd2abb.js} +81 -41
  6. package/dist/common/MtBaseField.js +1 -1
  7. package/dist/common/MtCard.d.ts +5 -4
  8. package/dist/common/MtCard.js +17 -11
  9. package/dist/common/MtCheckbox.js +1 -1
  10. package/dist/common/MtColorpicker.js +1 -1
  11. package/dist/common/MtContextButton.js +1 -1
  12. package/dist/common/MtContextMenuItem.js +1 -1
  13. package/dist/common/MtDataTable.d.ts +20 -18
  14. package/dist/common/MtDataTable.js +137 -130
  15. package/dist/common/MtDataTableFilter.js +4 -4
  16. package/dist/common/MtDataTableSettings.js +1 -1
  17. package/dist/common/MtEntityDataTable.js +4 -3
  18. package/dist/common/MtEntitySelect.js +4 -3
  19. package/dist/common/MtGrantPermissionServiceBanner.d.ts +2 -0
  20. package/dist/common/MtGrantPermissionServiceBanner.js +155 -0
  21. package/dist/common/MtModal.js +2 -2
  22. package/dist/common/MtNumberField.js +1 -1
  23. package/dist/common/MtPagination.js +2 -2
  24. package/dist/common/MtPasswordField.js +1 -1
  25. package/dist/common/MtPopover.js +1 -1
  26. package/dist/common/MtPopoverItem.js +1 -1
  27. package/dist/common/MtPopoverItemResult.js +1 -1
  28. package/dist/common/MtSegmentedControl.js +1 -1
  29. package/dist/common/MtSelect.js +1 -1
  30. package/dist/common/MtSelectBase.js +1 -1
  31. package/dist/common/MtSlider.js +1 -1
  32. package/dist/common/MtTabs.js +1 -1
  33. package/dist/common/MtTextEditor.d.ts +1 -1
  34. package/dist/common/MtTextEditor.js +1 -1
  35. package/dist/common/MtTextEditorToolbar.js +1 -1
  36. package/dist/common/MtTextEditorToolbarButtonColor.js +1 -1
  37. package/dist/common/MtTextEditorToolbarButtonLink.js +1 -1
  38. package/dist/common/MtTextEditorToolbarButtonTable.js +1 -1
  39. package/dist/common/MtTextField.js +1 -1
  40. package/dist/common/MtThemeSelect.js +2 -2
  41. package/dist/common/MtUnitField.js +1 -1
  42. package/dist/common/index.d.ts +2 -1
  43. package/dist/common/index.js +10 -5
  44. package/dist/contena-logo.svg +6 -0
  45. package/dist/esm/MtBaseField.js +1 -1
  46. package/dist/esm/MtCard.d.ts +5 -4
  47. package/dist/esm/MtCard.js +17 -11
  48. package/dist/esm/MtCheckbox.js +1 -1
  49. package/dist/esm/MtColorpicker.js +1 -1
  50. package/dist/esm/MtContextButton.js +1 -1
  51. package/dist/esm/MtContextMenuItem.js +1 -1
  52. package/dist/esm/MtDataTable.d.ts +20 -18
  53. package/dist/esm/MtDataTable.js +138 -131
  54. package/dist/esm/MtDataTableFilter.js +4 -4
  55. package/dist/esm/MtDataTableSettings.js +1 -1
  56. package/dist/esm/MtEntityDataTable.js +4 -3
  57. package/dist/esm/MtEntitySelect.js +4 -3
  58. package/dist/esm/MtGrantPermissionServiceBanner.d.ts +2 -0
  59. package/dist/esm/MtGrantPermissionServiceBanner.js +156 -0
  60. package/dist/esm/MtModal.js +2 -2
  61. package/dist/esm/MtNumberField.js +1 -1
  62. package/dist/esm/MtPagination.js +2 -2
  63. package/dist/esm/MtPasswordField.js +1 -1
  64. package/dist/esm/MtPopover.js +1 -1
  65. package/dist/esm/MtPopoverItem.js +1 -1
  66. package/dist/esm/MtPopoverItemResult.js +1 -1
  67. package/dist/esm/MtSegmentedControl.js +1 -1
  68. package/dist/esm/MtSelect.js +1 -1
  69. package/dist/esm/MtSelectBase.js +1 -1
  70. package/dist/esm/MtSlider.js +1 -1
  71. package/dist/esm/MtTabs.js +1 -1
  72. package/dist/esm/MtTextEditor.d.ts +1 -1
  73. package/dist/esm/MtTextEditor.js +1 -1
  74. package/dist/esm/MtTextEditorToolbar.js +1 -1
  75. package/dist/esm/MtTextEditorToolbarButtonColor.js +1 -1
  76. package/dist/esm/MtTextEditorToolbarButtonLink.js +1 -1
  77. package/dist/esm/MtTextEditorToolbarButtonTable.js +1 -1
  78. package/dist/esm/MtTextField.js +1 -1
  79. package/dist/esm/MtThemeSelect.js +2 -2
  80. package/dist/esm/MtUnitField.js +1 -1
  81. package/dist/esm/index.d.ts +2 -1
  82. package/dist/esm/index.js +54 -49
  83. package/dist/favicon.ico +0 -0
  84. package/dist/index-26e65048.mjs +198 -0
  85. package/dist/{index-f60dc18c.js → index-2cb63874.js} +4 -195
  86. package/dist/{index-8ddee025.mjs → index-ddce4e37.mjs} +4 -195
  87. package/dist/index-f8d7f486.js +197 -0
  88. package/dist/index.css +2 -2
  89. package/dist/{mt-base-field-32e14998.js → mt-base-field-b1264b8e.js} +1 -0
  90. package/dist/{mt-base-field-3b5538c6.mjs → mt-base-field-ddfd1f81.mjs} +2 -1
  91. package/dist/mt-card.css +37 -37
  92. package/dist/mt-data-table-filter.css +12 -12
  93. package/dist/mt-data-table.css +0 -10
  94. package/dist/{mt-entity-data-table.vue_vue_type_style_index_0_lang-40d1a210.mjs → mt-entity-data-table.vue_vue_type_style_index_0_lang-20da6e77.mjs} +3 -2
  95. package/dist/{mt-entity-data-table.vue_vue_type_style_index_0_lang-5acc37b3.js → mt-entity-data-table.vue_vue_type_style_index_0_lang-84494335.js} +6 -5
  96. package/dist/{mt-entity-select.vue_vue_type_script_setup_true_lang-50315e8d.js → mt-entity-select.vue_vue_type_script_setup_true_lang-2cdffea0.js} +5 -4
  97. package/dist/{mt-entity-select.vue_vue_type_script_setup_true_lang-3733f9fc.mjs → mt-entity-select.vue_vue_type_script_setup_true_lang-f3c35d00.mjs} +2 -1
  98. package/dist/mt-grant-permission-service-banner.css +88 -0
  99. package/dist/mt-modal.css +31 -29
  100. package/dist/mt-pagination.css +15 -15
  101. package/dist/mt-popover-item.css +0 -5
  102. package/dist/{mt-theme-select.vue_vue_type_script_setup_true_lang-9e44465e.js → mt-theme-select.vue_vue_type_script_setup_true_lang-42a2e3c8.js} +6 -5
  103. package/dist/{mt-theme-select.vue_vue_type_script_setup_true_lang-cc325e63.mjs → mt-theme-select.vue_vue_type_script_setup_true_lang-6ecf0bcb.mjs} +6 -5
  104. package/dist/{repository-30409275.js → repository-9c56cf7b.js} +2 -3
  105. package/dist/{repository-fd60b763.mjs → repository-e7884115.mjs} +2 -3
  106. package/dist/useRepository-28dfccf5.mjs +149 -0
  107. package/dist/useRepository-6804d3b6.js +148 -0
  108. package/package.json +3 -4
  109. package/THIRD-PARTY-LICENSES/UPSTREAM-METEOR-MIT.txt +0 -21
@@ -1,5 +1,5 @@
1
1
  import '../mt-data-table.css';
2
- import { nextTick, watch, onUpdated, onMounted, onBeforeUnmount, defineComponent, reactive, computed, ref, onBeforeUpdate, resolveComponent, resolveDirective, openBlock, createBlock, normalizeClass, withCtx, createElementVNode, createCommentVNode, createSlots, createVNode, toDisplayString, createElementBlock, Fragment, renderList, renderSlot, withDirectives, normalizeStyle, withModifiers } from "vue";
2
+ import { nextTick, watch, onUpdated, onMounted, onBeforeUnmount, defineComponent, reactive, computed, ref, onBeforeUpdate, resolveComponent, resolveDirective, openBlock, createBlock, normalizeClass, createSlots, withCtx, createElementBlock, createVNode, Fragment, renderList, createCommentVNode, createElementVNode, toDisplayString, withDirectives, normalizeStyle, withModifiers, renderSlot } from "vue";
3
3
  import MtCard from "./MtCard.js";
4
4
  import MtButton from "./MtButton.js";
5
5
  import MtSelect from "./MtSelect.js";
@@ -26,21 +26,21 @@ import MtDataTableResetFilterButton from "./MtDataTableResetFilterButton.js";
26
26
  import MtDataTableFilter from "./MtDataTableFilter.js";
27
27
  import MtInset from "./MtInset.js";
28
28
  import { useI18n } from "vue-i18n";
29
+ import { h as hasSlotContent } from "../mt-base-field-ddfd1f81.mjs";
29
30
  import { h as useDebounceFn } from "../index-431c2592.mjs";
30
31
  import { _ as _export_sfc } from "../_plugin-vue_export-helper-cc2b3d55.mjs";
31
32
  import "./MtLoader.js";
32
33
  import "./MtText.js";
33
34
  import "../useFutureFlags-af867fe7.mjs";
34
- import "../mt-base-field-3b5538c6.mjs";
35
+ import "./MtFieldError.js";
36
+ import "../id-1e5b8276.mjs";
35
37
  import "./MtInheritanceSwitch.js";
36
38
  import "./MtTooltip.js";
37
39
  import "../floating-ui.vue-61aa2b7b.mjs";
38
40
  import "../floating-ui.dom-3a2ca2f5.mjs";
39
41
  import "../useIsInsideTooltip-0c3bd290.mjs";
40
42
  import "./MtFieldCopyable.js";
41
- import "../id-1e5b8276.mjs";
42
43
  import "./MtHelpText.js";
43
- import "./MtFieldError.js";
44
44
  import "../mt-switch.vue_vue_type_style_index_0_lang-4d293db9.mjs";
45
45
  import "./MtFieldLabel.js";
46
46
  import "./MtSmoothReflow.js";
@@ -550,7 +550,7 @@ const _sfc_main = defineComponent({
550
550
  "update:appliedFilters",
551
551
  "context-select"
552
552
  ],
553
- setup(props, { emit }) {
553
+ setup(props, { emit, slots }) {
554
554
  const { t } = useI18n({
555
555
  messages: {
556
556
  en: {
@@ -626,6 +626,7 @@ const _sfc_main = defineComponent({
626
626
  const filterChildViews = computed(() => {
627
627
  return props.filters.map(({ id, label }) => ({ name: id, title: label }));
628
628
  });
629
+ const showToolbar = () => props.disableSearch !== true || props.filters.length > 0 || props.appliedFilters.length > 0 || hasSlotContent(slots.toolbar);
629
630
  const sortedColumns = computed(() => {
630
631
  return columnsWithChanges.value.slice().sort((a, b) => a.position - b.position);
631
632
  });
@@ -1271,6 +1272,7 @@ const _sfc_main = defineComponent({
1271
1272
  emptyData,
1272
1273
  getRealIndex,
1273
1274
  isDragging,
1275
+ showToolbar,
1274
1276
  filterChildViews,
1275
1277
  removeFilter,
1276
1278
  addOption,
@@ -1381,130 +1383,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
1381
1383
  class: normalizeClass(["mt-data-table", _ctx.MtDataTableClasses]),
1382
1384
  title: _ctx.title,
1383
1385
  subtitle: _ctx.subtitle
1384
- }, {
1385
- toolbar: withCtx(() => [
1386
- createElementVNode("div", _hoisted_1, [
1387
- _ctx.disableSearch !== true ? (openBlock(), createBlock(_component_mt_search, {
1388
- key: 0,
1389
- class: "mt-data-table__search",
1390
- size: "small",
1391
- "model-value": _ctx.searchValue,
1392
- "onUpdate:modelValue": _ctx.handleSearchUpdate
1393
- }, null, 8, ["model-value", "onUpdate:modelValue"])) : createCommentVNode("", true),
1394
- _ctx.filters.length > 0 ? (openBlock(), createBlock(_component_mt_popover, {
1395
- key: 1,
1396
- title: "Filters",
1397
- "child-views": _ctx.filterChildViews
1398
- }, createSlots({
1399
- trigger: withCtx(({ toggleFloatingUi }) => [
1400
- createVNode(_component_mt_button, {
1401
- variant: "secondary",
1402
- onClick: toggleFloatingUi
1403
- }, {
1404
- default: withCtx(() => [
1405
- createVNode(_component_mt_icon, {
1406
- name: "solid-filter-s",
1407
- "aria-hidden": "true"
1408
- }),
1409
- createElementVNode("span", null, toDisplayString(_ctx.t("filter.addFilter")), 1)
1410
- ]),
1411
- _: 2
1412
- }, 1032, ["onClick"])
1413
- ]),
1414
- "popover-items__base": withCtx(({ changeView }) => [
1415
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.filters, (filter) => {
1416
- return openBlock(), createBlock(_component_mt_popover_item, {
1417
- key: filter.id,
1418
- label: filter.label,
1419
- "show-options": "",
1420
- onClickOptions: () => changeView(filter.id)
1421
- }, null, 8, ["label", "onClickOptions"]);
1422
- }), 128))
1423
- ]),
1424
- _: 2
1425
- }, [
1426
- renderList(_ctx.filters, (filter) => {
1427
- return {
1428
- name: `popover-items__${filter.id}`,
1429
- fn: withCtx(() => [
1430
- (openBlock(true), createElementBlock(Fragment, null, renderList(filter.type.options, (option) => {
1431
- return openBlock(), createBlock(_component_mt_popover_item, {
1432
- key: option.id,
1433
- label: option.label,
1434
- "show-checkbox": "",
1435
- "checkbox-checked": _ctx.isOptionSelected(filter.id, option.id),
1436
- onChangeCheckbox: (isChecked) => isChecked ? _ctx.addOption(filter.id, option.id) : _ctx.removeOption(filter.id, option.id)
1437
- }, null, 8, ["label", "checkbox-checked", "onChangeCheckbox"]);
1438
- }), 128))
1439
- ])
1440
- };
1441
- })
1442
- ]), 1032, ["child-views"])) : createCommentVNode("", true),
1443
- renderSlot(_ctx.$slots, "toolbar")
1444
- ]),
1445
- _ctx.appliedFilters.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2, [
1446
- createElementVNode("span", null, toDisplayString(_ctx.isLoading ? _ctx.t("filter.fetchingFilteredResults") : _ctx.t("filter.numberOfResults", { n: _ctx.numberOfResults ?? 0 })), 1),
1447
- createElementVNode("div", _hoisted_3, [
1448
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.appliedFilters, (filter) => {
1449
- return openBlock(), createBlock(_component_mt_data_table_filter, {
1450
- key: filter.id,
1451
- filter: _ctx.filters.find((f) => f.id === filter.id),
1452
- "applied-options": filter.type.options,
1453
- onAddOption: _cache[0] || (_cache[0] = (filterId, optionId) => _ctx.addOption(filterId, optionId)),
1454
- onRemoveOption: _cache[1] || (_cache[1] = (filterId, optionId) => _ctx.removeOption(filterId, optionId)),
1455
- onRemoveFilter: ($event) => _ctx.removeFilter(filter.id)
1456
- }, null, 8, ["filter", "applied-options", "onRemoveFilter"]);
1457
- }), 128))
1458
- ]),
1459
- createVNode(_component_mt_popover, {
1460
- title: "Filters",
1461
- "child-views": _ctx.filterChildViews
1462
- }, createSlots({
1463
- trigger: withCtx(({ toggleFloatingUi }) => [
1464
- createElementVNode("button", {
1465
- type: "button",
1466
- class: "mt-data-table__add-filter-button",
1467
- "aria-label": _ctx.t("filter.addFilter"),
1468
- onClick: toggleFloatingUi
1469
- }, [
1470
- createVNode(_component_mt_icon, { name: "solid-plus-square-s" })
1471
- ], 8, _hoisted_4)
1472
- ]),
1473
- "popover-items__base": withCtx(({ changeView }) => [
1474
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.filters, (filter) => {
1475
- return openBlock(), createBlock(_component_mt_popover_item, {
1476
- key: filter.id,
1477
- label: filter.label,
1478
- "show-options": "",
1479
- onClickOptions: () => changeView(filter.id)
1480
- }, null, 8, ["label", "onClickOptions"]);
1481
- }), 128))
1482
- ]),
1483
- _: 2
1484
- }, [
1485
- renderList(_ctx.filters, (filter) => {
1486
- return {
1487
- name: `popover-items__${filter.id}`,
1488
- fn: withCtx(() => [
1489
- (openBlock(true), createElementBlock(Fragment, null, renderList(filter.type.options, (option) => {
1490
- return openBlock(), createBlock(_component_mt_popover_item, {
1491
- key: option.id,
1492
- label: option.label,
1493
- "show-checkbox": "",
1494
- "checkbox-checked": _ctx.isOptionSelected(filter.id, option.id),
1495
- onChangeCheckbox: (isChecked) => isChecked ? _ctx.addOption(filter.id, option.id) : _ctx.removeOption(filter.id, option.id)
1496
- }, null, 8, ["label", "checkbox-checked", "onChangeCheckbox"]);
1497
- }), 128))
1498
- ])
1499
- };
1500
- })
1501
- ]), 1032, ["child-views"]),
1502
- createVNode(_component_mt_data_table_reset_filter_button, {
1503
- "number-of-applied-filters": _ctx.appliedFilters.length,
1504
- onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:appliedFilters", []))
1505
- }, null, 8, ["number-of-applied-filters"])
1506
- ])) : createCommentVNode("", true)
1507
- ]),
1386
+ }, createSlots({
1508
1387
  default: withCtx(() => [
1509
1388
  _ctx.somethingSelected ? (openBlock(), createElementBlock("div", _hoisted_5, [
1510
1389
  createVNode(_component_mt_segmented_control, {
@@ -1905,8 +1784,136 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
1905
1784
  _: 1
1906
1785
  })
1907
1786
  ]),
1908
- _: 3
1909
- }, 8, ["class", "title", "subtitle"]);
1787
+ _: 2
1788
+ }, [
1789
+ _ctx.showToolbar() ? {
1790
+ name: "toolbar",
1791
+ fn: withCtx(() => [
1792
+ createElementVNode("div", _hoisted_1, [
1793
+ _ctx.disableSearch !== true ? (openBlock(), createBlock(_component_mt_search, {
1794
+ key: 0,
1795
+ class: "mt-data-table__search",
1796
+ size: "small",
1797
+ "model-value": _ctx.searchValue,
1798
+ "onUpdate:modelValue": _ctx.handleSearchUpdate
1799
+ }, null, 8, ["model-value", "onUpdate:modelValue"])) : createCommentVNode("", true),
1800
+ _ctx.filters.length > 0 ? (openBlock(), createBlock(_component_mt_popover, {
1801
+ key: 1,
1802
+ title: "Filters",
1803
+ "child-views": _ctx.filterChildViews
1804
+ }, createSlots({
1805
+ trigger: withCtx(({ toggleFloatingUi }) => [
1806
+ createVNode(_component_mt_button, {
1807
+ variant: "secondary",
1808
+ onClick: toggleFloatingUi
1809
+ }, {
1810
+ default: withCtx(() => [
1811
+ createVNode(_component_mt_icon, {
1812
+ name: "solid-filter-s",
1813
+ "aria-hidden": "true"
1814
+ }),
1815
+ createElementVNode("span", null, toDisplayString(_ctx.t("filter.addFilter")), 1)
1816
+ ]),
1817
+ _: 2
1818
+ }, 1032, ["onClick"])
1819
+ ]),
1820
+ "popover-items__base": withCtx(({ changeView }) => [
1821
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.filters, (filter) => {
1822
+ return openBlock(), createBlock(_component_mt_popover_item, {
1823
+ key: filter.id,
1824
+ label: filter.label,
1825
+ "show-options": "",
1826
+ onClickOptions: () => changeView(filter.id)
1827
+ }, null, 8, ["label", "onClickOptions"]);
1828
+ }), 128))
1829
+ ]),
1830
+ _: 2
1831
+ }, [
1832
+ renderList(_ctx.filters, (filter) => {
1833
+ return {
1834
+ name: `popover-items__${filter.id}`,
1835
+ fn: withCtx(() => [
1836
+ (openBlock(true), createElementBlock(Fragment, null, renderList(filter.type.options, (option) => {
1837
+ return openBlock(), createBlock(_component_mt_popover_item, {
1838
+ key: option.id,
1839
+ label: option.label,
1840
+ "show-checkbox": "",
1841
+ "checkbox-checked": _ctx.isOptionSelected(filter.id, option.id),
1842
+ onChangeCheckbox: (isChecked) => isChecked ? _ctx.addOption(filter.id, option.id) : _ctx.removeOption(filter.id, option.id)
1843
+ }, null, 8, ["label", "checkbox-checked", "onChangeCheckbox"]);
1844
+ }), 128))
1845
+ ])
1846
+ };
1847
+ })
1848
+ ]), 1032, ["child-views"])) : createCommentVNode("", true),
1849
+ renderSlot(_ctx.$slots, "toolbar")
1850
+ ]),
1851
+ _ctx.appliedFilters.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2, [
1852
+ createElementVNode("span", null, toDisplayString(_ctx.isLoading ? _ctx.t("filter.fetchingFilteredResults") : _ctx.t("filter.numberOfResults", { n: _ctx.numberOfResults ?? 0 })), 1),
1853
+ createElementVNode("div", _hoisted_3, [
1854
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.appliedFilters, (filter) => {
1855
+ return openBlock(), createBlock(_component_mt_data_table_filter, {
1856
+ key: filter.id,
1857
+ filter: _ctx.filters.find((f) => f.id === filter.id),
1858
+ "applied-options": filter.type.options,
1859
+ onAddOption: _cache[0] || (_cache[0] = (filterId, optionId) => _ctx.addOption(filterId, optionId)),
1860
+ onRemoveOption: _cache[1] || (_cache[1] = (filterId, optionId) => _ctx.removeOption(filterId, optionId)),
1861
+ onRemoveFilter: ($event) => _ctx.removeFilter(filter.id)
1862
+ }, null, 8, ["filter", "applied-options", "onRemoveFilter"]);
1863
+ }), 128))
1864
+ ]),
1865
+ createVNode(_component_mt_popover, {
1866
+ title: "Filters",
1867
+ "child-views": _ctx.filterChildViews
1868
+ }, createSlots({
1869
+ trigger: withCtx(({ toggleFloatingUi }) => [
1870
+ createElementVNode("button", {
1871
+ type: "button",
1872
+ class: "mt-data-table__add-filter-button",
1873
+ "aria-label": _ctx.t("filter.addFilter"),
1874
+ onClick: toggleFloatingUi
1875
+ }, [
1876
+ createVNode(_component_mt_icon, { name: "solid-plus-square-s" })
1877
+ ], 8, _hoisted_4)
1878
+ ]),
1879
+ "popover-items__base": withCtx(({ changeView }) => [
1880
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.filters, (filter) => {
1881
+ return openBlock(), createBlock(_component_mt_popover_item, {
1882
+ key: filter.id,
1883
+ label: filter.label,
1884
+ "show-options": "",
1885
+ onClickOptions: () => changeView(filter.id)
1886
+ }, null, 8, ["label", "onClickOptions"]);
1887
+ }), 128))
1888
+ ]),
1889
+ _: 2
1890
+ }, [
1891
+ renderList(_ctx.filters, (filter) => {
1892
+ return {
1893
+ name: `popover-items__${filter.id}`,
1894
+ fn: withCtx(() => [
1895
+ (openBlock(true), createElementBlock(Fragment, null, renderList(filter.type.options, (option) => {
1896
+ return openBlock(), createBlock(_component_mt_popover_item, {
1897
+ key: option.id,
1898
+ label: option.label,
1899
+ "show-checkbox": "",
1900
+ "checkbox-checked": _ctx.isOptionSelected(filter.id, option.id),
1901
+ onChangeCheckbox: (isChecked) => isChecked ? _ctx.addOption(filter.id, option.id) : _ctx.removeOption(filter.id, option.id)
1902
+ }, null, 8, ["label", "checkbox-checked", "onChangeCheckbox"]);
1903
+ }), 128))
1904
+ ])
1905
+ };
1906
+ })
1907
+ ]), 1032, ["child-views"]),
1908
+ createVNode(_component_mt_data_table_reset_filter_button, {
1909
+ "number-of-applied-filters": _ctx.appliedFilters.length,
1910
+ onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:appliedFilters", []))
1911
+ }, null, 8, ["number-of-applied-filters"])
1912
+ ])) : createCommentVNode("", true)
1913
+ ]),
1914
+ key: "0"
1915
+ } : void 0
1916
+ ]), 1032, ["class", "title", "subtitle"]);
1910
1917
  }
1911
1918
  const MtDataTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
1912
1919
  export {
@@ -7,7 +7,7 @@ import MtText from "./MtText.js";
7
7
  import { useI18n } from "vue-i18n";
8
8
  import { _ as _export_sfc } from "../_plugin-vue_export-helper-cc2b3d55.mjs";
9
9
  import "./MtCheckbox.js";
10
- import "../mt-base-field-3b5538c6.mjs";
10
+ import "../mt-base-field-ddfd1f81.mjs";
11
11
  import "./MtInheritanceSwitch.js";
12
12
  import "./MtTooltip.js";
13
13
  import "../floating-ui.vue-61aa2b7b.mjs";
@@ -52,7 +52,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
52
52
  removeButton: "Remove filter"
53
53
  },
54
54
  zh: {
55
- is: "",
55
+ is: "等于",
56
56
  removeButton: "移除筛选"
57
57
  }
58
58
  }
@@ -118,8 +118,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
118
118
  };
119
119
  }
120
120
  });
121
- const mtDataTableFilter_vue_vue_type_style_index_0_scoped_a876f3f0_lang = "";
122
- const MtDataTableFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a876f3f0"]]);
121
+ const mtDataTableFilter_vue_vue_type_style_index_0_scoped_444741f3_lang = "";
122
+ const MtDataTableFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-444741f3"]]);
123
123
  export {
124
124
  MtDataTableFilter as default
125
125
  };
@@ -11,7 +11,7 @@ import "../useIsInsideTooltip-0c3bd290.mjs";
11
11
  import "./MtLoader.js";
12
12
  import "./MtText.js";
13
13
  import "./MtCheckbox.js";
14
- import "../mt-base-field-3b5538c6.mjs";
14
+ import "../mt-base-field-ddfd1f81.mjs";
15
15
  import "./MtInheritanceSwitch.js";
16
16
  import "./MtTooltip.js";
17
17
  import "../floating-ui.vue-61aa2b7b.mjs";
@@ -1,14 +1,15 @@
1
1
  import '../mt-entity-data-table.css';
2
- import { _ as _sfc_main } from "../mt-entity-data-table.vue_vue_type_style_index_0_lang-40d1a210.mjs";
2
+ import { _ as _sfc_main } from "../mt-entity-data-table.vue_vue_type_style_index_0_lang-20da6e77.mjs";
3
3
  import "vue";
4
- import "../useRepository-dfff5b4a.mjs";
4
+ import "../Criteria-dda62b10.mjs";
5
+ import "../useRepository-28dfccf5.mjs";
5
6
  import "./MtDataTable.js";
6
7
  import "./MtCard.js";
7
8
  import "../mt-context-button.vue_vue_type_style_index_0_lang-c4b5d005.mjs";
8
9
  import "../mt-icon.vue_vue_type_style_index_0_lang-c90dc25b.mjs";
9
10
  import "./MtPopover.js";
10
11
  import "./MtCheckbox.js";
11
- import "../mt-base-field-3b5538c6.mjs";
12
+ import "../mt-base-field-ddfd1f81.mjs";
12
13
  import "./MtInheritanceSwitch.js";
13
14
  import "./MtTooltip.js";
14
15
  import "../floating-ui.vue-61aa2b7b.mjs";
@@ -1,4 +1,4 @@
1
- import { _ as _sfc_main } from "../mt-entity-select.vue_vue_type_script_setup_true_lang-3733f9fc.mjs";
1
+ import { _ as _sfc_main } from "../mt-entity-select.vue_vue_type_script_setup_true_lang-f3c35d00.mjs";
2
2
  import "vue";
3
3
  import "./MtSelect.js";
4
4
  import "../debounce-b18437e2.mjs";
@@ -7,7 +7,7 @@ import "./MtFieldHint.js";
7
7
  import "../mt-icon.vue_vue_type_style_index_0_lang-c90dc25b.mjs";
8
8
  import "../_plugin-vue_export-helper-cc2b3d55.mjs";
9
9
  import "./MtSelectBase.js";
10
- import "../mt-base-field-3b5538c6.mjs";
10
+ import "../mt-base-field-ddfd1f81.mjs";
11
11
  import "./MtInheritanceSwitch.js";
12
12
  import "./MtTooltip.js";
13
13
  import "../floating-ui.vue-61aa2b7b.mjs";
@@ -31,7 +31,8 @@ import "./MtSelectSelectionList.js";
31
31
  import "../mt-label.vue_vue_type_style_index_0_lang-3ceffd12.mjs";
32
32
  import "./MtButton.js";
33
33
  import "../mt-highlight-text.vue_vue_type_style_index_0_lang-550f3bfe.mjs";
34
- import "../useRepository-dfff5b4a.mjs";
34
+ import "../Criteria-dda62b10.mjs";
35
+ import "../useRepository-28dfccf5.mjs";
35
36
  export {
36
37
  _sfc_main as default
37
38
  };
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,156 @@
1
+ import '../mt-grant-permission-service-banner.css';
2
+ import { defineComponent, useId, ref, unref, openBlock, createElementBlock, createElementVNode, createVNode, withCtx, createTextVNode, toDisplayString, createCommentVNode } from "vue";
3
+ import { c as computedAsync } from "../index-03602e2a.mjs";
4
+ import { useI18n } from "vue-i18n";
5
+ import { _ as _sfc_main$1 } from "../mt-icon.vue_vue_type_style_index_0_lang-c90dc25b.mjs";
6
+ import MtText from "./MtText.js";
7
+ import MtButton from "./MtButton.js";
8
+ import { g as getAppInformation } from "../index-26e65048.mjs";
9
+ import { c as createSender } from "../channel-c0a7f238.mjs";
10
+ import { _ as _export_sfc } from "../_plugin-vue_export-helper-cc2b3d55.mjs";
11
+ import "../index-431c2592.mjs";
12
+ import "../useIsInsideTooltip-0c3bd290.mjs";
13
+ import "./MtLoader.js";
14
+ import "../Criteria-dda62b10.mjs";
15
+ const dispatch = createSender("telemetryDispatch");
16
+ const isService = createSender("contextIsService", {});
17
+ const grant = createSender("servicePermissionGrant", {});
18
+ const isGranted = createSender("servicePermissionIsGranted", {});
19
+ const _hoisted_1 = {
20
+ key: 0,
21
+ class: "mt-grant-permission-service-banner__container"
22
+ };
23
+ const _hoisted_2 = ["aria-labelledby"];
24
+ const _hoisted_3 = { class: "mt-grant-permission-service-banner__body" };
25
+ const _hoisted_4 = { class: "mt-grant-permission-service-banner__actions" };
26
+ const _hoisted_5 = { class: "mt-grant-permission-service-banner__label--short" };
27
+ const _hoisted_6 = { class: "mt-grant-permission-service-banner__label--long" };
28
+ const _sfc_main = /* @__PURE__ */ defineComponent({
29
+ __name: "mt-grant-permission-service-banner",
30
+ setup(__props) {
31
+ const { t } = useI18n({
32
+ messages: {
33
+ en: {
34
+ title: "Grant permissions to activate this service.",
35
+ description: "Only the data needed to function will be accessed.",
36
+ grantLabel: "Grant permissions",
37
+ grantLongLabel: "Grant permissions and activate",
38
+ moreInfo: "More info",
39
+ moreInfoUrl: "https://developer.contena.cn/docs/"
40
+ },
41
+ zh: {
42
+ title: "授予权限以启用此服务。",
43
+ description: "仅访问此功能运行所需的数据。",
44
+ grantLabel: "授予权限",
45
+ grantLongLabel: "授予权限并启用",
46
+ moreInfo: "了解更多",
47
+ moreInfoUrl: "https://developer.contena.cn/docs/"
48
+ }
49
+ }
50
+ });
51
+ const titleId = useId();
52
+ const isLoading = ref(false);
53
+ const isShowUI = computedAsync(async () => {
54
+ return await isService() && !await isGranted();
55
+ }, false);
56
+ const appInfo = computedAsync(async () => {
57
+ return await getAppInformation();
58
+ }, null);
59
+ function track(event, data) {
60
+ dispatch({ event, data }).catch(() => void 0);
61
+ }
62
+ async function handleGrantPermission() {
63
+ var _a, _b;
64
+ track(`${(_a = appInfo.value) == null ? void 0 : _a.name}_grant_permission_clicked`, {
65
+ contena_version: (_b = appInfo.value) == null ? void 0 : _b.version
66
+ });
67
+ if (isLoading.value) {
68
+ return;
69
+ }
70
+ isLoading.value = true;
71
+ try {
72
+ await grant();
73
+ } catch (error) {
74
+ console.error("Error granting permission:", error);
75
+ } finally {
76
+ isLoading.value = false;
77
+ }
78
+ }
79
+ function handleClickMoreInfo() {
80
+ var _a;
81
+ track(`${(_a = appInfo.value) == null ? void 0 : _a.name}_grant_permission_more_info`);
82
+ }
83
+ return (_ctx, _cache) => {
84
+ return unref(isShowUI) ? (openBlock(), createElementBlock("div", _hoisted_1, [
85
+ createElementVNode("section", {
86
+ class: "mt-grant-permission-service-banner",
87
+ "aria-labelledby": unref(titleId)
88
+ }, [
89
+ createVNode(_sfc_main$1, {
90
+ class: "mt-grant-permission-service-banner__icon",
91
+ name: "regular-trust",
92
+ size: "32",
93
+ decorative: ""
94
+ }),
95
+ createElementVNode("div", _hoisted_3, [
96
+ createVNode(MtText, {
97
+ id: unref(titleId),
98
+ as: "h3",
99
+ weight: "bold",
100
+ size: "xs",
101
+ class: "mt-grant-permission-service-banner__title"
102
+ }, {
103
+ default: withCtx(() => [
104
+ createTextVNode(toDisplayString(unref(t)("title")), 1)
105
+ ]),
106
+ _: 1
107
+ }, 8, ["id"]),
108
+ createVNode(MtText, {
109
+ size: "2xs",
110
+ color: "color-text-secondary-default",
111
+ class: "mt-grant-permission-service-banner__description"
112
+ }, {
113
+ default: withCtx(() => [
114
+ createTextVNode(toDisplayString(unref(t)("description")), 1)
115
+ ]),
116
+ _: 1
117
+ })
118
+ ]),
119
+ createElementVNode("div", _hoisted_4, [
120
+ createVNode(MtButton, {
121
+ variant: "primary",
122
+ class: "mt-grant-permission-service-banner__grant",
123
+ "is-loading": isLoading.value,
124
+ onClick: handleGrantPermission
125
+ }, {
126
+ default: withCtx(() => [
127
+ createElementVNode("span", _hoisted_5, toDisplayString(unref(t)("grantLabel")), 1),
128
+ createElementVNode("span", _hoisted_6, toDisplayString(unref(t)("grantLongLabel")), 1)
129
+ ]),
130
+ _: 1
131
+ }, 8, ["is-loading"]),
132
+ createVNode(MtButton, {
133
+ is: "a",
134
+ variant: "secondary",
135
+ class: "mt-grant-permission-service-banner__more-info",
136
+ href: unref(t)("moreInfoUrl"),
137
+ target: "_blank",
138
+ rel: "noopener noreferrer",
139
+ onClick: handleClickMoreInfo
140
+ }, {
141
+ default: withCtx(() => [
142
+ createTextVNode(toDisplayString(unref(t)("moreInfo")), 1)
143
+ ]),
144
+ _: 1
145
+ }, 8, ["href"])
146
+ ])
147
+ ], 8, _hoisted_2)
148
+ ])) : createCommentVNode("", true);
149
+ };
150
+ }
151
+ });
152
+ const mtGrantPermissionServiceBanner_vue_vue_type_style_index_0_scoped_95188d4f_lang = "";
153
+ const mtGrantPermissionServiceBanner = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-95188d4f"]]);
154
+ export {
155
+ mtGrantPermissionServiceBanner as default
156
+ };
@@ -261,8 +261,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
261
261
  };
262
262
  }
263
263
  });
264
- const mtModal_vue_vue_type_style_index_0_scoped_4d6bac13_lang = "";
265
- const MtModal = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4d6bac13"]]);
264
+ const mtModal_vue_vue_type_style_index_0_scoped_684596ac_lang = "";
265
+ const MtModal = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-684596ac"]]);
266
266
  export {
267
267
  MtModal as default
268
268
  };
@@ -5,7 +5,7 @@ import { _ as _sfc_main$1 } from "../mt-icon.vue_vue_type_style_index_0_lang-c90
5
5
  import MtFieldHint from "./MtFieldHint.js";
6
6
  import { useI18n } from "vue-i18n";
7
7
  import { _ as _export_sfc } from "../_plugin-vue_export-helper-cc2b3d55.mjs";
8
- import "../mt-base-field-3b5538c6.mjs";
8
+ import "../mt-base-field-ddfd1f81.mjs";
9
9
  import "./MtInheritanceSwitch.js";
10
10
  import "./MtTooltip.js";
11
11
  import "../floating-ui.vue-61aa2b7b.mjs";
@@ -155,8 +155,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
155
155
  };
156
156
  }
157
157
  });
158
- const mtPagination_vue_vue_type_style_index_0_scoped_c2204c1a_lang = "";
159
- const MtPagination = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c2204c1a"]]);
158
+ const mtPagination_vue_vue_type_style_index_0_scoped_3c2685bd_lang = "";
159
+ const MtPagination = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3c2685bd"]]);
160
160
  export {
161
161
  MtPagination as default
162
162
  };
@@ -1,6 +1,6 @@
1
1
  import '../mt-password-field.css';
2
2
  import { defineComponent, mergeModels, useModel, useSlots, computed, ref, openBlock, createBlock, withCtx, createTextVNode, toDisplayString, renderSlot, createElementVNode, withModifiers, withKeys, createElementBlock, unref, createVNode, createCommentVNode } from "vue";
3
- import { M as MtBaseField } from "../mt-base-field-3b5538c6.mjs";
3
+ import { M as MtBaseField } from "../mt-base-field-ddfd1f81.mjs";
4
4
  import MtFieldError from "./MtFieldError.js";
5
5
  import MtFieldHint from "./MtFieldHint.js";
6
6
  import { _ as _sfc_main$1 } from "../mt-icon.vue_vue_type_style_index_0_lang-c90dc25b.mjs";
@@ -9,7 +9,7 @@ import MtSmoothReflow from "./MtSmoothReflow.js";
9
9
  import { _ as _sfc_main$3 } from "../mt-floating-ui.vue_vue_type_style_index_0_lang-90b9d50a.mjs";
10
10
  import MtText from "./MtText.js";
11
11
  import { _ as _export_sfc } from "../_plugin-vue_export-helper-cc2b3d55.mjs";
12
- import "../mt-base-field-3b5538c6.mjs";
12
+ import "../mt-base-field-ddfd1f81.mjs";
13
13
  import "./MtInheritanceSwitch.js";
14
14
  import "./MtTooltip.js";
15
15
  import "../floating-ui.vue-61aa2b7b.mjs";
@@ -6,7 +6,7 @@ import { _ as _sfc_main$2 } from "../mt-icon.vue_vue_type_style_index_0_lang-c90
6
6
  import { c as createId } from "../id-1e5b8276.mjs";
7
7
  import { h as useDebounceFn } from "../index-431c2592.mjs";
8
8
  import { _ as _export_sfc } from "../_plugin-vue_export-helper-cc2b3d55.mjs";
9
- import "../mt-base-field-3b5538c6.mjs";
9
+ import "../mt-base-field-ddfd1f81.mjs";
10
10
  import "./MtInheritanceSwitch.js";
11
11
  import "./MtTooltip.js";
12
12
  import "../floating-ui.vue-61aa2b7b.mjs";
@@ -7,7 +7,7 @@ import "vue-i18n";
7
7
  import "../mt-icon.vue_vue_type_style_index_0_lang-c90dc25b.mjs";
8
8
  import "./MtPopoverItem.js";
9
9
  import "./MtCheckbox.js";
10
- import "../mt-base-field-3b5538c6.mjs";
10
+ import "../mt-base-field-ddfd1f81.mjs";
11
11
  import "./MtInheritanceSwitch.js";
12
12
  import "./MtTooltip.js";
13
13
  import "../floating-ui.vue-61aa2b7b.mjs";
@@ -4,7 +4,7 @@ import { _ as _sfc_main$1 } from "../mt-icon.vue_vue_type_style_index_0_lang-c90
4
4
  import mtPopover from "./MtPopover.js";
5
5
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, Fragment, renderList, createCommentVNode, createBlock, createSlots, withCtx, createElementVNode, renderSlot, createTextVNode, toDisplayString } from "vue";
6
6
  import { _ as _export_sfc } from "../_plugin-vue_export-helper-cc2b3d55.mjs";
7
- import "../mt-base-field-3b5538c6.mjs";
7
+ import "../mt-base-field-ddfd1f81.mjs";
8
8
  import "./MtInheritanceSwitch.js";
9
9
  import "./MtTooltip.js";
10
10
  import "../floating-ui.vue-61aa2b7b.mjs";