@pequity/squirrel 6.0.8 → 6.0.10

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 (65) hide show
  1. package/dist/cjs/chunks/p-dropdown-select.js +4 -1
  2. package/dist/cjs/chunks/p-icon.js +24 -4
  3. package/dist/cjs/chunks/p-ring-loader.js +12 -65
  4. package/dist/cjs/p-btn.js +13 -21
  5. package/dist/cjs/p-loading.js +38 -4
  6. package/dist/es/chunks/p-action-bar.js +1 -1
  7. package/dist/es/chunks/p-card.js +1 -1
  8. package/dist/es/chunks/p-date-picker.js +1 -1
  9. package/dist/es/chunks/p-dropdown-select.js +5 -2
  10. package/dist/es/chunks/p-icon.js +25 -5
  11. package/dist/es/chunks/p-inline-date-picker.js +1 -1
  12. package/dist/es/chunks/p-input-percent.js +1 -1
  13. package/dist/es/chunks/p-link.js +1 -1
  14. package/dist/es/chunks/p-pagination-info.js +1 -1
  15. package/dist/es/chunks/p-pagination.js +1 -1
  16. package/dist/es/chunks/p-ring-loader.js +13 -66
  17. package/dist/es/chunks/p-select-btn.js +1 -1
  18. package/dist/es/chunks/p-select.js +1 -1
  19. package/dist/es/chunks/p-table-loader.js +1 -1
  20. package/dist/es/chunks/p-tabs.js +1 -1
  21. package/dist/es/index.js +1 -1
  22. package/dist/es/inputClassesMixin.js +1 -1
  23. package/dist/es/listKeyboardNavigation.js +1 -1
  24. package/dist/es/p-alert.js +1 -1
  25. package/dist/es/p-avatar.js +1 -1
  26. package/dist/es/p-btn.js +14 -22
  27. package/dist/es/p-checkbox.js +1 -1
  28. package/dist/es/p-chips.js +1 -1
  29. package/dist/es/p-close-btn.js +1 -1
  30. package/dist/es/p-drawer.js +1 -1
  31. package/dist/es/p-dropdown.js +1 -1
  32. package/dist/es/p-info-icon.js +1 -1
  33. package/dist/es/p-input-number.js +1 -1
  34. package/dist/es/p-input-search.js +1 -1
  35. package/dist/es/p-input.js +1 -1
  36. package/dist/es/p-loading.js +39 -5
  37. package/dist/es/p-modal.js +1 -1
  38. package/dist/es/p-progress-bar.js +1 -1
  39. package/dist/es/p-select-pill.js +1 -1
  40. package/dist/es/p-skeleton-loader.js +1 -1
  41. package/dist/es/p-table-filter-icon.js +1 -1
  42. package/dist/es/p-table-header-cell.js +1 -1
  43. package/dist/es/p-table-td.js +1 -1
  44. package/dist/es/p-textarea.js +1 -1
  45. package/dist/es/p-toggle.js +1 -1
  46. package/dist/es/useSelectList.js +1 -1
  47. package/dist/squirrel/components/p-alert/p-alert.vue.d.ts +1 -1
  48. package/dist/squirrel/components/p-btn/p-btn.vue.d.ts +10 -37
  49. package/dist/squirrel/components/p-date-picker/p-date-picker.vue.d.ts +1 -1
  50. package/dist/squirrel/components/p-drawer/p-drawer.vue.d.ts +7 -7
  51. package/dist/squirrel/components/p-inline-date-picker/p-inline-date-picker.vue.d.ts +1 -1
  52. package/dist/squirrel/components/p-modal/p-modal.vue.d.ts +1 -1
  53. package/dist/squirrel/components/p-ring-loader/p-ring-loader.vue.d.ts +6 -31
  54. package/dist/squirrel/components/p-table/p-table.vue.d.ts +2 -2
  55. package/dist/squirrel/components/p-table-header-cell/p-table-header-cell.vue.d.ts +1 -1
  56. package/dist/squirrel.css +6 -6
  57. package/package.json +28 -28
  58. package/squirrel/assets/p-loading-spinner.svg +9 -0
  59. package/squirrel/components/p-btn/p-btn.vue +12 -21
  60. package/squirrel/components/p-dropdown-select/p-dropdown-select.spec.js +36 -0
  61. package/squirrel/components/p-dropdown-select/p-dropdown-select.vue +8 -2
  62. package/squirrel/components/p-loading/p-loading.vue +4 -3
  63. package/squirrel/components/p-ring-loader/p-ring-loader.spec.js +14 -34
  64. package/squirrel/components/p-ring-loader/p-ring-loader.stories.js +0 -6
  65. package/squirrel/components/p-ring-loader/p-ring-loader.vue +13 -56
@@ -231,6 +231,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
231
231
  return rest;
232
232
  });
233
233
  const style = vue.computed(() => $attrs.style);
234
+ const selectableItemsCount = vue.computed(
235
+ () => internalItems.value.filter((item) => !isDisabled(item) || isSelected(item[props.itemValue])).length
236
+ );
234
237
  vue.watch(
235
238
  dropdownShow,
236
239
  (nV) => {
@@ -440,7 +443,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
440
443
  key: 1,
441
444
  item: __props.multiple ? vue.unref(selectedItems) : vue.unref(selectedItems)[0]
442
445
  }, () => [
443
- vue.createElementVNode("div", _hoisted_3, vue.toDisplayString(__props.multiple && vue.unref(selectedItems).length > 1 ? `${vue.unref(selectedItems).length} option${vue.unref(selectedItems).length > 1 ? "s" : ""} selected` : vue.unref(selectedItems)[0][__props.itemText]), 1)
446
+ vue.createElementVNode("div", _hoisted_3, vue.toDisplayString(__props.multiple ? vue.unref(selectedItems).length === selectableItemsCount.value ? "All options selected" : `${vue.unref(selectedItems).length} option${vue.unref(selectedItems).length > 1 ? "s" : ""} selected` : vue.unref(selectedItems)[0][__props.itemText]), 1)
444
447
  ]),
445
448
  __props.clearable && vue.unref(selectedItems).length ? (vue.openBlock(), vue.createElementBlock("button", {
446
449
  key: 2,
@@ -410,7 +410,6 @@ function addCollection$1(data, provider) {
410
410
  }
411
411
  const prefix = data.prefix;
412
412
  if (!validateIconName({
413
- provider,
414
413
  prefix,
415
414
  name: "a"
416
415
  })) {
@@ -1557,7 +1556,7 @@ function exportFunctions() {
1557
1556
  }
1558
1557
  }
1559
1558
  }
1560
- const _api = {
1559
+ const _api2 = {
1561
1560
  getAPIConfig,
1562
1561
  setAPIModule,
1563
1562
  sendAPIQuery,
@@ -1589,7 +1588,7 @@ function exportFunctions() {
1589
1588
  setCustomIconLoader: setCustomIconLoader$1,
1590
1589
  setCustomIconsLoader: setCustomIconsLoader$1,
1591
1590
  appendCustomStyle,
1592
- _api
1591
+ _api: _api2
1593
1592
  };
1594
1593
  }
1595
1594
  const monotoneProps = {
@@ -2069,7 +2068,28 @@ function defineIconifyIcon(name = "iconify-icon") {
2069
2068
  customElements.define(name, IconifyIcon);
2070
2069
  return IconifyIcon;
2071
2070
  }
2072
- defineIconifyIcon() || exportFunctions();
2071
+ const IconifyIconComponent = defineIconifyIcon() || exportFunctions();
2072
+ const {
2073
+ enableCache,
2074
+ disableCache,
2075
+ iconLoaded,
2076
+ iconExists,
2077
+ // deprecated, kept to avoid breaking changes
2078
+ getIcon,
2079
+ listIcons,
2080
+ addIcon,
2081
+ addCollection,
2082
+ calculateSize,
2083
+ buildIcon,
2084
+ iconToHTML,
2085
+ svgToURL,
2086
+ loadIcons,
2087
+ loadIcon,
2088
+ setCustomIconLoader,
2089
+ setCustomIconsLoader,
2090
+ addAPIProvider,
2091
+ _api
2092
+ } = IconifyIconComponent;
2073
2093
  const _hoisted_1 = ["icon"];
2074
2094
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
2075
2095
  ...{
@@ -1,80 +1,27 @@
1
1
  "use strict";
2
2
  const vue = require("vue");
3
- const tailwind = require("../tailwind.js");
4
- const INNER_DIV_CLASS = "block animate-spin absolute box-border rounded-full w-4/5 h-4/5 m-[10%]";
3
+ const pIcon_vue_vue_type_script_setup_true_lang = require("./p-icon.js");
5
4
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
6
5
  ...{
7
6
  name: "PRingLoader"
8
7
  },
9
8
  __name: "p-ring-loader",
10
9
  props: {
11
- size: {
12
- type: Number,
13
- default: 80
14
- },
15
- color: {
16
- type: String,
17
- default: tailwind.getColor("primary")
18
- },
19
- duration: {
20
- type: String,
21
- default: "1.2s",
22
- validator(value) {
23
- const res = /^\d*\.?\d+(s|ms)$/;
24
- return res.test(value);
25
- }
26
- }
10
+ size: { default: 80 },
11
+ color: { default: "var(--color-p-blue-60)" }
27
12
  },
28
13
  setup(__props) {
29
- const calcPropertyValue = (propName, originalValue, modificator) => {
30
- var _a, _b;
31
- const computedStyle = {};
32
- const timeQuantityOuter = (_a = originalValue.match(/^\d*\.?\d+/)) == null ? void 0 : _a[0];
33
- const timeUnit = ((_b = originalValue.match(/s|(ms)$/)) == null ? void 0 : _b[0]) || "s";
34
- const timeQuantityInner = Math.round(Number(timeQuantityOuter) * 1e3 * modificator) / 1e3;
35
- computedStyle[propName] = timeQuantityInner + timeUnit;
36
- return computedStyle;
37
- };
38
14
  const props = __props;
39
- const spinnerStyle = vue.computed(() => {
40
- return {
41
- borderWidth: `${props.size * 0.1}px`,
42
- borderColor: `${props.color} transparent transparent transparent`,
43
- animationDuration: props.duration,
44
- animationTimingFunction: "cubic-bezier(0.5, 0, 0.5, 1)"
45
- };
46
- });
47
- const animDiv1 = vue.computed(() => {
48
- return calcPropertyValue("animationDelay", props.duration, -0.375);
49
- });
50
- const animDiv2 = vue.computed(() => {
51
- return calcPropertyValue("animationDelay", props.duration, -0.25);
52
- });
53
- const animDiv3 = vue.computed(() => {
54
- return calcPropertyValue("animationDelay", props.duration, -0.125);
55
- });
15
+ const spinnerSize = vue.computed(() => props.size * 0.892);
16
+ const style = vue.computed(() => ({
17
+ color: props.color
18
+ }));
56
19
  return (_ctx, _cache) => {
57
- return vue.openBlock(), vue.createElementBlock("div", {
58
- class: "relative inline-block",
59
- style: vue.normalizeStyle({ width: `${__props.size}px`, height: `${__props.size}px` })
60
- }, [
61
- vue.createElementVNode("div", {
62
- class: vue.normalizeClass(INNER_DIV_CLASS),
63
- style: vue.normalizeStyle([spinnerStyle.value, animDiv1.value])
64
- }, null, 4),
65
- vue.createElementVNode("div", {
66
- class: vue.normalizeClass(INNER_DIV_CLASS),
67
- style: vue.normalizeStyle([spinnerStyle.value, animDiv2.value])
68
- }, null, 4),
69
- vue.createElementVNode("div", {
70
- class: vue.normalizeClass(INNER_DIV_CLASS),
71
- style: vue.normalizeStyle([spinnerStyle.value, animDiv3.value])
72
- }, null, 4),
73
- vue.createElementVNode("div", {
74
- class: vue.normalizeClass(INNER_DIV_CLASS),
75
- style: vue.normalizeStyle([spinnerStyle.value])
76
- }, null, 4)
77
- ], 4);
20
+ return vue.openBlock(), vue.createBlock(pIcon_vue_vue_type_script_setup_true_lang._sfc_main, {
21
+ icon: "svg-spinners:90-ring-with-bg",
22
+ width: spinnerSize.value,
23
+ style: vue.normalizeStyle(style.value)
24
+ }, null, 8, ["width", "style"]);
78
25
  };
79
26
  }
80
27
  });
package/dist/cjs/p-btn.js CHANGED
@@ -2,7 +2,6 @@
2
2
  const pRingLoader_vue_vue_type_script_setup_true_lang = require("./chunks/p-ring-loader.js");
3
3
  const link = require("./link.js");
4
4
  const sanitization = require("./sanitization.js");
5
- const tailwind = require("./tailwind.js");
6
5
  const vue = require("vue");
7
6
  const vueRouter = require("vue-router");
8
7
  const _pluginVue_exportHelper = require("./chunks/_plugin-vue_export-helper.js");
@@ -43,16 +42,16 @@ const LOADER_SIZES = {
43
42
  lg: 40
44
43
  };
45
44
  const LOADER_COLORS = {
46
- [BUTTON_TYPES.PRIMARY]: "p-blue-15",
47
- [BUTTON_TYPES.SECONDARY]: "p-purple-60",
48
- [BUTTON_TYPES.PRIMARY_OUTLINE]: "p-blue-60",
49
- [BUTTON_TYPES.SECONDARY_OUTLINE]: "p-purple-60",
50
- [BUTTON_TYPES.SECONDARY_OUTLINE_BLUE]: "p-purple-60",
51
- [BUTTON_TYPES.ERROR]: "p-blue-15",
52
- [BUTTON_TYPES.SUCCESS]: "p-blue-15",
53
- [BUTTON_TYPES.PRIMARY_LINK]: "p-blue-60",
54
- [BUTTON_TYPES.SECONDARY_GHOST]: "p-purple-60",
55
- [BUTTON_TYPES.SECONDARY_GHOST_DARK]: "p-blue-15"
45
+ [BUTTON_TYPES.PRIMARY]: "var(--color-p-blue-15)",
46
+ [BUTTON_TYPES.SECONDARY]: "var(--color-p-purple-60)",
47
+ [BUTTON_TYPES.PRIMARY_OUTLINE]: "var(--color-p-blue-60)",
48
+ [BUTTON_TYPES.SECONDARY_OUTLINE]: "var(--color-p-purple-60)",
49
+ [BUTTON_TYPES.SECONDARY_OUTLINE_BLUE]: "var(--color-p-purple-60)",
50
+ [BUTTON_TYPES.ERROR]: "var(--color-p-blue-15)",
51
+ [BUTTON_TYPES.SUCCESS]: "var(--color-p-blue-15)",
52
+ [BUTTON_TYPES.PRIMARY_LINK]: "var(--color-p-blue-60)",
53
+ [BUTTON_TYPES.SECONDARY_GHOST]: "var(--color-p-purple-60)",
54
+ [BUTTON_TYPES.SECONDARY_GHOST_DARK]: "var(--color-p-blue-15)"
56
55
  };
57
56
  const _sfc_main = vue.defineComponent({
58
57
  name: "PBtn",
@@ -115,11 +114,6 @@ const _sfc_main = vue.defineComponent({
115
114
  default: ""
116
115
  }
117
116
  },
118
- data() {
119
- return {
120
- loaderStyle: { position: "absolute" }
121
- };
122
- },
123
117
  computed: {
124
118
  classes() {
125
119
  return `${DEFAULT_CLASSES} ${BUTTON_SIZES[this.size]} ${BUTTON_CLASSES[this.type]}`;
@@ -128,8 +122,7 @@ const _sfc_main = vue.defineComponent({
128
122
  return Number(`${LOADER_SIZES[this.size]}`);
129
123
  },
130
124
  loaderColor() {
131
- const type = LOADER_COLORS[this.type];
132
- return tailwind.getColorDeep(type);
125
+ return LOADER_COLORS[this.type];
133
126
  }
134
127
  },
135
128
  methods: {
@@ -166,11 +159,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
166
159
  ], 2),
167
160
  _ctx.loading ? (vue.openBlock(), vue.createBlock(_component_PRingLoader, {
168
161
  key: 0,
169
- style: vue.normalizeStyle(_ctx.loaderStyle),
170
162
  color: _ctx.loaderColor,
171
163
  size: _ctx.loaderSize,
172
- class: "left-0 right-0 top-0 ml-auto mr-auto pt-1"
173
- }, null, 8, ["style", "color", "size"])) : vue.createCommentVNode("", true)
164
+ class: "absolute bottom-0 left-0 right-0 top-0 flex items-center justify-center"
165
+ }, null, 8, ["color", "size"])) : vue.createCommentVNode("", true)
174
166
  ]),
175
167
  _: 3
176
168
  }, 16, ["type", "to", "aria-selected", "class", "disabled", "aria-disabled"]));
@@ -3,6 +3,34 @@ const vue = require("vue");
3
3
  const usePLoading = require("./usePLoading.js");
4
4
  const component = require("./component.js");
5
5
  const _pluginVue_exportHelper = require("./chunks/_plugin-vue_export-helper.js");
6
+ const _hoisted_1$1 = {
7
+ xmlns: "http://www.w3.org/2000/svg",
8
+ width: "19",
9
+ height: "19",
10
+ viewBox: "0 0 24 24"
11
+ };
12
+ function render(_ctx, _cache) {
13
+ return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$1, _cache[0] || (_cache[0] = [
14
+ vue.createElementVNode("path", {
15
+ fill: "currentColor",
16
+ d: "M12 1a11 11 0 1 0 11 11A11 11 0 0 0 12 1m0 19a8 8 0 1 1 8-8 8 8 0 0 1-8 8",
17
+ opacity: ".25"
18
+ }, null, -1),
19
+ vue.createElementVNode("path", {
20
+ fill: "currentColor",
21
+ d: "M10.14 1.16a11 11 0 0 0-9 8.92A1.59 1.59 0 0 0 2.46 12a1.52 1.52 0 0 0 1.65-1.3 8 8 0 0 1 6.66-6.61A1.42 1.42 0 0 0 12 2.69a1.57 1.57 0 0 0-1.86-1.53"
22
+ }, [
23
+ vue.createElementVNode("animateTransform", {
24
+ attributeName: "transform",
25
+ dur: "0.75s",
26
+ repeatCount: "indefinite",
27
+ type: "rotate",
28
+ values: "0 12 12;360 12 12"
29
+ })
30
+ ], -1)
31
+ ]));
32
+ }
33
+ const PLoadingSpinner = { render };
6
34
  const _hoisted_1 = {
7
35
  key: 0,
8
36
  class: "fixed left-0 top-0 z-[9999] flex w-full justify-center",
@@ -13,7 +41,7 @@ const _hoisted_2 = {
13
41
  key: 0,
14
42
  class: "invisible fixed"
15
43
  };
16
- const textDivClass = `overflow-hidden whitespace-nowrap px-4 pt-1 h-8 text-center text-sm font-semibold text-p-purple-60`;
44
+ const textDivClass = `flex h-8 justify-center gap-x-1.5 overflow-hidden whitespace-nowrap px-6 pt-1 text-sm font-semibold text-p-purple-60`;
17
45
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
18
46
  ...{
19
47
  name: "PLoading"
@@ -58,7 +86,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
58
86
  vue.unref(component.isComponent)(vue.unref(content)) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(content)), vue.normalizeProps(vue.mergeProps({ key: 0 }, vue.unref(componentProps))), null, 16)) : (vue.openBlock(), vue.createElementBlock("div", {
59
87
  key: 1,
60
88
  class: vue.normalizeClass(textDivClass)
61
- }, vue.toDisplayString(vue.unref(content)), 1))
89
+ }, [
90
+ vue.createVNode(vue.unref(PLoadingSpinner), { class: "pt-0.5" }),
91
+ vue.createTextVNode(" " + vue.toDisplayString(vue.unref(content)), 1)
92
+ ]))
62
93
  ]),
63
94
  _: 1
64
95
  })
@@ -75,12 +106,15 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
75
106
  vue.unref(component.isComponent)(vue.unref(content)) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(content)), vue.normalizeProps(vue.mergeProps({ key: 0 }, vue.unref(componentProps))), null, 16)) : (vue.openBlock(), vue.createElementBlock("div", {
76
107
  key: 1,
77
108
  class: vue.normalizeClass(textDivClass)
78
- }, vue.toDisplayString(vue.unref(content)), 1))
109
+ }, [
110
+ vue.createVNode(vue.unref(PLoadingSpinner), { class: "pt-0.5" }),
111
+ vue.createTextVNode(" " + vue.toDisplayString(vue.unref(content)), 1)
112
+ ]))
79
113
  ], 512)
80
114
  ])) : vue.createCommentVNode("", true)
81
115
  ]);
82
116
  };
83
117
  }
84
118
  });
85
- const pLoading = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-245e3308"]]);
119
+ const pLoading = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-9ad56d4f"]]);
86
120
  module.exports = pLoading;
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, Teleport, createElementBlock, mergeProps, createElementVNode, createVNode, toDisplayString, Fragment, renderList, withCtx, unref, resolveDynamicComponent, createCommentVNode } from "vue";
1
+ import { defineComponent, createBlock, openBlock, Teleport, createElementBlock, createCommentVNode, mergeProps, createElementVNode, createVNode, toDisplayString, Fragment, renderList, withCtx, unref, resolveDynamicComponent } from "vue";
2
2
  import PBtn from "../p-btn.js";
3
3
  import PCloseBtn from "../p-close-btn.js";
4
4
  import PDropdown from "../p-dropdown.js";
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createElementBlock, renderSlot, normalizeClass, toDisplayString, createCommentVNode } from "vue";
1
+ import { defineComponent, createElementBlock, openBlock, renderSlot, createCommentVNode, normalizeClass, toDisplayString } from "vue";
2
2
  const _hoisted_1 = { class: "border border-p-gray-30 bg-surface px-6 pt-6" };
3
3
  const titleClass = "text-xl font-medium leading-none text-p-purple-60";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,4 +1,4 @@
1
- import { defineComponent, mergeModels, useModel, useAttrs, computed, openBlock, createBlock, unref, mergeProps, withCtx, createVNode, withKeys } from "vue";
1
+ import { defineComponent, mergeModels, useModel, useAttrs, computed, createBlock, openBlock, unref, mergeProps, withCtx, createVNode, withKeys } from "vue";
2
2
  import PInput from "../p-input.js";
3
3
  import VueDatePicker from "@vuepic/vue-datepicker";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, useAttrs, computed, watch, onMounted, onUnmounted, resolveDirective, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, toDisplayString, createCommentVNode, createVNode, mergeProps, withCtx, createElementVNode, isRef, Fragment, renderList, withDirectives, renderSlot, createTextVNode, withModifiers, vShow } from "vue";
1
+ import { defineComponent, ref, useAttrs, computed, watch, onMounted, onUnmounted, resolveDirective, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createCommentVNode, createVNode, withDirectives, toDisplayString, mergeProps, withCtx, createElementVNode, renderSlot, withModifiers, isRef, Fragment, renderList, createTextVNode, vShow } from "vue";
2
2
  import PDropdown from "../p-dropdown.js";
3
3
  import { _ as _sfc_main$1 } from "./p-icon.js";
4
4
  import PInputSearch from "../p-input-search.js";
@@ -230,6 +230,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
230
230
  return rest;
231
231
  });
232
232
  const style = computed(() => $attrs.style);
233
+ const selectableItemsCount = computed(
234
+ () => internalItems.value.filter((item) => !isDisabled(item) || isSelected(item[props.itemValue])).length
235
+ );
233
236
  watch(
234
237
  dropdownShow,
235
238
  (nV) => {
@@ -439,7 +442,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
439
442
  key: 1,
440
443
  item: __props.multiple ? unref(selectedItems) : unref(selectedItems)[0]
441
444
  }, () => [
442
- createElementVNode("div", _hoisted_3, toDisplayString(__props.multiple && unref(selectedItems).length > 1 ? `${unref(selectedItems).length} option${unref(selectedItems).length > 1 ? "s" : ""} selected` : unref(selectedItems)[0][__props.itemText]), 1)
445
+ createElementVNode("div", _hoisted_3, toDisplayString(__props.multiple ? unref(selectedItems).length === selectableItemsCount.value ? "All options selected" : `${unref(selectedItems).length} option${unref(selectedItems).length > 1 ? "s" : ""} selected` : unref(selectedItems)[0][__props.itemText]), 1)
443
446
  ]),
444
447
  __props.clearable && unref(selectedItems).length ? (openBlock(), createElementBlock("button", {
445
448
  key: 2,
@@ -1,7 +1,7 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
- import { defineComponent, openBlock, createElementBlock, unref } from "vue";
4
+ import { defineComponent, createElementBlock, openBlock, unref } from "vue";
5
5
  import { P_ICON_ALIASES } from "../p-icon.js";
6
6
  /**
7
7
  * (c) Iconify
@@ -409,7 +409,6 @@ function addCollection$1(data, provider) {
409
409
  }
410
410
  const prefix = data.prefix;
411
411
  if (!validateIconName({
412
- provider,
413
412
  prefix,
414
413
  name: "a"
415
414
  })) {
@@ -1556,7 +1555,7 @@ function exportFunctions() {
1556
1555
  }
1557
1556
  }
1558
1557
  }
1559
- const _api = {
1558
+ const _api2 = {
1560
1559
  getAPIConfig,
1561
1560
  setAPIModule,
1562
1561
  sendAPIQuery,
@@ -1588,7 +1587,7 @@ function exportFunctions() {
1588
1587
  setCustomIconLoader: setCustomIconLoader$1,
1589
1588
  setCustomIconsLoader: setCustomIconsLoader$1,
1590
1589
  appendCustomStyle,
1591
- _api
1590
+ _api: _api2
1592
1591
  };
1593
1592
  }
1594
1593
  const monotoneProps = {
@@ -2068,7 +2067,28 @@ function defineIconifyIcon(name = "iconify-icon") {
2068
2067
  customElements.define(name, IconifyIcon);
2069
2068
  return IconifyIcon;
2070
2069
  }
2071
- defineIconifyIcon() || exportFunctions();
2070
+ const IconifyIconComponent = defineIconifyIcon() || exportFunctions();
2071
+ const {
2072
+ enableCache,
2073
+ disableCache,
2074
+ iconLoaded,
2075
+ iconExists,
2076
+ // deprecated, kept to avoid breaking changes
2077
+ getIcon,
2078
+ listIcons,
2079
+ addIcon,
2080
+ addCollection,
2081
+ calculateSize,
2082
+ buildIcon,
2083
+ iconToHTML,
2084
+ svgToURL,
2085
+ loadIcons,
2086
+ loadIcon,
2087
+ setCustomIconLoader,
2088
+ setCustomIconsLoader,
2089
+ addAPIProvider,
2090
+ _api
2091
+ } = IconifyIconComponent;
2072
2092
  const _hoisted_1 = ["icon"];
2073
2093
  const _sfc_main = /* @__PURE__ */ defineComponent({
2074
2094
  ...{
@@ -1,4 +1,4 @@
1
- import { defineComponent, mergeModels, useModel, useAttrs, computed, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot, unref, toDisplayString, createCommentVNode, createVNode, mergeProps, withDirectives, createElementVNode, vShow } from "vue";
1
+ import { defineComponent, mergeModels, useModel, useAttrs, computed, createElementBlock, openBlock, normalizeStyle, normalizeClass, renderSlot, createVNode, withDirectives, unref, createCommentVNode, toDisplayString, mergeProps, createElementVNode, vShow } from "vue";
2
2
  import { useInputClasses } from "../useInputClasses.js";
3
3
  import VueDatePicker from "@vuepic/vue-datepicker";
4
4
  const _hoisted_1 = ["data-has-error"];
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, openBlock, createBlock, withCtx, createElementVNode, normalizeClass } from "vue";
1
+ import { defineComponent, computed, createBlock, openBlock, withCtx, createElementVNode, normalizeClass } from "vue";
2
2
  import PInputNumber from "../p-input-number.js";
3
3
  import { isNumber } from "lodash-es";
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -1,4 +1,4 @@
1
- import { defineComponent, unref, openBlock, createElementBlock, renderSlot, createBlock, normalizeProps, mergeProps, withCtx } from "vue";
1
+ import { defineComponent, createElementBlock, createBlock, unref, openBlock, renderSlot, normalizeProps, mergeProps, withCtx } from "vue";
2
2
  import { isExternalLink } from "../link.js";
3
3
  import { sanitizeUrl } from "../sanitization.js";
4
4
  import { RouterLink } from "vue-router";
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, openBlock, createBlock, createElementBlock, Fragment, createTextVNode, toDisplayString, renderSlot } from "vue";
1
+ import { defineComponent, computed, createBlock, createElementBlock, openBlock, renderSlot, Fragment, createTextVNode, toDisplayString } from "vue";
2
2
  import PSkeletonLoader from "../p-skeleton-loader.js";
3
3
  const _hoisted_1 = {
4
4
  key: 1,
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, openBlock, createElementBlock, Fragment, createBlock, createCommentVNode, createElementVNode, normalizeClass, renderList, toDisplayString } from "vue";
1
+ import { defineComponent, computed, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, createElementVNode, normalizeClass, renderList, toDisplayString } from "vue";
2
2
  import PSkeletonLoader from "../p-skeleton-loader.js";
3
3
  import { createPagingRange } from "../pagination.js";
4
4
  const _imports_0 = "data:image/svg+xml,%3csvg%20width='8'%20height='12'%20viewBox='0%200%208%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0.25%205.99968C0.25%205.64968%200.4%205.34968%200.65%205.14968L6.25%200.249681C6.65%20-0.100319%207.2%20-0.0503187%207.55%200.349681C7.85%200.749681%207.85%201.29968%207.45%201.59968L2.55%205.89968C2.5%205.94968%202.5%205.99968%202.55%206.04968L7.45%2010.3497C7.85%2010.6997%207.9%2011.2497%207.55%2011.6497C7.2%2012.0497%206.65%2012.0997%206.25%2011.7497C6.25%2011.7497%206.25%2011.7497%206.2%2011.6997L0.65%206.84968C0.4%206.64968%200.25%206.29968%200.25%205.99968Z'%20fill='%23918da1'%20/%3e%3c/svg%3e";
@@ -1,79 +1,26 @@
1
- import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, createElementVNode, normalizeClass } from "vue";
2
- import { getColor } from "../tailwind.js";
3
- const INNER_DIV_CLASS = "block animate-spin absolute box-border rounded-full w-4/5 h-4/5 m-[10%]";
1
+ import { defineComponent, computed, createBlock, openBlock, normalizeStyle } from "vue";
2
+ import { _ as _sfc_main$1 } from "./p-icon.js";
4
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
4
  ...{
6
5
  name: "PRingLoader"
7
6
  },
8
7
  __name: "p-ring-loader",
9
8
  props: {
10
- size: {
11
- type: Number,
12
- default: 80
13
- },
14
- color: {
15
- type: String,
16
- default: getColor("primary")
17
- },
18
- duration: {
19
- type: String,
20
- default: "1.2s",
21
- validator(value) {
22
- const res = /^\d*\.?\d+(s|ms)$/;
23
- return res.test(value);
24
- }
25
- }
9
+ size: { default: 80 },
10
+ color: { default: "var(--color-p-blue-60)" }
26
11
  },
27
12
  setup(__props) {
28
- const calcPropertyValue = (propName, originalValue, modificator) => {
29
- var _a, _b;
30
- const computedStyle = {};
31
- const timeQuantityOuter = (_a = originalValue.match(/^\d*\.?\d+/)) == null ? void 0 : _a[0];
32
- const timeUnit = ((_b = originalValue.match(/s|(ms)$/)) == null ? void 0 : _b[0]) || "s";
33
- const timeQuantityInner = Math.round(Number(timeQuantityOuter) * 1e3 * modificator) / 1e3;
34
- computedStyle[propName] = timeQuantityInner + timeUnit;
35
- return computedStyle;
36
- };
37
13
  const props = __props;
38
- const spinnerStyle = computed(() => {
39
- return {
40
- borderWidth: `${props.size * 0.1}px`,
41
- borderColor: `${props.color} transparent transparent transparent`,
42
- animationDuration: props.duration,
43
- animationTimingFunction: "cubic-bezier(0.5, 0, 0.5, 1)"
44
- };
45
- });
46
- const animDiv1 = computed(() => {
47
- return calcPropertyValue("animationDelay", props.duration, -0.375);
48
- });
49
- const animDiv2 = computed(() => {
50
- return calcPropertyValue("animationDelay", props.duration, -0.25);
51
- });
52
- const animDiv3 = computed(() => {
53
- return calcPropertyValue("animationDelay", props.duration, -0.125);
54
- });
14
+ const spinnerSize = computed(() => props.size * 0.892);
15
+ const style = computed(() => ({
16
+ color: props.color
17
+ }));
55
18
  return (_ctx, _cache) => {
56
- return openBlock(), createElementBlock("div", {
57
- class: "relative inline-block",
58
- style: normalizeStyle({ width: `${__props.size}px`, height: `${__props.size}px` })
59
- }, [
60
- createElementVNode("div", {
61
- class: normalizeClass(INNER_DIV_CLASS),
62
- style: normalizeStyle([spinnerStyle.value, animDiv1.value])
63
- }, null, 4),
64
- createElementVNode("div", {
65
- class: normalizeClass(INNER_DIV_CLASS),
66
- style: normalizeStyle([spinnerStyle.value, animDiv2.value])
67
- }, null, 4),
68
- createElementVNode("div", {
69
- class: normalizeClass(INNER_DIV_CLASS),
70
- style: normalizeStyle([spinnerStyle.value, animDiv3.value])
71
- }, null, 4),
72
- createElementVNode("div", {
73
- class: normalizeClass(INNER_DIV_CLASS),
74
- style: normalizeStyle([spinnerStyle.value])
75
- }, null, 4)
76
- ], 4);
19
+ return openBlock(), createBlock(_sfc_main$1, {
20
+ icon: "svg-spinners:90-ring-with-bg",
21
+ width: spinnerSize.value,
22
+ style: normalizeStyle(style.value)
23
+ }, null, 8, ["width", "style"]);
77
24
  };
78
25
  }
79
26
  });
@@ -1,4 +1,4 @@
1
- import { defineComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, Fragment, renderList, withDirectives, createVNode, withCtx, renderSlot, createTextVNode, toDisplayString } from "vue";
1
+ import { defineComponent, resolveDirective, createElementBlock, openBlock, normalizeClass, Fragment, renderList, withDirectives, createVNode, withCtx, renderSlot, createTextVNode, toDisplayString } from "vue";
2
2
  import PBtn from "../p-btn.js";
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  ...{
@@ -1,4 +1,4 @@
1
- import { defineComponent, useAttrs, computed, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, renderSlot, toDisplayString, createCommentVNode, createElementVNode, mergeProps, Fragment, renderList, withDirectives, vShow } from "vue";
1
+ import { defineComponent, useAttrs, computed, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, renderSlot, createElementVNode, withDirectives, createCommentVNode, toDisplayString, mergeProps, Fragment, renderList, vShow } from "vue";
2
2
  import { useInputClasses } from "../useInputClasses.js";
3
3
  import { INPUT_SIZES } from "../inputClassesShared.js";
4
4
  const _hoisted_1 = ["data-has-error"];
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createElementBlock, createElementVNode, Fragment, renderList, createVNode, createCommentVNode, normalizeClass } from "vue";
1
+ import { defineComponent, createElementBlock, openBlock, createElementVNode, Fragment, renderList, createCommentVNode, createVNode, normalizeClass } from "vue";
2
2
  import PSkeletonLoader from "../p-skeleton-loader.js";
3
3
  const _hoisted_1 = { class: "block overflow-hidden rounded-xl border border-p-gray-30 bg-surface" };
4
4
  const _hoisted_2 = { class: "mb-0 w-full bg-surface" };
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createElementBlock, normalizeStyle, Fragment, renderList, createBlock, resolveDynamicComponent, mergeProps, withCtx, createElementVNode, normalizeClass, createCommentVNode, toDisplayString } from "vue";
1
+ import { defineComponent, createElementBlock, openBlock, normalizeStyle, Fragment, renderList, createBlock, resolveDynamicComponent, mergeProps, withCtx, createElementVNode, createCommentVNode, normalizeClass, toDisplayString } from "vue";
2
2
  const _hoisted_1 = { class: "flex items-center gap-2" };
3
3
  const _hoisted_2 = { key: 0 };
4
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
package/dist/es/index.js CHANGED
@@ -11,7 +11,7 @@ import { default as default8 } from "./p-drawer.js";
11
11
  import { default as default9 } from "./p-dropdown.js";
12
12
  import { _ as _imports_0$2 } from "./chunks/p-dropdown-select.js";
13
13
  import { a } from "./chunks/p-dropdown-select.js";
14
- import { defineComponent, shallowRef, ref, computed, onMounted, openBlock, createElementBlock, normalizeClass, unref, toDisplayString, createCommentVNode, createElementVNode, withModifiers, createTextVNode, Fragment, renderList, withDirectives, vShow, useAttrs, resolveDirective, normalizeStyle, createVNode, isRef, renderSlot, provide, onBeforeUnmount, watch, mergeProps, toHandlers } from "vue";
14
+ import { defineComponent, shallowRef, ref, computed, onMounted, createElementBlock, openBlock, normalizeClass, createCommentVNode, createElementVNode, withDirectives, unref, toDisplayString, withModifiers, createTextVNode, Fragment, renderList, vShow, useAttrs, resolveDirective, normalizeStyle, createVNode, isRef, renderSlot, provide, onBeforeUnmount, watch, mergeProps, toHandlers } from "vue";
15
15
  import { formatBytes, getFileExtension } from "./p-file-upload.js";
16
16
  import { useInputClasses } from "./useInputClasses.js";
17
17
  import { uniq, kebabCase } from "lodash-es";
@@ -1,4 +1,4 @@
1
- import { INPUT_SIZES, ERROR_MSG, INPUT_BASE, SPACING_PREFIX, SPACING_LEFT, SPACING_SUFFIX, SPACING_RIGHT, INPUT_ERROR, INPUT_NORMAL, LABEL_BASE, LABEL_SIZES, LABEL_REQUIRED, SELECT_BASE, SELECT_ARROW, SELECT_SIZES, TEXTAREA_BASE } from "./inputClassesShared.js";
1
+ import { TEXTAREA_BASE, SELECT_BASE, SELECT_ARROW, SELECT_SIZES, SPACING_RIGHT, LABEL_BASE, LABEL_SIZES, LABEL_REQUIRED, INPUT_BASE, INPUT_SIZES, SPACING_PREFIX, SPACING_LEFT, SPACING_SUFFIX, INPUT_ERROR, INPUT_NORMAL, ERROR_MSG } from "./inputClassesShared.js";
2
2
  import { defineComponent } from "vue";
3
3
  const inputClassesMixin = defineComponent({
4
4
  props: {
@@ -1,4 +1,4 @@
1
- import { isElement, isVisible, getNextActiveElement } from "./dom.js";
1
+ import { getNextActiveElement, isElement, isVisible } from "./dom.js";
2
2
  const ARROW_UP_KEY = "ArrowUp";
3
3
  const ARROW_DOWN_KEY = "ArrowDown";
4
4
  const ENTER_KEY = "Enter";
@@ -1,5 +1,5 @@
1
1
  import { getColor } from "./tailwind.js";
2
- import { defineComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot } from "vue";
2
+ import { defineComponent, createElementBlock, openBlock, normalizeClass, createElementVNode, renderSlot } from "vue";
3
3
  import { _ as _export_sfc } from "./chunks/_plugin-vue_export-helper.js";
4
4
  const ALERT_TYPES = {
5
5
  info: `bg-info text-on-info`,
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createElementBlock, normalizeClass, toDisplayString } from "vue";
1
+ import { defineComponent, createElementBlock, openBlock, normalizeClass, toDisplayString } from "vue";
2
2
  import { _ as _export_sfc } from "./chunks/_plugin-vue_export-helper.js";
3
3
  const SHAPES = {
4
4
  rectangle: "rectangle",