@pequity/squirrel 1.0.29 → 1.2.3

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/cjs/index.js CHANGED
@@ -1,19 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const config = require("./config.js");
4
- const pActionBar_vue_vue_type_script_setup_true_lang = require("./chunks/p-action-bar.js");
4
+ const vue = require("vue");
5
+ const pBtn = require("./p-btn.js");
6
+ const pCloseBtn = require("./p-close-btn.js");
7
+ const pDropdown = require("./p-dropdown.js");
5
8
  const pAlert = require("./p-alert.js");
6
9
  const pAvatar = require("./p-avatar.js");
7
- const pBtn = require("./p-btn.js");
8
10
  const pCard_vue_vue_type_script_setup_true_lang = require("./chunks/p-card.js");
9
11
  const pCheckbox_vue_vue_type_script_setup_true_lang = require("./chunks/p-checkbox.js");
10
12
  const pChips = require("./p-chips.js");
11
- const pCloseBtn = require("./p-close-btn.js");
12
13
  const pDatePicker = require("./p-date-picker.js");
13
14
  const pDrawer = require("./p-drawer.js");
14
- const pDropdown = require("./p-dropdown.js");
15
15
  const pDropdownSelect_vue_vue_type_script_setup_true_lang = require("./chunks/p-dropdown-select.js");
16
- const vue = require("vue");
17
16
  const pFileUpload$1 = require("./p-file-upload.js");
18
17
  const lodashEs = require("lodash-es");
19
18
  const useInputClasses = require("./useInputClasses.js");
@@ -61,6 +60,112 @@ const dom = require("./dom.js");
61
60
  const object = require("./object.js");
62
61
  const listKeyboardNavigation = require("./listKeyboardNavigation.js");
63
62
  const number = require("./number.js");
63
+ const _hoisted_1$4 = {
64
+ class: "fixed bottom-6 left-1/2 flex h-12 -translate-x-1/2 select-none flex-row items-center rounded-lg bg-p-purple-60 px-2 text-sm font-medium text-white",
65
+ role: "alertdialog"
66
+ };
67
+ const _hoisted_2$4 = { class: "px-3" };
68
+ const _hoisted_3$4 = /* @__PURE__ */ vue.createElementVNode("div", { class: "mx-4 h-9 w-0.5 rounded bg-p-purple-50" }, null, -1);
69
+ const _hoisted_4$4 = { class: "flex" };
70
+ const _hoisted_5$4 = { class: "flex items-center gap-2 px-1 py-0.5" };
71
+ const _hoisted_6$4 = { class: "flex items-center gap-2 px-1 py-0.5" };
72
+ const _hoisted_7$3 = { class: "flex flex-col bg-p-purple-60" };
73
+ const _hoisted_8$1 = { class: "flex items-center gap-2 px-1 py-0.5" };
74
+ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
75
+ __name: "p-action-bar",
76
+ props: {
77
+ label: {},
78
+ actions: {}
79
+ },
80
+ emits: ["click:dismiss", "click:action"],
81
+ setup(__props) {
82
+ return (_ctx, _cache) => {
83
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
84
+ vue.createVNode(pCloseBtn, {
85
+ variant: "dark",
86
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click:dismiss"))
87
+ }),
88
+ vue.createElementVNode("p", _hoisted_2$4, vue.toDisplayString(_ctx.label), 1),
89
+ _hoisted_3$4,
90
+ vue.createElementVNode("div", _hoisted_4$4, [
91
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.actions, (actionOrMenu) => {
92
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
93
+ key: `action-${actionOrMenu.label}`
94
+ }, [
95
+ !actionOrMenu.subActions ? (vue.openBlock(), vue.createBlock(pBtn, {
96
+ key: 0,
97
+ size: "sm",
98
+ type: "secondary-ghost-dark",
99
+ onClick: ($event) => _ctx.$emit("click:action", actionOrMenu.name)
100
+ }, {
101
+ default: vue.withCtx(() => [
102
+ vue.createElementVNode("div", _hoisted_5$4, [
103
+ actionOrMenu.icon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(actionOrMenu.icon), {
104
+ key: 0,
105
+ class: "h-4 w-4"
106
+ })) : vue.createCommentVNode("", true),
107
+ vue.createElementVNode("div", null, vue.toDisplayString(actionOrMenu.label), 1)
108
+ ])
109
+ ]),
110
+ _: 2
111
+ }, 1032, ["onClick"])) : (vue.openBlock(), vue.createBlock(pDropdown, {
112
+ key: 1,
113
+ placement: "top",
114
+ strategy: "fixed"
115
+ }, {
116
+ popper: vue.withCtx(() => [
117
+ vue.createElementVNode("div", _hoisted_7$3, [
118
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(actionOrMenu.subActions, (subaction) => {
119
+ return vue.openBlock(), vue.createElementBlock("div", {
120
+ key: `subaction-${subaction.name}`
121
+ }, [
122
+ vue.createVNode(pBtn, {
123
+ size: "sm",
124
+ class: "w-full",
125
+ type: "secondary-ghost-dark",
126
+ onClick: ($event) => _ctx.$emit("click:action", subaction.name)
127
+ }, {
128
+ default: vue.withCtx(() => [
129
+ vue.createElementVNode("div", _hoisted_8$1, [
130
+ subaction.icon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(subaction.icon), {
131
+ key: 0,
132
+ class: "h-4 w-4"
133
+ })) : vue.createCommentVNode("", true),
134
+ vue.createElementVNode("div", null, vue.toDisplayString(subaction.label), 1)
135
+ ])
136
+ ]),
137
+ _: 2
138
+ }, 1032, ["onClick"])
139
+ ]);
140
+ }), 128))
141
+ ])
142
+ ]),
143
+ default: vue.withCtx(() => [
144
+ vue.createVNode(pBtn, {
145
+ size: "sm",
146
+ type: "secondary-ghost-dark"
147
+ }, {
148
+ default: vue.withCtx(() => [
149
+ vue.createElementVNode("div", _hoisted_6$4, [
150
+ actionOrMenu.icon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(actionOrMenu.icon), {
151
+ key: 0,
152
+ class: "h-4 w-4"
153
+ })) : vue.createCommentVNode("", true),
154
+ vue.createElementVNode("div", null, vue.toDisplayString(actionOrMenu.label), 1)
155
+ ])
156
+ ]),
157
+ _: 2
158
+ }, 1024)
159
+ ]),
160
+ _: 2
161
+ }, 1024))
162
+ ], 64);
163
+ }), 128))
164
+ ])
165
+ ]);
166
+ };
167
+ }
168
+ });
64
169
  const _imports_0$1 = "data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.8335%206.25016L10.0002%202.0835L14.1668%206.25016'%20stroke='%23767189'%20stroke-width='1.25'%20/%3e%3cpath%20d='M10%202.0835V13.7502'%20stroke='%23767189'%20stroke-width='1.25'%20/%3e%3cpath%20d='M2.91675%2015V18.3333H17.0834V15'%20stroke='%23767189'%20stroke-width='1.25'%20/%3e%3c/svg%3e";
65
170
  const _imports_1$1 = "data:image/svg+xml,%3csvg%20width='48'%20height='48'%20viewBox='0%200%2048%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M33%2012H14V44H42V21L33%2012Z'%20stroke='%231A123B'%20stroke-width='3'%20/%3e%3cpath%20d='M9%2036H6V4H25L28%207'%20stroke='%231A123B'%20stroke-width='3'%20/%3e%3cpath%20d='M37%2030H19M28%2021V39'%20stroke='%231A123B'%20stroke-width='3'%20/%3e%3c/svg%3e";
66
171
  const _withScopeId = (n) => (vue.pushScopeId("data-v-d07a8f64"), n = n(), vue.popScopeId(), n);
@@ -927,17 +1032,16 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
927
1032
  }
928
1033
  const pTableSort = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render]]);
929
1034
  exports.config = config.config;
930
- exports.PActionBar = pActionBar_vue_vue_type_script_setup_true_lang._sfc_main;
1035
+ exports.PBtn = pBtn;
1036
+ exports.PCloseBtn = pCloseBtn;
1037
+ exports.PDropdown = pDropdown;
931
1038
  exports.PAlert = pAlert;
932
1039
  exports.PAvatar = pAvatar;
933
- exports.PBtn = pBtn;
934
1040
  exports.PCard = pCard_vue_vue_type_script_setup_true_lang._sfc_main;
935
1041
  exports.PCheckbox = pCheckbox_vue_vue_type_script_setup_true_lang._sfc_main;
936
1042
  exports.PChips = pChips;
937
- exports.PCloseBtn = pCloseBtn;
938
1043
  exports.PDatePicker = pDatePicker;
939
1044
  exports.PDrawer = pDrawer;
940
- exports.PDropdown = pDropdown;
941
1045
  exports.PDropdownSelect = pDropdownSelect_vue_vue_type_script_setup_true_lang._sfc_main;
942
1046
  exports.useInputClasses = useInputClasses.useInputClasses;
943
1047
  exports.PFilterIcon = pTableFilterIcon;
@@ -1004,6 +1108,7 @@ exports.isVisible = dom.isVisible;
1004
1108
  exports.isObject = object.isObject;
1005
1109
  exports.setupListKeyboardNavigation = listKeyboardNavigation.setupListKeyboardNavigation;
1006
1110
  exports.toNumberOrNull = number.toNumberOrNull;
1111
+ exports.PActionBar = _sfc_main$4;
1007
1112
  exports.PFileUpload = pFileUpload;
1008
1113
  exports.PSelectList = _sfc_main$2;
1009
1114
  exports.PTable = pTable;
@@ -1,3 +1 @@
1
1
  "use strict";
2
- const pActionBar_vue_vue_type_script_setup_true_lang = require("./chunks/p-action-bar.js");
3
- module.exports = pActionBar_vue_vue_type_script_setup_true_lang._sfc_main;
@@ -410,6 +410,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
410
410
  }
411
411
  });
412
412
  export {
413
- _imports_0 as _,
414
- _sfc_main as a
413
+ _sfc_main as _,
414
+ _imports_0 as a
415
415
  };
package/dist/es/index.js CHANGED
@@ -1,35 +1,34 @@
1
1
  import { config } from "./config.js";
2
- import { _ } from "./chunks/p-action-bar.js";
2
+ import { defineComponent, openBlock, createElementBlock, createVNode, createElementVNode, toDisplayString, Fragment, renderList, createBlock, withCtx, resolveDynamicComponent, createCommentVNode, shallowRef, ref, computed, onMounted, normalizeClass, unref, withModifiers, createTextVNode, withDirectives, vShow, pushScopeId, popScopeId, useAttrs, resolveDirective, normalizeStyle, isRef, renderSlot, provide, onBeforeUnmount, watch, mergeProps, toHandlers } from "vue";
3
+ import PBtn from "./p-btn.js";
4
+ import PCloseBtn from "./p-close-btn.js";
5
+ import PDropdown from "./p-dropdown.js";
3
6
  import { default as default2 } from "./p-alert.js";
4
7
  import { default as default3 } from "./p-avatar.js";
5
- import { default as default4 } from "./p-btn.js";
6
- import { _ as _2 } from "./chunks/p-card.js";
7
- import { _ as _3 } from "./chunks/p-checkbox.js";
8
- import { default as default5 } from "./p-chips.js";
9
- import { default as default6 } from "./p-close-btn.js";
10
- import { default as default7 } from "./p-date-picker.js";
11
- import { default as default8 } from "./p-drawer.js";
12
- import { default as default9 } from "./p-dropdown.js";
13
- import { _ as _imports_0$2 } from "./chunks/p-dropdown-select.js";
14
- import { a } from "./chunks/p-dropdown-select.js";
15
- import { defineComponent, shallowRef, ref, computed, onMounted, openBlock, createElementBlock, normalizeClass, unref, toDisplayString, createCommentVNode, createElementVNode, withModifiers, createTextVNode, Fragment, renderList, withDirectives, vShow, pushScopeId, popScopeId, useAttrs, resolveDirective, normalizeStyle, createVNode, isRef, renderSlot, provide, onBeforeUnmount, watch, mergeProps, toHandlers } from "vue";
8
+ import { _ } from "./chunks/p-card.js";
9
+ import { _ as _2 } from "./chunks/p-checkbox.js";
10
+ import { default as default4 } from "./p-chips.js";
11
+ import { default as default5 } from "./p-date-picker.js";
12
+ import { default as default6 } from "./p-drawer.js";
13
+ import { a as _imports_0$2 } from "./chunks/p-dropdown-select.js";
14
+ import { _ as _3 } from "./chunks/p-dropdown-select.js";
16
15
  import { formatBytes, getFileExtension } from "./p-file-upload.js";
17
16
  import { uniq, kebabCase } from "lodash-es";
18
17
  import { useInputClasses } from "./useInputClasses.js";
19
18
  import { useToast } from "vue-toastification";
20
19
  import { _ as _export_sfc } from "./chunks/_plugin-vue_export-helper.js";
21
- import { default as default10 } from "./p-table-filter-icon.js";
22
- import { default as default11 } from "./p-info-icon.js";
23
- import { default as default12 } from "./p-inline-date-picker.js";
24
- import { default as default13 } from "./p-input.js";
25
- import { default as default14 } from "./p-input-number.js";
20
+ import { default as default7 } from "./p-table-filter-icon.js";
21
+ import { default as default8 } from "./p-info-icon.js";
22
+ import { default as default9 } from "./p-inline-date-picker.js";
23
+ import { default as default10 } from "./p-input.js";
24
+ import { default as default11 } from "./p-input-number.js";
26
25
  import { _ as _4 } from "./chunks/p-input-percent.js";
27
26
  import PInputSearch from "./p-input-search.js";
28
- import { default as default15 } from "./p-loading.js";
29
- import { default as default16 } from "./p-modal.js";
27
+ import { default as default12 } from "./p-loading.js";
28
+ import { default as default13 } from "./p-modal.js";
30
29
  import { _ as _5 } from "./chunks/p-pagination.js";
31
30
  import { _ as _6 } from "./chunks/p-pagination-info.js";
32
- import { default as default17 } from "./p-progress-bar.js";
31
+ import { default as default14 } from "./p-progress-bar.js";
33
32
  import { _ as _7 } from "./chunks/p-ring-loader.js";
34
33
  import { _ as _8 } from "./chunks/p-select.js";
35
34
  import { _ as _9 } from "./chunks/p-select-btn.js";
@@ -37,22 +36,22 @@ import { SIZES } from "./p-select-list.js";
37
36
  import { splitStringForHighlight } from "./text.js";
38
37
  import { toString } from "./string.js";
39
38
  import { useSelectList } from "./useSelectList.js";
40
- import { default as default18 } from "./p-select-pill.js";
41
- import { default as default19 } from "./p-skeleton-loader.js";
39
+ import { default as default15 } from "./p-select-pill.js";
40
+ import { default as default16 } from "./p-skeleton-loader.js";
42
41
  import PTableHeaderCell from "./p-table-header-cell.js";
43
42
  import { colsInjectionKey, isFirstColFixedInjectionKey, isLastColFixedInjectionKey, isColsResizableInjectionKey } from "./p-table.js";
44
43
  import { MIN_WIDTH_COL_RESIZE } from "./p-table.js";
45
44
  import { usePTableColResize } from "./usePTableColResize.js";
46
45
  import { _ as _10 } from "./chunks/p-table-loader.js";
47
46
  import { SORTING_TYPES } from "./p-table-sort.js";
48
- import { default as default20 } from "./p-table-td.js";
47
+ import { default as default17 } from "./p-table-td.js";
49
48
  import { _ as _11 } from "./chunks/p-tabs.js";
50
- import { default as default21 } from "./p-textarea.js";
51
- import { default as default22 } from "./p-toggle.js";
49
+ import { default as default18 } from "./p-textarea.js";
50
+ import { default as default19 } from "./p-toggle.js";
52
51
  import { usePLoading } from "./usePLoading.js";
53
52
  import { usePModal } from "./usePModal.js";
54
53
  import { usePTableRowVirtualizer } from "./usePTableRowVirtualizer.js";
55
- import { default as default23 } from "./inputClassesMixin.js";
54
+ import { default as default20 } from "./inputClassesMixin.js";
56
55
  import { CURRENCY_INPUT_DEFAULTS } from "./currency.js";
57
56
  import { getColor, getColorDeep, getScreen } from "./tailwind.js";
58
57
  import { ERROR_MSG, INPUT_BASE, INPUT_ERROR, INPUT_NORMAL, INPUT_SIZES, LABEL_BASE, LABEL_REQUIRED, LABEL_SIZES, SELECT_ARROW, SELECT_BASE, SELECT_SIZES, SPACING_LEFT, SPACING_PREFIX, SPACING_RIGHT, SPACING_SUFFIX, TEXTAREA_BASE } from "./inputClassesShared.js";
@@ -61,6 +60,112 @@ import { getNextActiveElement, isElement, isVisible } from "./dom.js";
61
60
  import { isObject } from "./object.js";
62
61
  import { setupListKeyboardNavigation } from "./listKeyboardNavigation.js";
63
62
  import { toNumberOrNull } from "./number.js";
63
+ const _hoisted_1$4 = {
64
+ class: "fixed bottom-6 left-1/2 flex h-12 -translate-x-1/2 select-none flex-row items-center rounded-lg bg-p-purple-60 px-2 text-sm font-medium text-white",
65
+ role: "alertdialog"
66
+ };
67
+ const _hoisted_2$4 = { class: "px-3" };
68
+ const _hoisted_3$4 = /* @__PURE__ */ createElementVNode("div", { class: "mx-4 h-9 w-0.5 rounded bg-p-purple-50" }, null, -1);
69
+ const _hoisted_4$4 = { class: "flex" };
70
+ const _hoisted_5$4 = { class: "flex items-center gap-2 px-1 py-0.5" };
71
+ const _hoisted_6$4 = { class: "flex items-center gap-2 px-1 py-0.5" };
72
+ const _hoisted_7$3 = { class: "flex flex-col bg-p-purple-60" };
73
+ const _hoisted_8$1 = { class: "flex items-center gap-2 px-1 py-0.5" };
74
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
75
+ __name: "p-action-bar",
76
+ props: {
77
+ label: {},
78
+ actions: {}
79
+ },
80
+ emits: ["click:dismiss", "click:action"],
81
+ setup(__props) {
82
+ return (_ctx, _cache) => {
83
+ return openBlock(), createElementBlock("div", _hoisted_1$4, [
84
+ createVNode(PCloseBtn, {
85
+ variant: "dark",
86
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click:dismiss"))
87
+ }),
88
+ createElementVNode("p", _hoisted_2$4, toDisplayString(_ctx.label), 1),
89
+ _hoisted_3$4,
90
+ createElementVNode("div", _hoisted_4$4, [
91
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.actions, (actionOrMenu) => {
92
+ return openBlock(), createElementBlock(Fragment, {
93
+ key: `action-${actionOrMenu.label}`
94
+ }, [
95
+ !actionOrMenu.subActions ? (openBlock(), createBlock(PBtn, {
96
+ key: 0,
97
+ size: "sm",
98
+ type: "secondary-ghost-dark",
99
+ onClick: ($event) => _ctx.$emit("click:action", actionOrMenu.name)
100
+ }, {
101
+ default: withCtx(() => [
102
+ createElementVNode("div", _hoisted_5$4, [
103
+ actionOrMenu.icon ? (openBlock(), createBlock(resolveDynamicComponent(actionOrMenu.icon), {
104
+ key: 0,
105
+ class: "h-4 w-4"
106
+ })) : createCommentVNode("", true),
107
+ createElementVNode("div", null, toDisplayString(actionOrMenu.label), 1)
108
+ ])
109
+ ]),
110
+ _: 2
111
+ }, 1032, ["onClick"])) : (openBlock(), createBlock(PDropdown, {
112
+ key: 1,
113
+ placement: "top",
114
+ strategy: "fixed"
115
+ }, {
116
+ popper: withCtx(() => [
117
+ createElementVNode("div", _hoisted_7$3, [
118
+ (openBlock(true), createElementBlock(Fragment, null, renderList(actionOrMenu.subActions, (subaction) => {
119
+ return openBlock(), createElementBlock("div", {
120
+ key: `subaction-${subaction.name}`
121
+ }, [
122
+ createVNode(PBtn, {
123
+ size: "sm",
124
+ class: "w-full",
125
+ type: "secondary-ghost-dark",
126
+ onClick: ($event) => _ctx.$emit("click:action", subaction.name)
127
+ }, {
128
+ default: withCtx(() => [
129
+ createElementVNode("div", _hoisted_8$1, [
130
+ subaction.icon ? (openBlock(), createBlock(resolveDynamicComponent(subaction.icon), {
131
+ key: 0,
132
+ class: "h-4 w-4"
133
+ })) : createCommentVNode("", true),
134
+ createElementVNode("div", null, toDisplayString(subaction.label), 1)
135
+ ])
136
+ ]),
137
+ _: 2
138
+ }, 1032, ["onClick"])
139
+ ]);
140
+ }), 128))
141
+ ])
142
+ ]),
143
+ default: withCtx(() => [
144
+ createVNode(PBtn, {
145
+ size: "sm",
146
+ type: "secondary-ghost-dark"
147
+ }, {
148
+ default: withCtx(() => [
149
+ createElementVNode("div", _hoisted_6$4, [
150
+ actionOrMenu.icon ? (openBlock(), createBlock(resolveDynamicComponent(actionOrMenu.icon), {
151
+ key: 0,
152
+ class: "h-4 w-4"
153
+ })) : createCommentVNode("", true),
154
+ createElementVNode("div", null, toDisplayString(actionOrMenu.label), 1)
155
+ ])
156
+ ]),
157
+ _: 2
158
+ }, 1024)
159
+ ]),
160
+ _: 2
161
+ }, 1024))
162
+ ], 64);
163
+ }), 128))
164
+ ])
165
+ ]);
166
+ };
167
+ }
168
+ });
64
169
  const _imports_0$1 = "data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.8335%206.25016L10.0002%202.0835L14.1668%206.25016'%20stroke='%23767189'%20stroke-width='1.25'%20/%3e%3cpath%20d='M10%202.0835V13.7502'%20stroke='%23767189'%20stroke-width='1.25'%20/%3e%3cpath%20d='M2.91675%2015V18.3333H17.0834V15'%20stroke='%23767189'%20stroke-width='1.25'%20/%3e%3c/svg%3e";
65
170
  const _imports_1$1 = "data:image/svg+xml,%3csvg%20width='48'%20height='48'%20viewBox='0%200%2048%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M33%2012H14V44H42V21L33%2012Z'%20stroke='%231A123B'%20stroke-width='3'%20/%3e%3cpath%20d='M9%2036H6V4H25L28%207'%20stroke='%231A123B'%20stroke-width='3'%20/%3e%3cpath%20d='M37%2030H19M28%2021V39'%20stroke='%231A123B'%20stroke-width='3'%20/%3e%3c/svg%3e";
66
171
  const _withScopeId = (n) => (pushScopeId("data-v-d07a8f64"), n = n(), popScopeId(), n);
@@ -937,45 +1042,45 @@ export {
937
1042
  LABEL_REQUIRED,
938
1043
  LABEL_SIZES,
939
1044
  MIN_WIDTH_COL_RESIZE,
940
- _ as PActionBar,
1045
+ _sfc_main$4 as PActionBar,
941
1046
  default2 as PAlert,
942
1047
  default3 as PAvatar,
943
- default4 as PBtn,
944
- _2 as PCard,
945
- _3 as PCheckbox,
946
- default5 as PChips,
947
- default6 as PCloseBtn,
948
- default7 as PDatePicker,
949
- default8 as PDrawer,
950
- default9 as PDropdown,
951
- a as PDropdownSelect,
1048
+ PBtn,
1049
+ _ as PCard,
1050
+ _2 as PCheckbox,
1051
+ default4 as PChips,
1052
+ PCloseBtn,
1053
+ default5 as PDatePicker,
1054
+ default6 as PDrawer,
1055
+ PDropdown,
1056
+ _3 as PDropdownSelect,
952
1057
  pFileUpload as PFileUpload,
953
- default10 as PFilterIcon,
954
- default11 as PInfoIcon,
955
- default12 as PInlineDatePicker,
956
- default13 as PInput,
957
- default14 as PInputNumber,
1058
+ default7 as PFilterIcon,
1059
+ default8 as PInfoIcon,
1060
+ default9 as PInlineDatePicker,
1061
+ default10 as PInput,
1062
+ default11 as PInputNumber,
958
1063
  _4 as PInputPercent,
959
1064
  PInputSearch,
960
- default15 as PLoading,
961
- default16 as PModal,
1065
+ default12 as PLoading,
1066
+ default13 as PModal,
962
1067
  _5 as PPagination,
963
1068
  _6 as PPaginationInfo,
964
- default17 as PProgressBar,
1069
+ default14 as PProgressBar,
965
1070
  _7 as PRingLoader,
966
1071
  _8 as PSelect,
967
1072
  _9 as PSelectBtn,
968
1073
  _sfc_main$2 as PSelectList,
969
- default18 as PSelectPill,
970
- default19 as PSkeletonLoader,
1074
+ default15 as PSelectPill,
1075
+ default16 as PSkeletonLoader,
971
1076
  pTable as PTable,
972
1077
  PTableHeaderCell,
973
1078
  _10 as PTableLoader,
974
1079
  pTableSort as PTableSort,
975
- default20 as PTableTd,
1080
+ default17 as PTableTd,
976
1081
  _11 as PTabs,
977
- default21 as PTextarea,
978
- default22 as PToggle,
1082
+ default18 as PTextarea,
1083
+ default19 as PToggle,
979
1084
  SELECT_ARROW,
980
1085
  SELECT_BASE,
981
1086
  SELECT_SIZES,
@@ -992,7 +1097,7 @@ export {
992
1097
  getColorDeep,
993
1098
  getNextActiveElement,
994
1099
  getScreen,
995
- default23 as inputClassesMixin,
1100
+ default20 as inputClassesMixin,
996
1101
  isColsResizableInjectionKey,
997
1102
  isElement,
998
1103
  isFirstColFixedInjectionKey,
@@ -1,4 +1 @@
1
- import { _ as _sfc_main } from "./chunks/p-action-bar.js";
2
- export {
3
- _sfc_main as default
4
- };
1
+
@@ -1,4 +1,4 @@
1
- import { a as _sfc_main } from "./chunks/p-dropdown-select.js";
1
+ import { _ as _sfc_main } from "./chunks/p-dropdown-select.js";
2
2
  export {
3
3
  _sfc_main as default
4
4
  };
@@ -39,6 +39,7 @@ import PTextarea from './p-textarea/p-textarea.vue';
39
39
  import PToggle from './p-toggle/p-toggle.vue';
40
40
  import { type FileUploadFile } from './p-file-upload/p-file-upload.types';
41
41
  import { type HeaderCellAttrs, MIN_WIDTH_COL_RESIZE, type TableCol, type ThAttrs, colsInjectionKey, isColsResizableInjectionKey, isFirstColFixedInjectionKey, isLastColFixedInjectionKey } from './p-table/p-table.types';
42
+ import { type PActionBarAction } from './p-action-bar/p-action-bar.types';
42
43
  import { SORTING_TYPES, type SortingType, type SortingTypeWithoutNoSorting } from './p-table-sort/p-table-sort.config';
43
44
  import { type Size } from './p-btn/p-btn.types';
44
45
  import { usePLoading } from './p-loading/usePLoading';
@@ -46,4 +47,4 @@ import { usePModal } from './p-modal/usePModal';
46
47
  import { usePTableColResize } from './p-table/usePTableColResize';
47
48
  import { usePTableRowVirtualizer } from './p-table/usePTableRowVirtualizer';
48
49
  import { useSelectList } from './p-select-list/useSelectList';
49
- export { PActionBar, PAlert, PAvatar, PBtn, PCard, PCheckbox, PChips, PCloseBtn, PDatePicker, PDrawer, PDropdown, PDropdownSelect, PFileUpload, PFilterIcon, PInfoIcon, PInlineDatePicker, PInput, PInputNumber, PInputPercent, PInputSearch, PLoading, PModal, PPagination, PPaginationInfo, PProgressBar, PRingLoader, PSelect, PSelectBtn, PSelectList, PSelectPill, PSkeletonLoader, PTable, PTableHeaderCell, PTableLoader, PTableSort, PTableTd, PTabs, PTextarea, PToggle, SORTING_TYPES, MIN_WIDTH_COL_RESIZE, colsInjectionKey, isColsResizableInjectionKey, isFirstColFixedInjectionKey, isLastColFixedInjectionKey, usePModal, usePTableColResize, usePTableRowVirtualizer, useSelectList, usePLoading, SortingType, SortingTypeWithoutNoSorting, Size, FileUploadFile, HeaderCellAttrs, TableCol, ThAttrs, };
50
+ export { PActionBar, PActionBarAction, PAlert, PAvatar, PBtn, PCard, PCheckbox, PChips, PCloseBtn, PDatePicker, PDrawer, PDropdown, PDropdownSelect, PFileUpload, PFilterIcon, PInfoIcon, PInlineDatePicker, PInput, PInputNumber, PInputPercent, PInputSearch, PLoading, PModal, PPagination, PPaginationInfo, PProgressBar, PRingLoader, PSelect, PSelectBtn, PSelectList, PSelectPill, PSkeletonLoader, PTable, PTableHeaderCell, PTableLoader, PTableSort, PTableTd, PTabs, PTextarea, PToggle, SORTING_TYPES, MIN_WIDTH_COL_RESIZE, colsInjectionKey, isColsResizableInjectionKey, isFirstColFixedInjectionKey, isLastColFixedInjectionKey, usePModal, usePTableColResize, usePTableRowVirtualizer, useSelectList, usePLoading, SortingType, SortingTypeWithoutNoSorting, Size, FileUploadFile, HeaderCellAttrs, TableCol, ThAttrs, };
@@ -0,0 +1,10 @@
1
+ export type PActionBarAction = {
2
+ name?: string;
3
+ label: string;
4
+ icon?: string;
5
+ subActions?: {
6
+ name: string;
7
+ label: string;
8
+ icon?: string;
9
+ }[];
10
+ };
@@ -1,35 +1,23 @@
1
- import { type PropType } from 'vue';
2
- declare const _default: import("vue").DefineComponent<{
3
- label: {
4
- type: StringConstructor;
5
- required: true;
6
- };
7
- actions: {
8
- type: PropType<{
9
- name: string;
10
- label: string;
11
- icon?: string | undefined;
12
- }[]>;
13
- required: true;
14
- };
15
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
16
- "click:dismiss": (...args: any[]) => void;
17
- "click:action": (...args: any[]) => void;
18
- }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
- label: {
20
- type: StringConstructor;
21
- required: true;
22
- };
23
- actions: {
24
- type: PropType<{
25
- name: string;
26
- label: string;
27
- icon?: string | undefined;
28
- }[]>;
29
- required: true;
30
- };
31
- }>> & {
32
- "onClick:dismiss"?: ((...args: any[]) => any) | undefined;
33
- "onClick:action"?: ((...args: any[]) => any) | undefined;
1
+ import { type PActionBarAction } from './p-action-bar.types';
2
+ type Props = {
3
+ label: string;
4
+ actions: PActionBarAction[];
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<Props>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ "click:dismiss": () => void;
8
+ "click:action": (value: string | undefined) => void;
9
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<Props>>> & {
10
+ "onClick:dismiss"?: (() => any) | undefined;
11
+ "onClick:action"?: ((value: string | undefined) => any) | undefined;
34
12
  }, {}, {}>;
35
13
  export default _default;
14
+
15
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
16
+ type __VLS_TypePropsToOption<T> = {
17
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
18
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
19
+ } : {
20
+ type: import('vue').PropType<T[K]>;
21
+ required: true;
22
+ };
23
+ };
@@ -79,7 +79,7 @@ declare const _default: import("vue").DefineComponent<{
79
79
  rounded: boolean;
80
80
  required: boolean;
81
81
  errorMsg: string;
82
- }, {}>, import("vue").ComponentOptionsMixin, ("update:modelValue" | "change")[], "update:modelValue" | "change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
82
+ }, {}>, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
83
83
  modelValue: {
84
84
  type: PropType<string | number | null | undefined>;
85
85
  default: null;
@@ -1,4 +1,4 @@
1
- import '@squirrel/assets/squirrel.css';
1
+ import './assets/squirrel.css';
2
2
  export * from './tailwind/config';
3
3
  export * from './components';
4
4
  export * from './composables';
package/dist/style.css CHANGED
@@ -1,14 +1,48 @@
1
1
 
2
+ .shadow-inner-toggle[data-v-3a6de4eb]::after {
3
+ box-shadow:
4
+ rgba(0, 0, 0, 0.3) 0px 1px 2px 0px,
5
+ rgba(0, 0, 0, 0.05) 0px 0px 1px 0px inset;
6
+ }
7
+ .td-shadow-right[data-v-09e6d191] {
8
+ box-shadow: -1px 1px 5px 4px rgba(0, 0, 0, 0.15);
9
+ clip-path: inset(0px -12px 0px 0px);
10
+ }
11
+ .td-shadow-left[data-v-09e6d191] {
12
+ box-shadow: -2px 1px 8px rgba(0, 0, 0, 0.15);
13
+ clip-path: inset(0px 0px 0px -12px);
14
+ }
15
+ .td-col-fixed-border-b[data-v-09e6d191]::after {
16
+ position: absolute;
17
+ bottom: 0px;
18
+ left: 0px;
19
+ height: 1px;
20
+ width: 100%;
21
+ background-color: var(--color-p-gray-30);
22
+ --tw-content: "";
23
+ content: var(--tw-content);
24
+ }.filter[data-v-cbac2434] {
25
+ background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M15.5%206.73H4.5C4.36739%206.73%204.24021%206.67732%204.14645%206.58355C4.05268%206.48978%204%206.3626%204%206.23C4%206.09739%204.05268%205.97021%204.14645%205.87644C4.24021%205.78267%204.36739%205.73%204.5%205.73H15.5C15.6326%205.73%2015.7598%205.78267%2015.8536%205.87644C15.9473%205.97021%2016%206.09739%2016%206.23C16%206.3626%2015.9473%206.48978%2015.8536%206.58355C15.7598%206.67732%2015.6326%206.73%2015.5%206.73Z'%20fill='%23424E6E'/%3e%3cpath%20d='M14.33%209.245H5.67C5.53739%209.245%205.41021%209.19232%205.31644%209.09855C5.22268%209.00478%205.17%208.8776%205.17%208.745C5.17%208.61239%205.22268%208.48521%205.31644%208.39144C5.41021%208.29767%205.53739%208.245%205.67%208.245H14.33C14.4626%208.245%2014.5898%208.29767%2014.6836%208.39144C14.7773%208.48521%2014.83%208.61239%2014.83%208.745C14.83%208.8776%2014.7773%209.00478%2014.6836%209.09855C14.5898%209.19232%2014.4626%209.245%2014.33%209.245Z'%20fill='%23424E6E'/%3e%3cpath%20d='M11.605%2014.27H8.395C8.2624%2014.27%208.13522%2014.2173%208.04145%2014.1235C7.94768%2014.0298%207.895%2013.9026%207.895%2013.77C7.895%2013.6374%207.94768%2013.5102%208.04145%2013.4164C8.13522%2013.3227%208.2624%2013.27%208.395%2013.27H11.605C11.7376%2013.27%2011.8648%2013.3227%2011.9586%2013.4164C12.0523%2013.5102%2012.105%2013.6374%2012.105%2013.77C12.105%2013.9026%2012.0523%2014.0298%2011.9586%2014.1235C11.8648%2014.2173%2011.7376%2014.27%2011.605%2014.27Z'%20fill='%23424E6E'/%3e%3cpath%20d='M13.155%2011.755H6.845C6.71239%2011.755%206.58522%2011.7023%206.49145%2011.6085C6.39768%2011.5148%206.345%2011.3876%206.345%2011.255C6.345%2011.1224%206.39768%2010.9952%206.49145%2010.9014C6.58522%2010.8077%206.71239%2010.755%206.845%2010.755H13.155C13.2876%2010.755%2013.4148%2010.8077%2013.5086%2010.9014C13.6023%2010.9952%2013.655%2011.1224%2013.655%2011.255C13.655%2011.3876%2013.6023%2011.5148%2013.5086%2011.6085C13.4148%2011.7023%2013.2876%2011.755%2013.155%2011.755Z'%20fill='%23424E6E'/%3e%3c/svg%3e") no-repeat;
26
+ }
27
+ .filter[data-v-cbac2434]:hover {
28
+ background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='20'%20height='20'%20rx='4'%20fill='black'%20fill-opacity='0.05'/%3e%3cpath%20d='M15.5%206.73001H4.5C4.36739%206.73001%204.24021%206.67733%204.14645%206.58356C4.05268%206.4898%204%206.36262%204%206.23001C4%206.0974%204.05268%205.97023%204.14645%205.87646C4.24021%205.78269%204.36739%205.73001%204.5%205.73001H15.5C15.6326%205.73001%2015.7598%205.78269%2015.8536%205.87646C15.9473%205.97023%2016%206.0974%2016%206.23001C16%206.36262%2015.9473%206.4898%2015.8536%206.58356C15.7598%206.67733%2015.6326%206.73001%2015.5%206.73001Z'%20fill='%23424E6E'/%3e%3cpath%20d='M14.33%209.24503H5.67C5.53739%209.24503%205.41021%209.19235%205.31644%209.09858C5.22268%209.00481%205.17%208.87763%205.17%208.74503C5.17%208.61242%205.22268%208.48524%205.31644%208.39147C5.41021%208.2977%205.53739%208.24503%205.67%208.24503H14.33C14.4626%208.24503%2014.5898%208.2977%2014.6836%208.39147C14.7773%208.48524%2014.83%208.61242%2014.83%208.74503C14.83%208.87763%2014.7773%209.00481%2014.6836%209.09858C14.5898%209.19235%2014.4626%209.24503%2014.33%209.24503Z'%20fill='%23424E6E'/%3e%3cpath%20d='M11.605%2014.27H8.395C8.2624%2014.27%208.13522%2014.2173%208.04145%2014.1236C7.94768%2014.0298%207.895%2013.9026%207.895%2013.77C7.895%2013.6374%207.94768%2013.5102%208.04145%2013.4165C8.13522%2013.3227%208.2624%2013.27%208.395%2013.27H11.605C11.7376%2013.27%2011.8648%2013.3227%2011.9586%2013.4165C12.0523%2013.5102%2012.105%2013.6374%2012.105%2013.77C12.105%2013.9026%2012.0523%2014.0298%2011.9586%2014.1236C11.8648%2014.2173%2011.7376%2014.27%2011.605%2014.27Z'%20fill='%23424E6E'/%3e%3cpath%20d='M13.155%2011.755H6.845C6.71239%2011.755%206.58522%2011.7023%206.49145%2011.6086C6.39768%2011.5148%206.345%2011.3876%206.345%2011.255C6.345%2011.1224%206.39768%2010.9952%206.49145%2010.9015C6.58522%2010.8077%206.71239%2010.755%206.845%2010.755H13.155C13.2876%2010.755%2013.4148%2010.8077%2013.5086%2010.9015C13.6023%2010.9952%2013.655%2011.1224%2013.655%2011.255C13.655%2011.3876%2013.6023%2011.5148%2013.5086%2011.6086C13.4148%2011.7023%2013.2876%2011.755%2013.155%2011.755Z'%20fill='%23424E6E'/%3e%3c/svg%3e") no-repeat;
29
+ }
30
+ .filter.active[data-v-cbac2434] {
31
+ background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M15.5%206.72998H4.5C4.36739%206.72998%204.24021%206.6773%204.14645%206.58353C4.05268%206.48977%204%206.36259%204%206.22998C4%206.09737%204.05268%205.9702%204.14645%205.87643C4.24021%205.78266%204.36739%205.72998%204.5%205.72998H15.5C15.6326%205.72998%2015.7598%205.78266%2015.8536%205.87643C15.9473%205.9702%2016%206.09737%2016%206.22998C16%206.36259%2015.9473%206.48977%2015.8536%206.58353C15.7598%206.6773%2015.6326%206.72998%2015.5%206.72998Z'%20fill='%230F45AF'/%3e%3cpath%20d='M14.33%209.245H5.67C5.53739%209.245%205.41021%209.19232%205.31644%209.09855C5.22268%209.00478%205.17%208.8776%205.17%208.745C5.17%208.61239%205.22268%208.48521%205.31644%208.39144C5.41021%208.29767%205.53739%208.245%205.67%208.245H14.33C14.4626%208.245%2014.5898%208.29767%2014.6836%208.39144C14.7773%208.48521%2014.83%208.61239%2014.83%208.745C14.83%208.8776%2014.7773%209.00478%2014.6836%209.09855C14.5898%209.19232%2014.4626%209.245%2014.33%209.245Z'%20fill='%230F45AF'/%3e%3cpath%20d='M11.605%2014.27H8.395C8.2624%2014.27%208.13522%2014.2173%208.04145%2014.1235C7.94768%2014.0297%207.895%2013.9026%207.895%2013.77C7.895%2013.6374%207.94768%2013.5102%208.04145%2013.4164C8.13522%2013.3226%208.2624%2013.27%208.395%2013.27H11.605C11.7376%2013.27%2011.8648%2013.3226%2011.9586%2013.4164C12.0523%2013.5102%2012.105%2013.6374%2012.105%2013.77C12.105%2013.9026%2012.0523%2014.0297%2011.9586%2014.1235C11.8648%2014.2173%2011.7376%2014.27%2011.605%2014.27Z'%20fill='%230F45AF'/%3e%3cpath%20d='M13.155%2011.755H6.845C6.71239%2011.755%206.58522%2011.7023%206.49145%2011.6086C6.39768%2011.5148%206.345%2011.3876%206.345%2011.255C6.345%2011.1224%206.39768%2010.9952%206.49145%2010.9015C6.58522%2010.8077%206.71239%2010.755%206.845%2010.755H13.155C13.2876%2010.755%2013.4148%2010.8077%2013.5086%2010.9015C13.6023%2010.9952%2013.655%2011.1224%2013.655%2011.255C13.655%2011.3876%2013.6023%2011.5148%2013.5086%2011.6086C13.4148%2011.7023%2013.2876%2011.755%2013.155%2011.755Z'%20fill='%230F45AF'/%3e%3c/svg%3e") no-repeat;
32
+ }
33
+ .filter.active[data-v-cbac2434]:hover {
34
+ background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='20'%20height='20'%20rx='4'%20fill='black'%20fill-opacity='0.05'/%3e%3cpath%20d='M15.5%206.72998H4.5C4.36739%206.72998%204.24021%206.6773%204.14645%206.58353C4.05268%206.48977%204%206.36259%204%206.22998C4%206.09737%204.05268%205.9702%204.14645%205.87643C4.24021%205.78266%204.36739%205.72998%204.5%205.72998H15.5C15.6326%205.72998%2015.7598%205.78266%2015.8536%205.87643C15.9473%205.9702%2016%206.09737%2016%206.22998C16%206.36259%2015.9473%206.48977%2015.8536%206.58353C15.7598%206.6773%2015.6326%206.72998%2015.5%206.72998Z'%20fill='%230F45AF'/%3e%3cpath%20d='M14.33%209.245H5.67C5.53739%209.245%205.41021%209.19232%205.31644%209.09855C5.22268%209.00478%205.17%208.8776%205.17%208.745C5.17%208.61239%205.22268%208.48521%205.31644%208.39144C5.41021%208.29767%205.53739%208.245%205.67%208.245H14.33C14.4626%208.245%2014.5898%208.29767%2014.6836%208.39144C14.7773%208.48521%2014.83%208.61239%2014.83%208.745C14.83%208.8776%2014.7773%209.00478%2014.6836%209.09855C14.5898%209.19232%2014.4626%209.245%2014.33%209.245Z'%20fill='%230F45AF'/%3e%3cpath%20d='M11.605%2014.27H8.395C8.2624%2014.27%208.13522%2014.2173%208.04145%2014.1235C7.94768%2014.0297%207.895%2013.9026%207.895%2013.77C7.895%2013.6374%207.94768%2013.5102%208.04145%2013.4164C8.13522%2013.3226%208.2624%2013.27%208.395%2013.27H11.605C11.7376%2013.27%2011.8648%2013.3226%2011.9586%2013.4164C12.0523%2013.5102%2012.105%2013.6374%2012.105%2013.77C12.105%2013.9026%2012.0523%2014.0297%2011.9586%2014.1235C11.8648%2014.2173%2011.7376%2014.27%2011.605%2014.27Z'%20fill='%230F45AF'/%3e%3cpath%20d='M13.155%2011.755H6.845C6.71239%2011.755%206.58522%2011.7023%206.49145%2011.6086C6.39768%2011.5148%206.345%2011.3876%206.345%2011.255C6.345%2011.1224%206.39768%2010.9952%206.49145%2010.9015C6.58522%2010.8077%206.71239%2010.755%206.845%2010.755H13.155C13.2876%2010.755%2013.4148%2010.8077%2013.5086%2010.9015C13.6023%2010.9952%2013.655%2011.1224%2013.655%2011.255C13.655%2011.3876%2013.6023%2011.5148%2013.5086%2011.6086C13.4148%2011.7023%2013.2876%2011.755%2013.155%2011.755Z'%20fill='%230F45AF'/%3e%3c/svg%3e") no-repeat;
35
+ }
36
+ .bg-cross[data-v-cb511035] {
37
+ background-image: url("data:image/svg+xml,%3csvg%20width='6'%20height='6'%20viewBox='0%200%206%206'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_2511_8629)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3%203.51667L5.42083%205.9375L5.9375%205.42083L3.51667%203L5.9375%200.57917L5.42083%200.0625L3%202.48333L0.57917%200.0625L0.0625%200.57917L2.48333%203L0.0625%205.42083L0.57917%205.9375L3%203.51667Z'%20fill='%231A123B'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2511_8629'%3e%3crect%20width='6'%20height='6'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
38
+ }
39
+
2
40
  .x-black-icon[data-v-f61993bb] {
3
41
  background-image: url("data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Remove'%20clip-path='url(%23clip0_3453_5756)'%3e%3cpath%20id='Vector'%20d='M0.219996%2010.72C0.149851%2010.7893%200.0941591%2010.8718%200.0561487%2010.9628C0.0181382%2011.0537%20-0.00143433%2011.1514%20-0.00143433%2011.25C-0.00143433%2011.3486%200.0181382%2011.4462%200.0561487%2011.5372C0.0941591%2011.6281%200.149851%2011.7107%200.219996%2011.78C0.360622%2011.9204%200.551246%2011.9993%200.749996%2011.9993C0.948747%2011.9993%201.13937%2011.9204%201.28%2011.78L5.91%207.14997C5.92166%207.13787%205.93564%207.12825%205.9511%207.12168C5.96656%207.1151%205.98319%207.11172%206%207.11172C6.0168%207.11172%206.03343%207.1151%206.04889%207.12168C6.06436%207.12825%206.07834%207.13787%206.09%207.14997L10.72%2011.78C10.8606%2011.9204%2011.0512%2011.9993%2011.25%2011.9993C11.4487%2011.9993%2011.6394%2011.9204%2011.78%2011.78C11.8501%2011.7107%2011.9058%2011.6281%2011.9438%2011.5372C11.9819%2011.4462%2012.0014%2011.3486%2012.0014%2011.25C12.0014%2011.1514%2011.9819%2011.0537%2011.9438%2010.9628C11.9058%2010.8718%2011.8501%2010.7893%2011.78%2010.72L7.15%206.08997C7.1379%206.07831%207.12828%206.06433%207.1217%206.04886C7.11513%206.0334%207.11174%206.01677%207.11174%205.99997C7.11174%205.98317%207.11513%205.96654%207.1217%205.95107C7.12828%205.93561%207.1379%205.92163%207.15%205.90997L11.78%201.27997C11.9125%201.13779%2011.9846%200.949747%2011.9812%200.755446C11.9777%200.561145%2011.899%200.37576%2011.7616%200.238347C11.6242%200.100934%2011.4388%200.0222218%2011.2445%200.0187936C11.0502%200.0153654%2010.8622%200.0874886%2010.72%200.219969L6.09%204.84997C6.07834%204.86207%206.06436%204.87169%206.04889%204.87826C6.03343%204.88483%206.0168%204.88822%206%204.88822C5.98319%204.88822%205.96656%204.88483%205.9511%204.87826C5.93564%204.87169%205.92166%204.86207%205.91%204.84997L1.28%200.219969C1.13782%200.0874886%200.949775%200.0153654%200.755474%200.0187936C0.561173%200.0222218%200.375787%200.100934%200.238374%200.238347C0.100961%200.37576%200.0222494%200.561145%200.0188212%200.755446C0.015393%200.949747%200.0875162%201.13779%200.219996%201.27997L4.85%205.90997C4.86209%205.92163%204.87172%205.93561%204.87829%205.95107C4.88486%205.96654%204.88825%205.98317%204.88825%205.99997C4.88825%206.01677%204.88486%206.0334%204.87829%206.04886C4.87172%206.06433%204.86209%206.07831%204.85%206.08997L0.219996%2010.72Z'%20fill='%231A123B'%20/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_3453_5756'%3e%3crect%20width='12'%20height='12'%20fill='white'%20/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
4
42
  }
5
43
  .x-white-icon[data-v-f61993bb] {
6
44
  background-image: url("data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Remove'%20clip-path='url(%23clip0_3453_5756)'%3e%3cpath%20id='Vector'%20d='M0.219996%2010.72C0.149851%2010.7893%200.0941591%2010.8718%200.0561487%2010.9628C0.0181382%2011.0537%20-0.00143433%2011.1514%20-0.00143433%2011.25C-0.00143433%2011.3486%200.0181382%2011.4462%200.0561487%2011.5372C0.0941591%2011.6281%200.149851%2011.7107%200.219996%2011.78C0.360622%2011.9204%200.551246%2011.9993%200.749996%2011.9993C0.948747%2011.9993%201.13937%2011.9204%201.28%2011.78L5.91%207.14997C5.92166%207.13787%205.93564%207.12825%205.9511%207.12168C5.96656%207.1151%205.98319%207.11172%206%207.11172C6.0168%207.11172%206.03343%207.1151%206.04889%207.12168C6.06436%207.12825%206.07834%207.13787%206.09%207.14997L10.72%2011.78C10.8606%2011.9204%2011.0512%2011.9993%2011.25%2011.9993C11.4487%2011.9993%2011.6394%2011.9204%2011.78%2011.78C11.8501%2011.7107%2011.9058%2011.6281%2011.9438%2011.5372C11.9819%2011.4462%2012.0014%2011.3486%2012.0014%2011.25C12.0014%2011.1514%2011.9819%2011.0537%2011.9438%2010.9628C11.9058%2010.8718%2011.8501%2010.7893%2011.78%2010.72L7.15%206.08997C7.1379%206.07831%207.12828%206.06433%207.1217%206.04886C7.11513%206.0334%207.11174%206.01677%207.11174%205.99997C7.11174%205.98317%207.11513%205.96654%207.1217%205.95107C7.12828%205.93561%207.1379%205.92163%207.15%205.90997L11.78%201.27997C11.9125%201.13779%2011.9846%200.949747%2011.9812%200.755446C11.9777%200.561145%2011.899%200.37576%2011.7616%200.238347C11.6242%200.100934%2011.4388%200.0222218%2011.2445%200.0187936C11.0502%200.0153654%2010.8622%200.0874886%2010.72%200.219969L6.09%204.84997C6.07834%204.86207%206.06436%204.87169%206.04889%204.87826C6.03343%204.88483%206.0168%204.88822%206%204.88822C5.98319%204.88822%205.96656%204.88483%205.9511%204.87826C5.93564%204.87169%205.92166%204.86207%205.91%204.84997L1.28%200.219969C1.13782%200.0874886%200.949775%200.0153654%200.755474%200.0187936C0.561173%200.0222218%200.375787%200.100934%200.238374%200.238347C0.100961%200.37576%200.0222494%200.561145%200.0188212%200.755446C0.015393%200.949747%200.0875162%201.13779%200.219996%201.27997L4.85%205.90997C4.86209%205.92163%204.87172%205.93561%204.87829%205.95107C4.88486%205.96654%204.88825%205.98317%204.88825%205.99997C4.88825%206.01677%204.88486%206.0334%204.87829%206.04886C4.87172%206.06433%204.86209%206.07831%204.85%206.08997L0.219996%2010.72Z'%20fill='%23FFFFFF'%20/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_3453_5756'%3e%3crect%20width='12'%20height='12'%20fill='white'%20/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
7
45
  }
8
-
9
- .bg-cross[data-v-cb511035] {
10
- background-image: url("data:image/svg+xml,%3csvg%20width='6'%20height='6'%20viewBox='0%200%206%206'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_2511_8629)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M3%203.51667L5.42083%205.9375L5.9375%205.42083L3.51667%203L5.9375%200.57917L5.42083%200.0625L3%202.48333L0.57917%200.0625L0.0625%200.57917L2.48333%203L0.0625%205.42083L0.57917%205.9375L3%203.51667Z'%20fill='%231A123B'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_2511_8629'%3e%3crect%20width='6'%20height='6'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
11
- }
12
46
  .drawer[data-v-f474eec2] {
13
47
  position: fixed;
14
48
  bottom: 0px;
@@ -255,7 +289,11 @@ div[id^=popper_].dropdown .v-popper__inner .dropdown-menu .dropdown-divider {
255
289
  border-color: var(--color-p-gray-30);
256
290
 
257
291
  opacity: 1
258
- }.icon.clear[data-v-7a1e1e82] {
292
+ }
293
+ .bg-info-circle-icon[data-v-189b159e] {
294
+ background-image: url("data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_4002_33291)'%3e%3cpath%20d='M0.5%206C0.5%207.45869%201.07946%208.85764%202.11091%209.88909C3.14236%2010.9205%204.54131%2011.5%206%2011.5C7.45869%2011.5%208.85764%2010.9205%209.88909%209.88909C10.9205%208.85764%2011.5%207.45869%2011.5%206C11.5%204.54131%2010.9205%203.14236%209.88909%202.11091C8.85764%201.07946%207.45869%200.5%206%200.5C4.54131%200.5%203.14236%201.07946%202.11091%202.11091C1.07946%203.14236%200.5%204.54131%200.5%206Z'%20stroke='%231A123B'%20stroke-miterlimit='10'/%3e%3cpath%20d='M6.5%203.5H5.5V2.5H6.5V3.5Z'%20fill='%231A123B'/%3e%3cpath%20d='M4.5%205H6V9M4.5%208.5H7.5'%20stroke='%231A123B'%20stroke-miterlimit='10'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_4002_33291'%3e%3crect%20width='12'%20height='12'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
295
+ }
296
+ .icon.clear[data-v-7a1e1e82] {
259
297
  background-image: url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1634_880)'%3e%3cpath%20d='M16%208C16%206.41775%2015.5308%204.87104%2014.6518%203.55544C13.7727%202.23985%2012.5233%201.21447%2011.0615%200.608967C9.59966%200.00346629%207.99113%20-0.15496%206.43928%200.153721C4.88743%200.462403%203.46197%201.22433%202.34315%202.34315C1.22433%203.46197%200.462403%204.88743%200.153721%206.43928C-0.15496%207.99113%200.00346629%209.59966%200.608967%2011.0615C1.21447%2012.5233%202.23985%2013.7727%203.55544%2014.6518C4.87104%2015.5308%206.41775%2016%208%2016C10.1217%2016%2012.1566%2015.1571%2013.6569%2013.6569C15.1571%2012.1566%2016%2010.1217%2016%208ZM11.14%2010.1867C11.2642%2010.3116%2011.3339%2010.4805%2011.3339%2010.6567C11.3339%2010.8328%2011.2642%2011.0018%2011.14%2011.1267C11.078%2011.1892%2011.0043%2011.2388%2010.9231%2011.2726C10.8418%2011.3064%2010.7547%2011.3239%2010.6667%2011.3239C10.5787%2011.3239%2010.4915%2011.3064%2010.4103%2011.2726C10.329%2011.2388%2010.2553%2011.1892%2010.1933%2011.1267L8.12%209.05334C8.08809%209.02429%208.04649%209.0082%208.00334%209.0082C7.96019%209.0082%207.91858%209.02429%207.88667%209.05334L5.81334%2011.1267C5.6858%2011.2359%205.52175%2011.293%205.35397%2011.2865C5.18618%2011.28%205.02702%2011.2104%204.90829%2011.0917C4.78957%2010.973%204.72001%2010.8138%204.71353%2010.646C4.70705%2010.4783%204.76412%2010.3142%204.87334%2010.1867L6.94667%208.11334C6.97572%208.08142%206.99181%208.03982%206.99181%207.99667C6.99181%207.95352%206.97572%207.91192%206.94667%207.88L4.87334%205.80667C4.81085%205.7447%204.76126%205.67096%204.72741%205.58972C4.69356%205.50848%204.67614%205.42135%204.67614%205.33334C4.67614%205.24533%204.69356%205.15819%204.72741%205.07695C4.76126%204.99571%204.81085%204.92198%204.87334%204.86C4.99825%204.73584%205.16721%204.66614%205.34334%204.66614C5.51946%204.66614%205.68843%204.73584%205.81334%204.86L7.88667%206.93334C7.90163%206.94928%207.91971%206.96199%207.93977%206.97068C7.95984%206.97936%207.98147%206.98384%208.00334%206.98384C8.0252%206.98384%208.04684%206.97936%208.0669%206.97068C8.08697%206.96199%208.10504%206.94928%208.12%206.93334L10.1933%204.86C10.2555%204.79784%2010.3293%204.74854%2010.4105%204.7149C10.4917%204.68126%2010.5788%204.66394%2010.6667%204.66394C10.7546%204.66394%2010.8416%204.68126%2010.9228%204.7149C11.0041%204.74854%2011.0778%204.79784%2011.14%204.86C11.2022%204.92216%2011.2515%204.99596%2011.2851%205.07717C11.3188%205.15839%2011.3361%205.24543%2011.3361%205.33334C11.3361%205.42124%2011.3188%205.50829%2011.2851%205.5895C11.2515%205.67072%2011.2022%205.74451%2011.14%205.80667L9.06667%207.88C9.05073%207.89497%209.03802%207.91304%209.02933%207.93311C9.02065%207.95317%209.01616%207.97481%209.01616%207.99667C9.01616%208.01854%209.02065%208.04017%209.02933%208.06024C9.03802%208.0803%209.05073%208.09837%209.06667%208.11334L11.14%2010.1867Z'%20fill='%23A0AEC0'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1634_880'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
260
298
  background-position: center center;
261
299
  transition: background-image 0.4s;
@@ -331,22 +369,7 @@ div[id^=popper_].dropdown .v-popper__inner .dropdown-menu .dropdown-divider {
331
369
  height: 1.5rem;
332
370
  right: 2.5rem;
333
371
  bottom: 0.75rem;
334
- }.filter[data-v-cbac2434] {
335
- background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M15.5%206.73H4.5C4.36739%206.73%204.24021%206.67732%204.14645%206.58355C4.05268%206.48978%204%206.3626%204%206.23C4%206.09739%204.05268%205.97021%204.14645%205.87644C4.24021%205.78267%204.36739%205.73%204.5%205.73H15.5C15.6326%205.73%2015.7598%205.78267%2015.8536%205.87644C15.9473%205.97021%2016%206.09739%2016%206.23C16%206.3626%2015.9473%206.48978%2015.8536%206.58355C15.7598%206.67732%2015.6326%206.73%2015.5%206.73Z'%20fill='%23424E6E'/%3e%3cpath%20d='M14.33%209.245H5.67C5.53739%209.245%205.41021%209.19232%205.31644%209.09855C5.22268%209.00478%205.17%208.8776%205.17%208.745C5.17%208.61239%205.22268%208.48521%205.31644%208.39144C5.41021%208.29767%205.53739%208.245%205.67%208.245H14.33C14.4626%208.245%2014.5898%208.29767%2014.6836%208.39144C14.7773%208.48521%2014.83%208.61239%2014.83%208.745C14.83%208.8776%2014.7773%209.00478%2014.6836%209.09855C14.5898%209.19232%2014.4626%209.245%2014.33%209.245Z'%20fill='%23424E6E'/%3e%3cpath%20d='M11.605%2014.27H8.395C8.2624%2014.27%208.13522%2014.2173%208.04145%2014.1235C7.94768%2014.0298%207.895%2013.9026%207.895%2013.77C7.895%2013.6374%207.94768%2013.5102%208.04145%2013.4164C8.13522%2013.3227%208.2624%2013.27%208.395%2013.27H11.605C11.7376%2013.27%2011.8648%2013.3227%2011.9586%2013.4164C12.0523%2013.5102%2012.105%2013.6374%2012.105%2013.77C12.105%2013.9026%2012.0523%2014.0298%2011.9586%2014.1235C11.8648%2014.2173%2011.7376%2014.27%2011.605%2014.27Z'%20fill='%23424E6E'/%3e%3cpath%20d='M13.155%2011.755H6.845C6.71239%2011.755%206.58522%2011.7023%206.49145%2011.6085C6.39768%2011.5148%206.345%2011.3876%206.345%2011.255C6.345%2011.1224%206.39768%2010.9952%206.49145%2010.9014C6.58522%2010.8077%206.71239%2010.755%206.845%2010.755H13.155C13.2876%2010.755%2013.4148%2010.8077%2013.5086%2010.9014C13.6023%2010.9952%2013.655%2011.1224%2013.655%2011.255C13.655%2011.3876%2013.6023%2011.5148%2013.5086%2011.6085C13.4148%2011.7023%2013.2876%2011.755%2013.155%2011.755Z'%20fill='%23424E6E'/%3e%3c/svg%3e") no-repeat;
336
- }
337
- .filter[data-v-cbac2434]:hover {
338
- background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='20'%20height='20'%20rx='4'%20fill='black'%20fill-opacity='0.05'/%3e%3cpath%20d='M15.5%206.73001H4.5C4.36739%206.73001%204.24021%206.67733%204.14645%206.58356C4.05268%206.4898%204%206.36262%204%206.23001C4%206.0974%204.05268%205.97023%204.14645%205.87646C4.24021%205.78269%204.36739%205.73001%204.5%205.73001H15.5C15.6326%205.73001%2015.7598%205.78269%2015.8536%205.87646C15.9473%205.97023%2016%206.0974%2016%206.23001C16%206.36262%2015.9473%206.4898%2015.8536%206.58356C15.7598%206.67733%2015.6326%206.73001%2015.5%206.73001Z'%20fill='%23424E6E'/%3e%3cpath%20d='M14.33%209.24503H5.67C5.53739%209.24503%205.41021%209.19235%205.31644%209.09858C5.22268%209.00481%205.17%208.87763%205.17%208.74503C5.17%208.61242%205.22268%208.48524%205.31644%208.39147C5.41021%208.2977%205.53739%208.24503%205.67%208.24503H14.33C14.4626%208.24503%2014.5898%208.2977%2014.6836%208.39147C14.7773%208.48524%2014.83%208.61242%2014.83%208.74503C14.83%208.87763%2014.7773%209.00481%2014.6836%209.09858C14.5898%209.19235%2014.4626%209.24503%2014.33%209.24503Z'%20fill='%23424E6E'/%3e%3cpath%20d='M11.605%2014.27H8.395C8.2624%2014.27%208.13522%2014.2173%208.04145%2014.1236C7.94768%2014.0298%207.895%2013.9026%207.895%2013.77C7.895%2013.6374%207.94768%2013.5102%208.04145%2013.4165C8.13522%2013.3227%208.2624%2013.27%208.395%2013.27H11.605C11.7376%2013.27%2011.8648%2013.3227%2011.9586%2013.4165C12.0523%2013.5102%2012.105%2013.6374%2012.105%2013.77C12.105%2013.9026%2012.0523%2014.0298%2011.9586%2014.1236C11.8648%2014.2173%2011.7376%2014.27%2011.605%2014.27Z'%20fill='%23424E6E'/%3e%3cpath%20d='M13.155%2011.755H6.845C6.71239%2011.755%206.58522%2011.7023%206.49145%2011.6086C6.39768%2011.5148%206.345%2011.3876%206.345%2011.255C6.345%2011.1224%206.39768%2010.9952%206.49145%2010.9015C6.58522%2010.8077%206.71239%2010.755%206.845%2010.755H13.155C13.2876%2010.755%2013.4148%2010.8077%2013.5086%2010.9015C13.6023%2010.9952%2013.655%2011.1224%2013.655%2011.255C13.655%2011.3876%2013.6023%2011.5148%2013.5086%2011.6086C13.4148%2011.7023%2013.2876%2011.755%2013.155%2011.755Z'%20fill='%23424E6E'/%3e%3c/svg%3e") no-repeat;
339
- }
340
- .filter.active[data-v-cbac2434] {
341
- background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M15.5%206.72998H4.5C4.36739%206.72998%204.24021%206.6773%204.14645%206.58353C4.05268%206.48977%204%206.36259%204%206.22998C4%206.09737%204.05268%205.9702%204.14645%205.87643C4.24021%205.78266%204.36739%205.72998%204.5%205.72998H15.5C15.6326%205.72998%2015.7598%205.78266%2015.8536%205.87643C15.9473%205.9702%2016%206.09737%2016%206.22998C16%206.36259%2015.9473%206.48977%2015.8536%206.58353C15.7598%206.6773%2015.6326%206.72998%2015.5%206.72998Z'%20fill='%230F45AF'/%3e%3cpath%20d='M14.33%209.245H5.67C5.53739%209.245%205.41021%209.19232%205.31644%209.09855C5.22268%209.00478%205.17%208.8776%205.17%208.745C5.17%208.61239%205.22268%208.48521%205.31644%208.39144C5.41021%208.29767%205.53739%208.245%205.67%208.245H14.33C14.4626%208.245%2014.5898%208.29767%2014.6836%208.39144C14.7773%208.48521%2014.83%208.61239%2014.83%208.745C14.83%208.8776%2014.7773%209.00478%2014.6836%209.09855C14.5898%209.19232%2014.4626%209.245%2014.33%209.245Z'%20fill='%230F45AF'/%3e%3cpath%20d='M11.605%2014.27H8.395C8.2624%2014.27%208.13522%2014.2173%208.04145%2014.1235C7.94768%2014.0297%207.895%2013.9026%207.895%2013.77C7.895%2013.6374%207.94768%2013.5102%208.04145%2013.4164C8.13522%2013.3226%208.2624%2013.27%208.395%2013.27H11.605C11.7376%2013.27%2011.8648%2013.3226%2011.9586%2013.4164C12.0523%2013.5102%2012.105%2013.6374%2012.105%2013.77C12.105%2013.9026%2012.0523%2014.0297%2011.9586%2014.1235C11.8648%2014.2173%2011.7376%2014.27%2011.605%2014.27Z'%20fill='%230F45AF'/%3e%3cpath%20d='M13.155%2011.755H6.845C6.71239%2011.755%206.58522%2011.7023%206.49145%2011.6086C6.39768%2011.5148%206.345%2011.3876%206.345%2011.255C6.345%2011.1224%206.39768%2010.9952%206.49145%2010.9015C6.58522%2010.8077%206.71239%2010.755%206.845%2010.755H13.155C13.2876%2010.755%2013.4148%2010.8077%2013.5086%2010.9015C13.6023%2010.9952%2013.655%2011.1224%2013.655%2011.255C13.655%2011.3876%2013.6023%2011.5148%2013.5086%2011.6086C13.4148%2011.7023%2013.2876%2011.755%2013.155%2011.755Z'%20fill='%230F45AF'/%3e%3c/svg%3e") no-repeat;
342
- }
343
- .filter.active[data-v-cbac2434]:hover {
344
- background: url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='20'%20height='20'%20rx='4'%20fill='black'%20fill-opacity='0.05'/%3e%3cpath%20d='M15.5%206.72998H4.5C4.36739%206.72998%204.24021%206.6773%204.14645%206.58353C4.05268%206.48977%204%206.36259%204%206.22998C4%206.09737%204.05268%205.9702%204.14645%205.87643C4.24021%205.78266%204.36739%205.72998%204.5%205.72998H15.5C15.6326%205.72998%2015.7598%205.78266%2015.8536%205.87643C15.9473%205.9702%2016%206.09737%2016%206.22998C16%206.36259%2015.9473%206.48977%2015.8536%206.58353C15.7598%206.6773%2015.6326%206.72998%2015.5%206.72998Z'%20fill='%230F45AF'/%3e%3cpath%20d='M14.33%209.245H5.67C5.53739%209.245%205.41021%209.19232%205.31644%209.09855C5.22268%209.00478%205.17%208.8776%205.17%208.745C5.17%208.61239%205.22268%208.48521%205.31644%208.39144C5.41021%208.29767%205.53739%208.245%205.67%208.245H14.33C14.4626%208.245%2014.5898%208.29767%2014.6836%208.39144C14.7773%208.48521%2014.83%208.61239%2014.83%208.745C14.83%208.8776%2014.7773%209.00478%2014.6836%209.09855C14.5898%209.19232%2014.4626%209.245%2014.33%209.245Z'%20fill='%230F45AF'/%3e%3cpath%20d='M11.605%2014.27H8.395C8.2624%2014.27%208.13522%2014.2173%208.04145%2014.1235C7.94768%2014.0297%207.895%2013.9026%207.895%2013.77C7.895%2013.6374%207.94768%2013.5102%208.04145%2013.4164C8.13522%2013.3226%208.2624%2013.27%208.395%2013.27H11.605C11.7376%2013.27%2011.8648%2013.3226%2011.9586%2013.4164C12.0523%2013.5102%2012.105%2013.6374%2012.105%2013.77C12.105%2013.9026%2012.0523%2014.0297%2011.9586%2014.1235C11.8648%2014.2173%2011.7376%2014.27%2011.605%2014.27Z'%20fill='%230F45AF'/%3e%3cpath%20d='M13.155%2011.755H6.845C6.71239%2011.755%206.58522%2011.7023%206.49145%2011.6086C6.39768%2011.5148%206.345%2011.3876%206.345%2011.255C6.345%2011.1224%206.39768%2010.9952%206.49145%2010.9015C6.58522%2010.8077%206.71239%2010.755%206.845%2010.755H13.155C13.2876%2010.755%2013.4148%2010.8077%2013.5086%2010.9015C13.6023%2010.9952%2013.655%2011.1224%2013.655%2011.255C13.655%2011.3876%2013.6023%2011.5148%2013.5086%2011.6086C13.4148%2011.7023%2013.2876%2011.755%2013.155%2011.755Z'%20fill='%230F45AF'/%3e%3c/svg%3e") no-repeat;
345
- }
346
- .bg-info-circle-icon[data-v-189b159e] {
347
- background-image: url("data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_4002_33291)'%3e%3cpath%20d='M0.5%206C0.5%207.45869%201.07946%208.85764%202.11091%209.88909C3.14236%2010.9205%204.54131%2011.5%206%2011.5C7.45869%2011.5%208.85764%2010.9205%209.88909%209.88909C10.9205%208.85764%2011.5%207.45869%2011.5%206C11.5%204.54131%2010.9205%203.14236%209.88909%202.11091C8.85764%201.07946%207.45869%200.5%206%200.5C4.54131%200.5%203.14236%201.07946%202.11091%202.11091C1.07946%203.14236%200.5%204.54131%200.5%206Z'%20stroke='%231A123B'%20stroke-miterlimit='10'/%3e%3cpath%20d='M6.5%203.5H5.5V2.5H6.5V3.5Z'%20fill='%231A123B'/%3e%3cpath%20d='M4.5%205H6V9M4.5%208.5H7.5'%20stroke='%231A123B'%20stroke-miterlimit='10'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_4002_33291'%3e%3crect%20width='12'%20height='12'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
348
- }
349
- .fadeInDown[data-v-122d5e30] {
372
+ }.fadeInDown[data-v-122d5e30] {
350
373
  animation-duration: 0.4s;
351
374
  animation-fill-mode: both;
352
375
  animation-name: fadeInDown-122d5e30;
@@ -443,30 +466,7 @@ to {
443
466
  100% {
444
467
  transform: translateX(100%);
445
468
  }
446
- }.td-shadow-right[data-v-09e6d191] {
447
- box-shadow: -1px 1px 5px 4px rgba(0, 0, 0, 0.15);
448
- clip-path: inset(0px -12px 0px 0px);
449
- }
450
- .td-shadow-left[data-v-09e6d191] {
451
- box-shadow: -2px 1px 8px rgba(0, 0, 0, 0.15);
452
- clip-path: inset(0px 0px 0px -12px);
453
- }
454
- .td-col-fixed-border-b[data-v-09e6d191]::after {
455
- position: absolute;
456
- bottom: 0px;
457
- left: 0px;
458
- height: 1px;
459
- width: 100%;
460
- background-color: var(--color-p-gray-30);
461
- --tw-content: "";
462
- content: var(--tw-content);
463
- }
464
- .shadow-inner-toggle[data-v-3a6de4eb]::after {
465
- box-shadow:
466
- rgba(0, 0, 0, 0.3) 0px 1px 2px 0px,
467
- rgba(0, 0, 0, 0.05) 0px 0px 1px 0px inset;
468
- }
469
- .resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}/* sass-plugin-1:/Users/maronato/Developer/vue-toastification/src/scss/index.scss */.Vue-Toastification__container {
469
+ }.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}/* sass-plugin-1:/Users/maronato/Developer/vue-toastification/src/scss/index.scss */.Vue-Toastification__container {
470
470
  z-index: 9999;
471
471
  position: fixed;
472
472
  padding: 4px;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pequity/squirrel",
3
3
  "description": "Squirrel component library",
4
- "version": "1.0.29",
4
+ "version": "1.2.3",
5
5
  "packageManager": "pnpm@8.9.2",
6
6
  "type": "module",
7
7
  "scripts": {
@@ -50,27 +50,27 @@
50
50
  "vue-toastification": "^2.0.0-rc.5"
51
51
  },
52
52
  "devDependencies": {
53
- "@babel/core": "^7.24.5",
54
- "@babel/preset-env": "^7.24.5",
53
+ "@babel/core": "^7.24.6",
54
+ "@babel/preset-env": "^7.24.6",
55
55
  "@commitlint/cli": "^19.3.0",
56
56
  "@commitlint/config-conventional": "^19.2.2",
57
- "@pequity/eslint-config": "^0.0.12",
57
+ "@pequity/eslint-config": "^0.0.13",
58
58
  "@popperjs/core": "2.11.8",
59
59
  "@semantic-release/changelog": "^6.0.3",
60
60
  "@semantic-release/git": "^10.0.1",
61
- "@storybook/addon-a11y": "^8.1.0",
62
- "@storybook/addon-actions": "^8.1.0",
63
- "@storybook/addon-essentials": "^8.1.0",
64
- "@storybook/addon-interactions": "^8.1.0",
65
- "@storybook/addon-links": "^8.1.0",
66
- "@storybook/blocks": "^8.1.0",
61
+ "@storybook/addon-a11y": "^8.1.4",
62
+ "@storybook/addon-actions": "^8.1.4",
63
+ "@storybook/addon-essentials": "^8.1.4",
64
+ "@storybook/addon-interactions": "^8.1.4",
65
+ "@storybook/addon-links": "^8.1.4",
66
+ "@storybook/blocks": "^8.1.4",
67
67
  "@storybook/jest": "^0.2.3",
68
- "@storybook/manager-api": "^8.1.0",
69
- "@storybook/test-runner": "^0.18.0",
68
+ "@storybook/manager-api": "^8.1.4",
69
+ "@storybook/test-runner": "^0.18.1",
70
70
  "@storybook/testing-library": "^0.2.2",
71
- "@storybook/theming": "^8.1.0",
72
- "@storybook/vue3": "^8.1.0",
73
- "@storybook/vue3-vite": "^8.1.0",
71
+ "@storybook/theming": "^8.1.4",
72
+ "@storybook/vue3": "^8.1.4",
73
+ "@storybook/vue3-vite": "^8.1.4",
74
74
  "@tanstack/vue-virtual": "3.5.0",
75
75
  "@types/jest": "^29.5.12",
76
76
  "@types/jsdom": "^21.1.6",
@@ -86,31 +86,31 @@
86
86
  "eslint": "^8.57.0",
87
87
  "eslint-plugin-storybook": "^0.8.0",
88
88
  "floating-vue": "5.2.2",
89
- "glob": "^10.3.15",
89
+ "glob": "^10.4.1",
90
90
  "husky": "^9.0.11",
91
91
  "jest": "^29.7.0",
92
92
  "jest-environment-jsdom": "^29.7.0",
93
- "lint-staged": "^15.2.2",
93
+ "lint-staged": "^15.2.5",
94
94
  "lodash-es": "4.17.21",
95
95
  "make-coverage-badge": "^1.2.0",
96
96
  "postcss": "^8.4.38",
97
97
  "prettier": "^3.2.5",
98
98
  "prettier-plugin-tailwindcss": "^0.5.14",
99
- "resolve-tspaths": "^0.8.18",
99
+ "resolve-tspaths": "^0.8.19",
100
100
  "rimraf": "^5.0.7",
101
- "sass": "^1.77.1",
101
+ "sass": "^1.77.2",
102
102
  "semantic-release": "^23.1.1",
103
- "storybook": "^8.1.0",
103
+ "storybook": "^8.1.4",
104
104
  "svgo": "^3.3.2",
105
105
  "tailwindcss": "^3.4.3",
106
- "ts-jest": "^29.1.2",
106
+ "ts-jest": "^29.1.4",
107
107
  "typescript": "5.4.5",
108
108
  "v-calendar": "3.1.2",
109
- "vite": "^5.2.11",
109
+ "vite": "^5.2.12",
110
110
  "vue": "3.4.27",
111
111
  "vue-currency-input": "3.1.0",
112
112
  "vue-router": "4.3.2",
113
113
  "vue-toastification": "2.0.0-rc.5",
114
- "vue-tsc": "2.0.17"
114
+ "vue-tsc": "2.0.19"
115
115
  }
116
116
  }
@@ -48,6 +48,7 @@ import {
48
48
  isFirstColFixedInjectionKey,
49
49
  isLastColFixedInjectionKey,
50
50
  } from '@squirrel/components/p-table/p-table.types';
51
+ import { type PActionBarAction } from '@squirrel/components/p-action-bar/p-action-bar.types';
51
52
  import {
52
53
  SORTING_TYPES,
53
54
  type SortingType,
@@ -62,6 +63,7 @@ import { useSelectList } from '@squirrel/components/p-select-list/useSelectList'
62
63
 
63
64
  export {
64
65
  PActionBar,
66
+ PActionBarAction,
65
67
  PAlert,
66
68
  PAvatar,
67
69
  PBtn,
@@ -1,10 +1,49 @@
1
1
  import PActionBar from '@squirrel/components/p-action-bar/p-action-bar.vue';
2
2
  import { createWrapperFor } from '@tests/jest.helpers';
3
3
 
4
+ const createPDropdownStub = () => {
5
+ return {
6
+ name: 'PDropdownStub',
7
+ template: `
8
+ <div class="pdropdown-stub">
9
+ <slot></slot>
10
+ <div v-if="show" class="pdropdown-stub-popper">
11
+ <slot name="popper"></slot>
12
+ </div>
13
+ </div>`,
14
+ data() {
15
+ return {
16
+ show: false,
17
+ };
18
+ },
19
+ methods: {
20
+ toggleShow() {
21
+ this.show = !this.show;
22
+ },
23
+ },
24
+ async mounted() {
25
+ const btn = this.$el.querySelector('button');
26
+
27
+ btn.addEventListener('click', this.toggleShow);
28
+ },
29
+ beforeUnmount() {
30
+ const btn = this.$el.querySelector('button');
31
+
32
+ btn.removeEventListener('click', this.toggleShow);
33
+ },
34
+ };
35
+ };
36
+
4
37
  describe('PActionBar.vue', () => {
5
38
  it('renders correctly', async () => {
6
39
  const wrapper = createWrapperFor(PActionBar, {
7
- props: { label: 'Hello World', actions: [{ label: 'Say Hi', name: 'greet' }] },
40
+ props: {
41
+ label: 'Hello World',
42
+ actions: [
43
+ { label: 'Say Hi', name: 'greet' },
44
+ { label: 'Action menu', subActions: [{ label: 'Say Bye', name: 'bye' }] },
45
+ ],
46
+ },
8
47
  });
9
48
 
10
49
  const mainDiv = await wrapper.find('div.fixed');
@@ -70,13 +109,31 @@ describe('PActionBar.vue', () => {
70
109
 
71
110
  it('emits a click:action event with the correct name', async () => {
72
111
  const wrapper = createWrapperFor(PActionBar, {
73
- props: { label: 'Hello World', actions: [{ label: 'Say Hi', name: 'greet' }] },
112
+ props: {
113
+ label: 'Hello World',
114
+ actions: [
115
+ { label: 'Say Hi', name: 'greet' },
116
+ { label: 'Action menu', subActions: [{ label: 'Say Bye', name: 'bye' }] },
117
+ ],
118
+ },
119
+ global: {
120
+ stubs: {
121
+ PDropdown: createPDropdownStub(),
122
+ },
123
+ },
74
124
  });
75
125
 
76
126
  const button = await wrapper.findByText('Say Hi', 'button');
77
-
78
127
  await button.trigger('click');
79
128
 
80
129
  expect(wrapper.emitted()['click:action'][0]).toEqual(['greet']);
130
+
131
+ const actionMenu = await wrapper.findByText('Action menu', 'button');
132
+ await actionMenu.trigger('click');
133
+
134
+ const subAction = await wrapper.findByText('Say Bye', 'button');
135
+ await subAction.trigger('click');
136
+
137
+ expect(wrapper.emitted()['click:action'][1]).toEqual(['bye']);
81
138
  });
82
139
  });
@@ -1,5 +1,7 @@
1
1
  import FileUploadIcon from '@squirrel/assets/file-upload-upload-icon.svg?inline';
2
2
  import PActionBar from '@squirrel/components/p-action-bar/p-action-bar.vue';
3
+ import PaginateLeftIcon from '@squirrel/assets/pagination-left-icon.svg?inline';
4
+ import PaginateRightIcon from '@squirrel/assets/pagination-right-icon.svg?inline';
3
5
  import { action } from '@storybook/addon-actions';
4
6
  import { shallowRef } from 'vue';
5
7
 
@@ -39,6 +41,21 @@ export const Default = {
39
41
  label: 'Say Hi',
40
42
  name: 'greet',
41
43
  },
44
+ {
45
+ label: 'Action Menu',
46
+ subActions: [
47
+ {
48
+ label: 'Subaction 1',
49
+ name: 'subaction1',
50
+ icon: shallowRef(PaginateLeftIcon),
51
+ },
52
+ {
53
+ label: 'Subaction 2',
54
+ name: 'subaction2',
55
+ icon: shallowRef(PaginateRightIcon),
56
+ },
57
+ ],
58
+ },
42
59
  ],
43
60
  },
44
61
  };
@@ -0,0 +1,10 @@
1
+ export type PActionBarAction = {
2
+ name?: string;
3
+ label: string;
4
+ icon?: string;
5
+ subActions?: {
6
+ name: string;
7
+ label: string;
8
+ icon?: string;
9
+ }[];
10
+ };
@@ -7,18 +7,44 @@
7
7
  <p class="px-3">{{ label }}</p>
8
8
  <div class="mx-4 h-9 w-0.5 rounded bg-p-purple-50"></div>
9
9
  <div class="flex">
10
- <PBtn
11
- v-for="action in actions"
12
- :key="`action-${action.name}`"
13
- size="sm"
14
- type="secondary-ghost-dark"
15
- @click="$emit('click:action', action.name)"
16
- >
17
- <div class="flex items-center gap-2 px-1 py-0.5">
18
- <Component :is="action.icon" v-if="action.icon" class="h-4 w-4" />
19
- <div>{{ action.label }}</div>
20
- </div>
21
- </PBtn>
10
+ <template v-for="actionOrMenu in actions" :key="`action-${actionOrMenu.label}`">
11
+ <PBtn
12
+ v-if="!actionOrMenu.subActions"
13
+ size="sm"
14
+ type="secondary-ghost-dark"
15
+ @click="$emit('click:action', actionOrMenu.name)"
16
+ >
17
+ <div class="flex items-center gap-2 px-1 py-0.5">
18
+ <Component :is="actionOrMenu.icon" v-if="actionOrMenu.icon" class="h-4 w-4" />
19
+ <div>{{ actionOrMenu.label }}</div>
20
+ </div>
21
+ </PBtn>
22
+ <PDropdown v-else placement="top" strategy="fixed">
23
+ <PBtn size="sm" type="secondary-ghost-dark">
24
+ <div class="flex items-center gap-2 px-1 py-0.5">
25
+ <Component :is="actionOrMenu.icon" v-if="actionOrMenu.icon" class="h-4 w-4" />
26
+ <div>{{ actionOrMenu.label }}</div>
27
+ </div>
28
+ </PBtn>
29
+ <template #popper>
30
+ <div class="flex flex-col bg-p-purple-60">
31
+ <div v-for="subaction in actionOrMenu.subActions" :key="`subaction-${subaction.name}`">
32
+ <PBtn
33
+ size="sm"
34
+ class="w-full"
35
+ type="secondary-ghost-dark"
36
+ @click="$emit('click:action', subaction.name)"
37
+ >
38
+ <div class="flex items-center gap-2 px-1 py-0.5">
39
+ <Component :is="subaction.icon" v-if="subaction.icon" class="h-4 w-4" />
40
+ <div>{{ subaction.label }}</div>
41
+ </div>
42
+ </PBtn>
43
+ </div>
44
+ </div>
45
+ </template>
46
+ </PDropdown>
47
+ </template>
22
48
  </div>
23
49
  </div>
24
50
  </template>
@@ -26,18 +52,18 @@
26
52
  <script setup lang="ts">
27
53
  import PBtn from '@squirrel/components/p-btn/p-btn.vue';
28
54
  import PCloseBtn from '@squirrel/components/p-close-btn/p-close-btn.vue';
29
- import { type PropType } from 'vue';
55
+ import PDropdown from '@squirrel/components/p-dropdown/p-dropdown.vue';
56
+ import { type PActionBarAction } from '@squirrel/components/p-action-bar/p-action-bar.types';
30
57
 
31
- defineEmits(['click:dismiss', 'click:action']);
58
+ type Props = {
59
+ label: string;
60
+ actions: PActionBarAction[];
61
+ };
32
62
 
33
- defineProps({
34
- label: {
35
- type: String,
36
- required: true,
37
- },
38
- actions: {
39
- type: Array as PropType<{ name: string; label: string; icon?: string }[]>,
40
- required: true,
41
- },
42
- });
63
+ defineEmits<{
64
+ (e: 'click:dismiss'): void;
65
+ (e: 'click:action', value: PActionBarAction['name']): void;
66
+ }>();
67
+
68
+ defineProps<Props>();
43
69
  </script>
@@ -1,60 +0,0 @@
1
- "use strict";
2
- const vue = require("vue");
3
- const pBtn = require("../p-btn.js");
4
- const pCloseBtn = require("../p-close-btn.js");
5
- const _hoisted_1 = {
6
- class: "fixed bottom-6 left-1/2 flex h-12 -translate-x-1/2 select-none flex-row items-center rounded-lg bg-p-purple-60 px-2 text-sm font-medium text-white",
7
- role: "alertdialog"
8
- };
9
- const _hoisted_2 = { class: "px-3" };
10
- const _hoisted_3 = /* @__PURE__ */ vue.createElementVNode("div", { class: "mx-4 h-9 w-0.5 rounded bg-p-purple-50" }, null, -1);
11
- const _hoisted_4 = { class: "flex" };
12
- const _hoisted_5 = { class: "flex items-center gap-2 px-1 py-0.5" };
13
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
14
- __name: "p-action-bar",
15
- props: {
16
- label: {
17
- type: String,
18
- required: true
19
- },
20
- actions: {
21
- type: Array,
22
- required: true
23
- }
24
- },
25
- emits: ["click:dismiss", "click:action"],
26
- setup(__props) {
27
- return (_ctx, _cache) => {
28
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
29
- vue.createVNode(pCloseBtn, {
30
- variant: "dark",
31
- onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click:dismiss"))
32
- }),
33
- vue.createElementVNode("p", _hoisted_2, vue.toDisplayString(__props.label), 1),
34
- _hoisted_3,
35
- vue.createElementVNode("div", _hoisted_4, [
36
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.actions, (action) => {
37
- return vue.openBlock(), vue.createBlock(pBtn, {
38
- key: `action-${action.name}`,
39
- size: "sm",
40
- type: "secondary-ghost-dark",
41
- onClick: ($event) => _ctx.$emit("click:action", action.name)
42
- }, {
43
- default: vue.withCtx(() => [
44
- vue.createElementVNode("div", _hoisted_5, [
45
- action.icon ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(action.icon), {
46
- key: 0,
47
- class: "h-4 w-4"
48
- })) : vue.createCommentVNode("", true),
49
- vue.createElementVNode("div", null, vue.toDisplayString(action.label), 1)
50
- ])
51
- ]),
52
- _: 2
53
- }, 1032, ["onClick"]);
54
- }), 128))
55
- ])
56
- ]);
57
- };
58
- }
59
- });
60
- exports._sfc_main = _sfc_main;
@@ -1,61 +0,0 @@
1
- import { defineComponent, openBlock, createElementBlock, createVNode, createElementVNode, toDisplayString, Fragment, renderList, createBlock, withCtx, resolveDynamicComponent, createCommentVNode } from "vue";
2
- import PBtn from "../p-btn.js";
3
- import PCloseBtn from "../p-close-btn.js";
4
- const _hoisted_1 = {
5
- class: "fixed bottom-6 left-1/2 flex h-12 -translate-x-1/2 select-none flex-row items-center rounded-lg bg-p-purple-60 px-2 text-sm font-medium text-white",
6
- role: "alertdialog"
7
- };
8
- const _hoisted_2 = { class: "px-3" };
9
- const _hoisted_3 = /* @__PURE__ */ createElementVNode("div", { class: "mx-4 h-9 w-0.5 rounded bg-p-purple-50" }, null, -1);
10
- const _hoisted_4 = { class: "flex" };
11
- const _hoisted_5 = { class: "flex items-center gap-2 px-1 py-0.5" };
12
- const _sfc_main = /* @__PURE__ */ defineComponent({
13
- __name: "p-action-bar",
14
- props: {
15
- label: {
16
- type: String,
17
- required: true
18
- },
19
- actions: {
20
- type: Array,
21
- required: true
22
- }
23
- },
24
- emits: ["click:dismiss", "click:action"],
25
- setup(__props) {
26
- return (_ctx, _cache) => {
27
- return openBlock(), createElementBlock("div", _hoisted_1, [
28
- createVNode(PCloseBtn, {
29
- variant: "dark",
30
- onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click:dismiss"))
31
- }),
32
- createElementVNode("p", _hoisted_2, toDisplayString(__props.label), 1),
33
- _hoisted_3,
34
- createElementVNode("div", _hoisted_4, [
35
- (openBlock(true), createElementBlock(Fragment, null, renderList(__props.actions, (action) => {
36
- return openBlock(), createBlock(PBtn, {
37
- key: `action-${action.name}`,
38
- size: "sm",
39
- type: "secondary-ghost-dark",
40
- onClick: ($event) => _ctx.$emit("click:action", action.name)
41
- }, {
42
- default: withCtx(() => [
43
- createElementVNode("div", _hoisted_5, [
44
- action.icon ? (openBlock(), createBlock(resolveDynamicComponent(action.icon), {
45
- key: 0,
46
- class: "h-4 w-4"
47
- })) : createCommentVNode("", true),
48
- createElementVNode("div", null, toDisplayString(action.label), 1)
49
- ])
50
- ]),
51
- _: 2
52
- }, 1032, ["onClick"]);
53
- }), 128))
54
- ])
55
- ]);
56
- };
57
- }
58
- });
59
- export {
60
- _sfc_main as _
61
- };