@privyid/persona 0.17.1 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/components/avatar/utils/create-image.mjs +1 -1
  2. package/dist/components/banner/Banner.vue +3 -3
  3. package/dist/components/breadcrumbs/Breadcrumb.vue +5 -1
  4. package/dist/components/breadcrumbs/Breadcrumb.vue.d.ts +1 -1
  5. package/dist/components/breadcrumbs/BreadcrumbItem.vue +17 -9
  6. package/dist/components/breadcrumbs/BreadcrumbItem.vue.d.ts +3 -0
  7. package/dist/components/breadcrumbs/BreadcrumbItemDropdown.vue +15 -7
  8. package/dist/components/breadcrumbs/BreadcrumbItemDropdown.vue.d.ts +3 -0
  9. package/dist/components/button/Button.vue +15 -9
  10. package/dist/components/button/Button.vue.d.ts +16 -6
  11. package/dist/components/button/index.d.ts +1 -0
  12. package/dist/components/calendar/Calendar.vue +8 -4
  13. package/dist/components/camera/Camera.vue +3 -3
  14. package/dist/components/card/Card.vue +9 -3
  15. package/dist/components/card/Card.vue.d.ts +1 -1
  16. package/dist/components/carousel/Carousel.vue.d.ts +6 -6
  17. package/dist/components/chart/ChartSet.vue.d.ts +2 -2
  18. package/dist/components/chart/ChartVal.vue.d.ts +4 -4
  19. package/dist/components/checkbox/Checkbox.vue.d.ts +6 -6
  20. package/dist/components/checkbox/index.mjs +1 -1
  21. package/dist/components/collapse/Collapse.vue +13 -20
  22. package/dist/components/contextual-bar/ContextualBar.vue +1 -1
  23. package/dist/components/contextual-bar/ContextualBar.vue.d.ts +2 -2
  24. package/dist/components/cropper/Cropper.vue +4 -4
  25. package/dist/components/cropper/Cropper.vue.d.ts +8 -8
  26. package/dist/components/datepicker/Datepicker.vue +19 -4
  27. package/dist/components/datepicker/Datepicker.vue.d.ts +10 -0
  28. package/dist/components/dropdown/Dropdown.vue +1 -1
  29. package/dist/components/dropdown/Dropdown.vue.d.ts +4 -4
  30. package/dist/components/dropdown/DropdownItem.vue +10 -0
  31. package/dist/components/dropdown/DropdownItem.vue.d.ts +9 -0
  32. package/dist/components/dropdown/utils/use-focus.d.ts +1 -1
  33. package/dist/components/dropdown/utils/use-focus.mjs +2 -2
  34. package/dist/components/dropdown-subitem/DropdownSubitem.vue +2 -2
  35. package/dist/components/dropzone/Dropzone.vue.d.ts +2 -2
  36. package/dist/components/filterbar/pinned/PinnedDate.vue +4 -7
  37. package/dist/components/filterbar/pinned/PinnedMultiselect.vue +4 -7
  38. package/dist/components/filterbar/pinned/PinnedSelect.vue +5 -7
  39. package/dist/components/filterbar/pinned/PinnedSelect.vue.d.ts +2 -2
  40. package/dist/components/filterbar/pinned/PinnedToggle.vue.d.ts +6 -6
  41. package/dist/components/form-group/FormGroup.vue +1 -1
  42. package/dist/components/global/router.d.ts +2 -1
  43. package/dist/components/input/Input.vue +22 -4
  44. package/dist/components/input/Input.vue.d.ts +22 -2
  45. package/dist/components/input/index.d.ts +1 -0
  46. package/dist/components/input/index.mjs +5 -0
  47. package/dist/components/input/utils/accept.d.ts +26 -0
  48. package/dist/components/input/utils/accept.mjs +81 -0
  49. package/dist/components/input-file/InputFile.vue.d.ts +2 -2
  50. package/dist/components/input-password/InputPassword.vue +4 -1
  51. package/dist/components/input-password/InputPassword.vue.d.ts +7 -3
  52. package/dist/components/input-pin/InputPin.vue +45 -30
  53. package/dist/components/input-pin/InputPin.vue.d.ts +26 -7
  54. package/dist/components/input-pin/index.d.ts +6 -0
  55. package/dist/components/input-pin/index.mjs +3 -0
  56. package/dist/components/input-range/InputRange.vue +5 -5
  57. package/dist/components/input-range/InputRange.vue.d.ts +6 -6
  58. package/dist/components/label/Label.vue +1 -1
  59. package/dist/components/list-group/ListGroup.vue +25 -0
  60. package/dist/components/list-group/ListGroup.vue.d.ts +18 -0
  61. package/dist/components/modal/Modal.vue +5 -2
  62. package/dist/components/modal/Modal.vue.d.ts +2 -2
  63. package/dist/components/nav/Nav.vue +27 -9
  64. package/dist/components/nav/NavCollapse.vue +78 -0
  65. package/dist/components/nav/NavCollapse.vue.d.ts +26 -0
  66. package/dist/components/nav/NavItem.vue +9 -3
  67. package/dist/components/nav/NavItem.vue.d.ts +13 -3
  68. package/dist/components/nav/NavItemDropdown.vue.d.ts +2 -2
  69. package/dist/components/nav/NavSubItem.vue +35 -19
  70. package/dist/components/nav/NavSubItem.vue.d.ts +2 -1
  71. package/dist/components/navbar/Navbar.vue.d.ts +1 -1
  72. package/dist/components/navbar/NavbarToggle.vue +2 -2
  73. package/dist/components/pagination/Pagination.vue +2 -2
  74. package/dist/components/pagination/Pagination.vue.d.ts +1 -1
  75. package/dist/components/pdf-text/PdfText.vue.d.ts +1 -1
  76. package/dist/components/pdf-viewer/PdfNavigation.vue +4 -4
  77. package/dist/components/pdf-viewer/PdfViewer.vue +1 -2
  78. package/dist/components/pdf-viewer/PdfViewer.vue.d.ts +4 -4
  79. package/dist/components/progress-indicator/ProgressIndicator.vue.d.ts +2 -2
  80. package/dist/components/radio/Radio.vue +1 -1
  81. package/dist/components/radio/Radio.vue.d.ts +4 -4
  82. package/dist/components/select/Select.vue +68 -27
  83. package/dist/components/select/Select.vue.d.ts +34 -6
  84. package/dist/components/select/index.d.ts +2 -0
  85. package/dist/components/select/index.mjs +4 -0
  86. package/dist/components/sidebar/Sidebar.vue.d.ts +1 -1
  87. package/dist/components/sidebar/SidebarNav.vue +35 -27
  88. package/dist/components/sidebar/SidebarNav.vue.d.ts +2 -1
  89. package/dist/components/sidebar-menu/SidebarMenu.vue +82 -71
  90. package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +5 -8
  91. package/dist/components/sidebar-menu/index.d.ts +115 -4
  92. package/dist/components/sidebar-menu/index.mjs +41 -0
  93. package/dist/components/signature-draw/SignatureDraw.vue +44 -15
  94. package/dist/components/signature-draw/SignatureDraw.vue.d.ts +3 -0
  95. package/dist/components/signature-draw/SignatureDrawMobile.vue +3 -7
  96. package/dist/components/signature-text/SignatureText.vue.d.ts +5 -5
  97. package/dist/components/spinner/Spinner.vue +28 -13
  98. package/dist/components/spinner/SpinnerRing.vue +14 -8
  99. package/dist/components/spinner/SpinnerRinggo.vue +62 -0
  100. package/dist/components/spinner/SpinnerRinggo.vue.d.ts +6 -0
  101. package/dist/components/steps/Step.vue +3 -0
  102. package/dist/components/steps/Step.vue.d.ts +1 -0
  103. package/dist/components/steps/Steps.vue +1 -0
  104. package/dist/components/steps/index.d.ts +2 -0
  105. package/dist/components/steps/index.mjs +1 -0
  106. package/dist/components/strengthbar/Strengthbar.vue.d.ts +9 -9
  107. package/dist/components/table/Table.vue +2 -2
  108. package/dist/components/tabs/Tabs.vue +4 -2
  109. package/dist/components/textarea/Textarea.vue +10 -1
  110. package/dist/components/textarea/Textarea.vue.d.ts +16 -4
  111. package/dist/components/toast/Toast.vue +5 -5
  112. package/dist/components/toast/ToastContainer.vue +6 -6
  113. package/dist/components/toggle/Toggle.vue +1 -1
  114. package/dist/components/toggle/Toggle.vue.d.ts +6 -6
  115. package/dist/components/tooltip/Tooltip.vue.d.ts +1 -1
  116. package/dist/components/tooltip/TooltipContainer.vue +18 -3
  117. package/dist/components/tooltip/index.d.ts +3 -0
  118. package/dist/components/tooltip/index.mjs +29 -4
  119. package/dist/components/tooltip/utils/parse-bindings.d.ts +2 -1
  120. package/dist/components/tooltip/utils/parse-bindings.mjs +2 -0
  121. package/dist/components/tour/TourDialog.vue +1 -1
  122. package/dist/components/tour/TourDialog.vue.d.ts +1 -1
  123. package/dist/components/truncate/Truncate.vue +9 -1
  124. package/dist/components/truncate/Truncate.vue.d.ts +11 -2
  125. package/dist/core/index.d.ts +2 -1
  126. package/dist/core/index.mjs +7 -1
  127. package/dist/module.json +1 -1
  128. package/package.json +19 -17
@@ -0,0 +1,26 @@
1
+ import { LiteralUnion } from 'type-fest';
2
+ export declare const AcceptPresets: {
3
+ readonly num: string;
4
+ readonly numeric: string;
5
+ readonly digit: string;
6
+ readonly alpha: string;
7
+ readonly 'alpha-num': string;
8
+ readonly 'alpha-num-space': string;
9
+ readonly 'alpha-num-space-symbol': string;
10
+ readonly 'alpha-numeric': string;
11
+ readonly 'alpha-numeric-space': string;
12
+ readonly 'alpha-numeric-space-symbol': string;
13
+ readonly 'alpha-space': string;
14
+ readonly 'alpha-space-symbol': string;
15
+ readonly 'num-space': string;
16
+ readonly 'num-space-symbol': string;
17
+ readonly 'numeric-space': string;
18
+ readonly 'numeric-space-symbol': string;
19
+ readonly 'non-numeric': string;
20
+ readonly 'non-alpha': string;
21
+ readonly text: string;
22
+ };
23
+ export type AcceptVariant = LiteralUnion<keyof typeof AcceptPresets, string>;
24
+ export declare function isAccepted(accept: AcceptVariant | undefined, text: string): boolean;
25
+ export declare function removeUnaccepted(accept: AcceptVariant | undefined, text: string): string;
26
+ export declare function checkOnInput(accept: AcceptVariant | undefined, event: Event): void;
@@ -0,0 +1,81 @@
1
+ const ALPHA = "A-Za-z";
2
+ const NUMERIC = "\\d";
3
+ const SPACE = "\\s";
4
+ const SYMBOL = "!\"#$%&'()*+,./:;<=>?@[\\\\\\]^_`{|}~-";
5
+ const REGEX_ALPHA = `${ALPHA}`;
6
+ const REGEX_NUMERIC = `${NUMERIC}`;
7
+ const REGEX_ALPHA_NUMERIC = `${ALPHA}${NUMERIC}`;
8
+ const REGEX_ALPHA_NUMERIC_SPACE = `${ALPHA}${NUMERIC}${SPACE}`;
9
+ const REGEX_ALPHA_NUMERIC_SPACE_SYMBOL = `${ALPHA}${NUMERIC}${SPACE}${SYMBOL}`;
10
+ const REGEX_ALPHA_SPACE = `${ALPHA}${SPACE}`;
11
+ const REGEX_ALPHA_SPACE_SYMBOL = `${ALPHA}${SPACE}${SYMBOL}`;
12
+ const REGEX_NUMERIC_SPACE = `${NUMERIC}${SPACE}`;
13
+ const REGEX_NUMERIC_SPACE_SYMBOL = `${NUMERIC}${SPACE}${SYMBOL}`;
14
+ export const AcceptPresets = {
15
+ "num": REGEX_NUMERIC,
16
+ "numeric": REGEX_NUMERIC,
17
+ "digit": REGEX_NUMERIC,
18
+ "alpha": REGEX_ALPHA,
19
+ "alpha-num": REGEX_ALPHA_NUMERIC,
20
+ "alpha-num-space": REGEX_ALPHA_NUMERIC_SPACE,
21
+ "alpha-num-space-symbol": REGEX_ALPHA_NUMERIC_SPACE_SYMBOL,
22
+ "alpha-numeric": REGEX_ALPHA_NUMERIC,
23
+ "alpha-numeric-space": REGEX_ALPHA_NUMERIC_SPACE,
24
+ "alpha-numeric-space-symbol": REGEX_ALPHA_NUMERIC_SPACE_SYMBOL,
25
+ "alpha-space": REGEX_ALPHA_SPACE,
26
+ "alpha-space-symbol": REGEX_ALPHA_SPACE_SYMBOL,
27
+ "num-space": REGEX_NUMERIC_SPACE,
28
+ "num-space-symbol": REGEX_NUMERIC_SPACE_SYMBOL,
29
+ "numeric-space": REGEX_NUMERIC_SPACE,
30
+ "numeric-space-symbol": REGEX_NUMERIC_SPACE_SYMBOL,
31
+ "non-numeric": REGEX_ALPHA_SPACE_SYMBOL,
32
+ "non-alpha": REGEX_NUMERIC_SPACE_SYMBOL,
33
+ "text": REGEX_ALPHA_NUMERIC_SPACE_SYMBOL
34
+ };
35
+ export function isAccepted(accept, text) {
36
+ if (!accept)
37
+ return true;
38
+ try {
39
+ const regexStr = AcceptPresets[accept.toLowerCase()] ?? accept;
40
+ const regex = new RegExp(`^[${regexStr}]+$`);
41
+ return regex.test(text);
42
+ } catch (error) {
43
+ if (import.meta.env.DEV)
44
+ console.error(error);
45
+ return true;
46
+ }
47
+ }
48
+ export function removeUnaccepted(accept, text) {
49
+ if (!accept)
50
+ return text;
51
+ try {
52
+ const regexStr = AcceptPresets[accept.toLowerCase()] ?? accept;
53
+ const regex = new RegExp(`[^${regexStr}]+`, "g");
54
+ return text.replaceAll(regex, "");
55
+ } catch (error) {
56
+ if (import.meta.env.DEV)
57
+ console.error(error);
58
+ return text;
59
+ }
60
+ }
61
+ export function checkOnInput(accept, event) {
62
+ if (event.data && !isAccepted(accept, event.data)) {
63
+ event.preventDefault();
64
+ if (event.inputType === "insertFromPaste") {
65
+ const target = event.target;
66
+ const oldValue = target.value;
67
+ const value = removeUnaccepted(accept, event.data);
68
+ const ss = target.selectionStart;
69
+ const se = target.selectionEnd;
70
+ const nextValue = `${oldValue.slice(0, ss)}${value}${oldValue.slice(se)}`;
71
+ try {
72
+ target.value = nextValue;
73
+ target.dispatchEvent(new InputEvent("input"));
74
+ target.setSelectionRange(value.length + ss, value.length + ss);
75
+ } catch (error) {
76
+ if (import.meta.env.DEV)
77
+ console.error(error);
78
+ }
79
+ }
80
+ }
81
+ }
@@ -15,7 +15,7 @@ declare const _default: import("vue-demi").DefineComponent<{
15
15
  default: boolean;
16
16
  };
17
17
  maxlength: {
18
- type: (StringConstructor | NumberConstructor)[];
18
+ type: (NumberConstructor | StringConstructor)[];
19
19
  default: undefined;
20
20
  };
21
21
  accept: {
@@ -73,7 +73,7 @@ declare const _default: import("vue-demi").DefineComponent<{
73
73
  default: boolean;
74
74
  };
75
75
  maxlength: {
76
- type: (StringConstructor | NumberConstructor)[];
76
+ type: (NumberConstructor | StringConstructor)[];
77
77
  default: undefined;
78
78
  };
79
79
  accept: {
@@ -19,7 +19,10 @@
19
19
  import pInput from "../input/Input.vue";
20
20
  import IconShow from "@privyid/persona-icon/vue/view/20.vue";
21
21
  import IconHide from "@privyid/persona-icon/vue/view-off/20.vue";
22
- import { defineComponent, ref } from "vue-demi";
22
+ import {
23
+ ref,
24
+ defineComponent
25
+ } from "vue-demi";
23
26
  export default defineComponent({
24
27
  components: {
25
28
  pInput,
@@ -1,5 +1,9 @@
1
- declare const _default: import("vue-demi").DefineComponent<{}, {
2
- isShow: import("vue-demi").Ref<boolean>;
1
+ import { Ref } from 'vue-demi';
2
+ type Bindings = {
3
+ isShow: Ref<boolean>;
3
4
  toggle: () => void;
4
- }, {}, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{}>>, {}, {}>;
5
+ };
6
+ declare const _default: import("vue-demi").DefineComponent<any, Bindings, {}, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<any>, {} | {
7
+ [x: string]: any;
8
+ }, {}>;
5
9
  export default _default;
@@ -10,16 +10,15 @@
10
10
  maxlength="1"
11
11
  v-bind="$attrs"
12
12
  :model-value="getValue(i - 1)"
13
+ :size="size"
13
14
  :clearable="false"
14
15
  :readonly="readonly"
15
16
  :disabled="disabled"
16
17
  :error="error"
17
- @input="setValue(i - 1, $event)"
18
- @focus.passive="onFocus"
19
- @keyup.delete.stop.prevent="onDelete"
18
+ @keydown="onKeyDown($event)"
19
+ @beforeinput.prevent="setValue(i - 1, $event)"
20
20
  @keyup.left.stop.prevent="prevFocus"
21
- @keyup.right.stop.prevent="nextFocus"
22
- @paste.passive="onPaste" />
21
+ @keyup.right.stop.prevent="nextFocus" />
23
22
  </div>
24
23
  </template>
25
24
 
@@ -37,6 +36,11 @@ import {
37
36
  useToNumber
38
37
  } from "@vueuse/core";
39
38
  import { useFocus } from "../dropdown/utils/use-focus";
39
+ import {
40
+ isAccepted,
41
+ removeUnaccepted
42
+ } from "../input";
43
+ import { toArray } from ".";
40
44
  export default defineComponent({
41
45
  components: { pInput },
42
46
  inheritAttrs: false,
@@ -45,6 +49,10 @@ export default defineComponent({
45
49
  type: String,
46
50
  default: void 0
47
51
  },
52
+ size: {
53
+ type: String,
54
+ default: "md"
55
+ },
48
56
  length: {
49
57
  type: [Number, String],
50
58
  default: 5
@@ -60,17 +68,21 @@ export default defineComponent({
60
68
  error: {
61
69
  type: Boolean,
62
70
  default: false
71
+ },
72
+ accept: {
73
+ type: String,
74
+ default: void 0
63
75
  }
64
76
  },
65
77
  models: {
66
78
  prop: "modelValue",
67
79
  event: "update:modelValue"
68
80
  },
69
- emits: ["update:modelValue", "clear"],
81
+ emits: ["update:modelValue", "change"],
70
82
  setup(props, { emit }) {
71
83
  const root = templateRef("root");
72
84
  const num = useToNumber(toRef(props, "length"));
73
- const localModel = ref([...props.modelValue?.padEnd(num.value) ?? ""].slice(0, num.value));
85
+ const localModel = ref(toArray(props.modelValue, num.value));
74
86
  const classNames = computed(() => {
75
87
  const result = [];
76
88
  if (props.disabled)
@@ -84,37 +96,42 @@ export default defineComponent({
84
96
  const { next: nextFocus, prev: prevFocus } = useFocus(root, false);
85
97
  const model = computed({
86
98
  get() {
87
- return [...props.modelValue?.padEnd(num.value) ?? ""].slice(0, num.value);
99
+ return toArray(props.modelValue, num.value);
88
100
  },
89
101
  set(value) {
90
102
  const text = value.map((val) => val || " ").join("").trimEnd();
103
+ emit("change", text);
91
104
  emit("update:modelValue", text);
92
105
  }
93
106
  });
94
- syncRef(localModel, model, { deep: true });
107
+ syncRef(localModel, model, { deep: true, immediate: false });
95
108
  function getValue(index) {
96
109
  return localModel.value.at(index);
97
110
  }
98
111
  function setValue(index, event) {
99
- const target = event.target;
100
- const value = target.value;
101
- localModel.value[index] = value;
102
- if (root.value) {
103
- if (value)
104
- nextFocus();
105
- else
106
- prevFocus();
112
+ if (event.inputType === "insertFromPaste")
113
+ localModel.value = toArray(removeUnaccepted(props.accept, event.data), num.value);
114
+ else if (!event.data || isAccepted(props.accept, event.data)) {
115
+ localModel.value[index] = event.data;
116
+ if (root.value) {
117
+ if (event.inputType === "deleteContentBackward")
118
+ prevFocus();
119
+ if (event.inputType === "insertText")
120
+ nextFocus();
121
+ }
107
122
  }
108
123
  }
109
- function onFocus(event) {
110
- event.target.select();
111
- }
112
- function onDelete(event) {
113
- if (root.value && !event.target.value.trim())
114
- prevFocus();
115
- }
116
- function onPaste(event) {
117
- localModel.value = [...event.clipboardData.getData("Text")].slice(0, num.value);
124
+ function onKeyDown(event) {
125
+ const target = event.target;
126
+ if (props.readonly || props.disabled)
127
+ return;
128
+ if (target.value && [...event.key].length === 1 && !event.ctrlKey && !event.metaKey) {
129
+ event.preventDefault();
130
+ target.dispatchEvent(new InputEvent("beforeinput", { inputType: "insertText", data: event.key }));
131
+ } else if (event.key === "Backspace") {
132
+ event.preventDefault();
133
+ target.dispatchEvent(new InputEvent("beforeinput", { inputType: "deleteContentBackward" }));
134
+ }
118
135
  }
119
136
  return {
120
137
  classNames,
@@ -122,11 +139,9 @@ export default defineComponent({
122
139
  localModel,
123
140
  getValue,
124
141
  setValue,
125
- onFocus,
126
- onDelete,
127
- onPaste,
128
142
  nextFocus,
129
- prevFocus
143
+ prevFocus,
144
+ onKeyDown
130
145
  };
131
146
  }
132
147
  });
@@ -1,10 +1,17 @@
1
+ import { PropType } from 'vue-demi';
2
+ import { AcceptVariant } from '../input';
3
+ import { SizeVariant } from '../button';
1
4
  declare const _default: import("vue-demi").DefineComponent<{
2
5
  modelValue: {
3
6
  type: StringConstructor;
4
7
  default: undefined;
5
8
  };
9
+ size: {
10
+ type: PropType<SizeVariant>;
11
+ default: string;
12
+ };
6
13
  length: {
7
- type: (StringConstructor | NumberConstructor)[];
14
+ type: (NumberConstructor | StringConstructor)[];
8
15
  default: number;
9
16
  };
10
17
  disabled: {
@@ -19,24 +26,30 @@ declare const _default: import("vue-demi").DefineComponent<{
19
26
  type: BooleanConstructor;
20
27
  default: boolean;
21
28
  };
29
+ accept: {
30
+ type: PropType<AcceptVariant>;
31
+ default: undefined;
32
+ };
22
33
  }, {
23
34
  classNames: import("vue-demi").ComputedRef<string[]>;
24
35
  num: import("vue-demi").ComputedRef<number>;
25
36
  localModel: import("vue-demi").Ref<string[]>;
26
37
  getValue: (index: number) => string;
27
38
  setValue: (index: number, event: InputEvent) => void;
28
- onFocus: (event: InputEvent) => void;
29
- onDelete: (event: InputEvent) => void;
30
- onPaste: (event: ClipboardEvent) => void;
31
39
  nextFocus: () => void;
32
40
  prevFocus: () => void;
33
- }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("update:modelValue" | "clear")[], "update:modelValue" | "clear", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
41
+ onKeyDown: (event: KeyboardEvent) => void;
42
+ }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
34
43
  modelValue: {
35
44
  type: StringConstructor;
36
45
  default: undefined;
37
46
  };
47
+ size: {
48
+ type: PropType<SizeVariant>;
49
+ default: string;
50
+ };
38
51
  length: {
39
- type: (StringConstructor | NumberConstructor)[];
52
+ type: (NumberConstructor | StringConstructor)[];
40
53
  default: number;
41
54
  };
42
55
  disabled: {
@@ -51,14 +64,20 @@ declare const _default: import("vue-demi").DefineComponent<{
51
64
  type: BooleanConstructor;
52
65
  default: boolean;
53
66
  };
67
+ accept: {
68
+ type: PropType<AcceptVariant>;
69
+ default: undefined;
70
+ };
54
71
  }>> & {
72
+ onChange?: ((...args: any[]) => any) | undefined;
55
73
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
56
- onClear?: ((...args: any[]) => any) | undefined;
57
74
  }, {
58
75
  error: boolean;
59
76
  length: string | number;
77
+ size: SizeVariant;
60
78
  modelValue: string;
61
79
  disabled: boolean;
62
80
  readonly: boolean;
81
+ accept: AcceptVariant;
63
82
  }, {}>;
64
83
  export default _default;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Split string to array
3
+ * @param text
4
+ * @param length
5
+ */
6
+ export declare function toArray(text: string | undefined, length: number): string[];
@@ -0,0 +1,3 @@
1
+ export function toArray(text, length) {
2
+ return [...(text ?? "").padEnd(length)].slice(0, length);
3
+ }
@@ -12,14 +12,14 @@
12
12
  data-testid="track-lower"
13
13
  class="input-range__track input-range__track-lower"
14
14
  :style="lowerStyle"
15
- @click="onClickLowerTrack" />
15
+ @click.capture="onClickLowerTrack" />
16
16
  <!-- Active Track -->
17
17
  <div
18
18
  ref="track-active"
19
19
  data-testid="track-active"
20
20
  class="input-range__track input-range__track-active"
21
21
  :style="upperStyle"
22
- @click="onClickActiveTrack">
22
+ @click.capture="onClickActiveTrack">
23
23
  <div
24
24
  v-show="multiple"
25
25
  ref="thumb-start"
@@ -34,7 +34,7 @@
34
34
  <div
35
35
  data-testid="track-upper"
36
36
  class="input-range__track input-range__track-upper"
37
- @click="onClickUpperTrack" />
37
+ @click.capture="onClickUpperTrack" />
38
38
  </div>
39
39
  </div>
40
40
  </template>
@@ -203,8 +203,8 @@ export default defineComponent({
203
203
  if (!props.disabled && !props.readonly)
204
204
  end.value = getValue(event);
205
205
  });
206
- syncRef(start, vStart);
207
- syncRef(end, vEnd);
206
+ syncRef(start, vStart, { immediate: false });
207
+ syncRef(end, vEnd, { immediate: false });
208
208
  watch([start, end], ([startVal, endVal]) => {
209
209
  localStart.value = startVal;
210
210
  localEnd.value = endVal;
@@ -13,15 +13,15 @@ declare const _default: import("vue-demi").DefineComponent<{
13
13
  default: undefined;
14
14
  };
15
15
  step: {
16
- type: (StringConstructor | NumberConstructor)[];
16
+ type: (NumberConstructor | StringConstructor)[];
17
17
  default: number;
18
18
  };
19
19
  min: {
20
- type: (StringConstructor | NumberConstructor)[];
20
+ type: (NumberConstructor | StringConstructor)[];
21
21
  default: number;
22
22
  };
23
23
  max: {
24
- type: (StringConstructor | NumberConstructor)[];
24
+ type: (NumberConstructor | StringConstructor)[];
25
25
  default: number;
26
26
  };
27
27
  multiple: {
@@ -61,15 +61,15 @@ declare const _default: import("vue-demi").DefineComponent<{
61
61
  default: undefined;
62
62
  };
63
63
  step: {
64
- type: (StringConstructor | NumberConstructor)[];
64
+ type: (NumberConstructor | StringConstructor)[];
65
65
  default: number;
66
66
  };
67
67
  min: {
68
- type: (StringConstructor | NumberConstructor)[];
68
+ type: (NumberConstructor | StringConstructor)[];
69
69
  default: number;
70
70
  };
71
71
  max: {
72
- type: (StringConstructor | NumberConstructor)[];
72
+ type: (NumberConstructor | StringConstructor)[];
73
73
  default: number;
74
74
  };
75
75
  multiple: {
@@ -25,7 +25,7 @@ import {
25
25
  ref
26
26
  } from "vue-demi";
27
27
  import Dot from "../dot/Dot.vue";
28
- import IconClose from "@carbon/icons-vue/lib/close/16";
28
+ import IconClose from "@privyid/persona-icon/vue/close/16.vue";
29
29
  export default defineComponent({
30
30
  components: { Dot, IconClose },
31
31
  props: {
@@ -17,6 +17,14 @@ export default defineComponent({
17
17
  horizontal: {
18
18
  type: Boolean,
19
19
  default: false
20
+ },
21
+ borderless: {
22
+ type: Boolean,
23
+ default: false
24
+ },
25
+ rounded: {
26
+ type: Boolean,
27
+ default: false
20
28
  }
21
29
  },
22
30
  setup(props) {
@@ -26,6 +34,10 @@ export default defineComponent({
26
34
  result.push("list-group--flush");
27
35
  if (props.horizontal)
28
36
  result.push("list-group--horizontal");
37
+ if (props.borderless)
38
+ result.push("list-group--borderless");
39
+ if (props.rounded)
40
+ result.push("list-group--rounded");
29
41
  return result;
30
42
  });
31
43
  return { classNames };
@@ -47,5 +59,18 @@ export default defineComponent({
47
59
  &--horizontal {
48
60
  @apply flex-row divide-x divide-y-0;
49
61
  }
62
+
63
+ &--borderless {
64
+ @apply border-0 divide-y-0;
65
+ }
66
+
67
+ &--rounded {
68
+ @apply divide-y-0;
69
+
70
+ > :not([hidden]) ~ :not([hidden]),
71
+ > :first-child {
72
+ @apply rounded-md;
73
+ }
74
+ }
50
75
  }
51
76
  </style>
@@ -7,6 +7,14 @@ declare const _default: import("vue-demi").DefineComponent<{
7
7
  type: BooleanConstructor;
8
8
  default: boolean;
9
9
  };
10
+ borderless: {
11
+ type: BooleanConstructor;
12
+ default: boolean;
13
+ };
14
+ rounded: {
15
+ type: BooleanConstructor;
16
+ default: boolean;
17
+ };
10
18
  }, {
11
19
  classNames: import("vue-demi").ComputedRef<string[]>;
12
20
  }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
@@ -18,8 +26,18 @@ declare const _default: import("vue-demi").DefineComponent<{
18
26
  type: BooleanConstructor;
19
27
  default: boolean;
20
28
  };
29
+ borderless: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ rounded: {
34
+ type: BooleanConstructor;
35
+ default: boolean;
36
+ };
21
37
  }>>, {
22
38
  horizontal: boolean;
23
39
  flush: boolean;
40
+ rounded: boolean;
41
+ borderless: boolean;
24
42
  }, {}>;
25
43
  export default _default;
@@ -68,7 +68,7 @@ import {
68
68
  } from "vue-demi";
69
69
  import { onKeyStroke } from "@vueuse/core";
70
70
  import Heading from "../heading/Heading.vue";
71
- import IconClose from "@carbon/icons-vue/lib/close/16";
71
+ import IconClose from "@privyid/persona-icon/vue/close/16.vue";
72
72
  import { useVModel } from "../input";
73
73
  export default defineComponent({
74
74
  components: { Heading, IconClose },
@@ -178,6 +178,9 @@ export default defineComponent({
178
178
  --p-modal-size-sm: 400px;
179
179
  --p-modal-z-index: theme(zIndex.modal);
180
180
  --p-modal-dismiss-z-index: calc(var(--p-modal-z-index) + 1);
181
+ --p-modal-body-scrollable-max-height: theme(spacing.64);
182
+ --p-modal-body-scrollable-min-height: 0;
183
+ --p-modal-content-margin-y: theme(spacing.8);
181
184
 
182
185
  /**
183
186
  * Set modal backdrop
@@ -238,7 +241,7 @@ export default defineComponent({
238
241
 
239
242
  &__body {
240
243
  &&--scroll {
241
- @apply max-h-64 overflow-y-auto overscroll-contain;
244
+ @apply max-h-[var(--p-modal-body-scrollable-max-height)] min-h-[var(--p-modal-body-scrollable-min-height)] overflow-y-auto overscroll-contain;
242
245
  }
243
246
 
244
247
  + .modal__footer {
@@ -92,11 +92,11 @@ declare const _default: import("vue-demi").DefineComponent<{
92
92
  onClose?: ((...args: any[]) => any) | undefined;
93
93
  }, {
94
94
  size: SizeVariant;
95
+ dismissable: boolean;
96
+ banner: boolean;
95
97
  text: string;
96
98
  modelValue: boolean;
97
99
  title: string;
98
- dismissable: boolean;
99
- banner: boolean;
100
100
  centered: boolean;
101
101
  noCloseOnEsc: boolean;
102
102
  noCloseOnBackdrop: boolean;