@ibiz-template/vue3-components 0.7.26-alpha.2 → 0.7.26

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 (177) hide show
  1. package/dist/index-28jZm-aB.js +4 -0
  2. package/dist/{index-8tGeBxpc.js → index-RwYoggQd.js} +1 -1
  3. package/dist/{index-CDgQJyai.js → index-s7g1-ymW.js} +1 -1
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{xlsx-util-Ux1_tuw5.js → xlsx-util-Rf5FMxyR.js} +1 -1
  7. package/es/common/emoji-select/components/categories/categories.css +1 -0
  8. package/es/common/emoji-select/components/categories/categories.d.ts +30 -0
  9. package/es/common/emoji-select/components/categories/categories.mjs +48 -0
  10. package/es/common/emoji-select/components/categories/index.d.ts +1 -0
  11. package/es/common/emoji-select/components/categories/index.mjs +3 -0
  12. package/es/common/emoji-select/components/category-label/category-label.css +1 -0
  13. package/es/common/emoji-select/components/category-label/category-label.d.ts +18 -0
  14. package/es/common/emoji-select/components/category-label/category-label.mjs +28 -0
  15. package/es/common/emoji-select/components/category-label/index.d.ts +1 -0
  16. package/es/common/emoji-select/components/category-label/index.mjs +3 -0
  17. package/es/common/emoji-select/components/emoji-item/emoji-item.css +1 -0
  18. package/es/common/emoji-select/components/emoji-item/emoji-item.d.ts +44 -0
  19. package/es/common/emoji-select/components/emoji-item/emoji-item.mjs +56 -0
  20. package/es/common/emoji-select/components/emoji-item/index.d.ts +1 -0
  21. package/es/common/emoji-select/components/emoji-item/index.mjs +3 -0
  22. package/es/common/emoji-select/components/emoji-list/emoji-list.css +1 -0
  23. package/es/common/emoji-select/components/emoji-list/emoji-list.d.ts +92 -0
  24. package/es/common/emoji-select/components/emoji-list/emoji-list.mjs +165 -0
  25. package/es/common/emoji-select/components/emoji-list/index.d.ts +1 -0
  26. package/es/common/emoji-select/components/emoji-list/index.mjs +3 -0
  27. package/es/common/emoji-select/components/index.d.ts +5 -0
  28. package/es/common/emoji-select/components/index.mjs +12 -0
  29. package/es/common/emoji-select/components/input-search/index.d.ts +1 -0
  30. package/es/common/emoji-select/components/input-search/index.mjs +3 -0
  31. package/es/common/emoji-select/components/input-search/input-search.css +1 -0
  32. package/es/common/emoji-select/components/input-search/input-search.d.ts +9 -0
  33. package/es/common/emoji-select/components/input-search/input-search.mjs +49 -0
  34. package/es/common/emoji-select/emoji-select.css +1 -0
  35. package/es/common/emoji-select/emoji-select.d.ts +142 -0
  36. package/es/common/emoji-select/emoji-select.mjs +234 -0
  37. package/es/common/emoji-select/icons/categories.d.ts +2 -0
  38. package/es/common/emoji-select/icons/categories.mjs +64 -0
  39. package/es/common/emoji-select/icons/emoji.d.ts +2 -0
  40. package/es/common/emoji-select/icons/emoji.mjs +1444 -0
  41. package/es/common/emoji-select/icons/index.d.ts +3 -0
  42. package/es/common/emoji-select/icons/index.mjs +5 -0
  43. package/es/common/emoji-select/icons/search.d.ts +1 -0
  44. package/es/common/emoji-select/icons/search.mjs +16 -0
  45. package/es/common/emoji-select/interface/category.d.ts +44 -0
  46. package/es/common/emoji-select/interface/category.mjs +22 -0
  47. package/es/common/emoji-select/interface/emoji.d.ts +37 -0
  48. package/es/common/emoji-select/interface/emoji.mjs +19 -0
  49. package/es/common/emoji-select/interface/index.d.ts +3 -0
  50. package/es/common/emoji-select/interface/index.mjs +5 -0
  51. package/es/common/emoji-select/interface/map-emojis.d.ts +17 -0
  52. package/es/common/emoji-select/interface/map-emojis.mjs +1 -0
  53. package/es/common/index.mjs +2 -0
  54. package/es/common/view-message/view-message.d.ts +1 -0
  55. package/es/control/calendar/calendar.css +1 -1
  56. package/es/control/calendar/calendar.d.ts +3 -2
  57. package/es/control/calendar/calendar.mjs +203 -86
  58. package/es/control/calendar/components/calendar-daily/calendar-daily.d.ts +1 -1
  59. package/es/control/calendar/components/calendar-daily/index.d.ts +1 -1
  60. package/es/control/calendar/components/calendar-week/calendar-week.d.ts +1 -1
  61. package/es/control/calendar/components/calendar-week/calendar-week.mjs +15 -12
  62. package/es/control/calendar/components/calendar-week/index.d.ts +1 -1
  63. package/es/control/calendar/components/calendar-week/use-calendar-week.mjs +1 -0
  64. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +4 -114
  65. package/es/control/calendar/components/interface/calendar-daily.mjs +0 -3
  66. package/es/control/calendar/components/interface/calendar-week.mjs +3 -2
  67. package/es/control/calendar/components/interface/custom-calendar.mjs +8 -3
  68. package/es/control/calendar/components/interface/index.d.ts +0 -1
  69. package/es/control/calendar/components/interface/index.mjs +0 -1
  70. package/es/control/calendar/index.d.ts +2 -1
  71. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +36 -2
  72. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.mjs +17 -7
  73. package/es/control/dashboard/dashboard-design/dashboard-design.d.ts +10 -32
  74. package/es/control/dashboard/dashboard-design/dashboard-design.mjs +93 -56
  75. package/es/control/drtab/drtab-control.util.mjs +1 -1
  76. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +25 -0
  77. package/es/control/form/form-detail/form-mdctrl/mdctrl-container2/mdctrl-container2.mjs +1 -0
  78. package/es/control/grid/grid/grid-control.util.d.ts +8 -0
  79. package/es/control/grid/grid/grid-control.util.mjs +151 -1
  80. package/es/control/grid/grid/grid.css +1 -1
  81. package/es/control/grid/grid/grid.d.ts +8 -0
  82. package/es/control/grid/grid/grid.mjs +12 -2
  83. package/es/control/grid/grid/index.d.ts +8 -0
  84. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +1 -0
  85. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +21 -1
  86. package/es/control/grid/grid-column/grid-field-column/index.d.ts +1 -0
  87. package/es/control/tree/tree.css +1 -1
  88. package/es/editor/dropdown-list/dropdown-list-editor.provider.d.ts +1 -0
  89. package/es/editor/dropdown-list/dropdown-list-editor.provider.mjs +10 -1
  90. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.css +1 -0
  91. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.d.ts +72 -0
  92. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.mjs +123 -0
  93. package/es/editor/dropdown-list/index.d.ts +1 -0
  94. package/es/editor/dropdown-list/index.mjs +1 -0
  95. package/es/editor/index.mjs +6 -0
  96. package/es/editor/text-box/input/input.d.ts +1 -1
  97. package/es/locale/en/index.d.ts +14 -0
  98. package/es/locale/en/index.mjs +14 -0
  99. package/es/locale/zh-CN/index.d.ts +14 -0
  100. package/es/locale/zh-CN/index.mjs +14 -0
  101. package/es/panel-component/nav-tabs/nav-tabs.controller.d.ts +7 -0
  102. package/es/panel-component/nav-tabs/nav-tabs.controller.mjs +19 -0
  103. package/lib/common/emoji-select/components/categories/categories.cjs +50 -0
  104. package/lib/common/emoji-select/components/categories/categories.css +1 -0
  105. package/lib/common/emoji-select/components/categories/index.cjs +7 -0
  106. package/lib/common/emoji-select/components/category-label/category-label.cjs +30 -0
  107. package/lib/common/emoji-select/components/category-label/category-label.css +1 -0
  108. package/lib/common/emoji-select/components/category-label/index.cjs +7 -0
  109. package/lib/common/emoji-select/components/emoji-item/emoji-item.cjs +58 -0
  110. package/lib/common/emoji-select/components/emoji-item/emoji-item.css +1 -0
  111. package/lib/common/emoji-select/components/emoji-item/index.cjs +7 -0
  112. package/lib/common/emoji-select/components/emoji-list/emoji-list.cjs +167 -0
  113. package/lib/common/emoji-select/components/emoji-list/emoji-list.css +1 -0
  114. package/lib/common/emoji-select/components/emoji-list/index.cjs +7 -0
  115. package/lib/common/emoji-select/components/index.cjs +20 -0
  116. package/lib/common/emoji-select/components/input-search/index.cjs +7 -0
  117. package/lib/common/emoji-select/components/input-search/input-search.cjs +51 -0
  118. package/lib/common/emoji-select/components/input-search/input-search.css +1 -0
  119. package/lib/common/emoji-select/emoji-select.cjs +236 -0
  120. package/lib/common/emoji-select/emoji-select.css +1 -0
  121. package/lib/common/emoji-select/icons/categories.cjs +66 -0
  122. package/lib/common/emoji-select/icons/emoji.cjs +1446 -0
  123. package/lib/common/emoji-select/icons/index.cjs +11 -0
  124. package/lib/common/emoji-select/icons/search.cjs +18 -0
  125. package/lib/common/emoji-select/interface/category.cjs +24 -0
  126. package/lib/common/emoji-select/interface/emoji.cjs +21 -0
  127. package/lib/common/emoji-select/interface/index.cjs +10 -0
  128. package/lib/common/emoji-select/interface/map-emojis.cjs +3 -0
  129. package/lib/common/index.cjs +2 -0
  130. package/lib/control/calendar/calendar.cjs +203 -86
  131. package/lib/control/calendar/calendar.css +1 -1
  132. package/lib/control/calendar/components/calendar-week/calendar-week.cjs +15 -12
  133. package/lib/control/calendar/components/calendar-week/use-calendar-week.cjs +1 -0
  134. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +7 -117
  135. package/lib/control/calendar/components/interface/calendar-daily.cjs +0 -3
  136. package/lib/control/calendar/components/interface/calendar-week.cjs +3 -2
  137. package/lib/control/calendar/components/interface/custom-calendar.cjs +8 -3
  138. package/lib/control/calendar/components/interface/index.cjs +0 -3
  139. package/lib/control/dashboard/custom-dashboard-container/custom-dashboard-container.cjs +17 -7
  140. package/lib/control/dashboard/dashboard-design/dashboard-design.cjs +93 -56
  141. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  142. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container2/mdctrl-container2.cjs +1 -0
  143. package/lib/control/grid/grid/grid-control.util.cjs +151 -1
  144. package/lib/control/grid/grid/grid.cjs +12 -2
  145. package/lib/control/grid/grid/grid.css +1 -1
  146. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +21 -1
  147. package/lib/control/tree/tree.css +1 -1
  148. package/lib/editor/dropdown-list/dropdown-list-editor.provider.cjs +10 -1
  149. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.cjs +125 -0
  150. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.css +1 -0
  151. package/lib/editor/dropdown-list/index.cjs +2 -0
  152. package/lib/editor/index.cjs +6 -0
  153. package/lib/locale/en/index.cjs +14 -0
  154. package/lib/locale/zh-CN/index.cjs +14 -0
  155. package/lib/panel-component/nav-tabs/nav-tabs.controller.cjs +19 -0
  156. package/package.json +8 -8
  157. package/dist/index-o58Mv9D4.js +0 -4
  158. package/es/_virtual/localeData.mjs +0 -3
  159. package/es/control/calendar/components/calendar-month/calendar-month.css +0 -1
  160. package/es/control/calendar/components/calendar-month/calendar-month.d.ts +0 -18
  161. package/es/control/calendar/components/calendar-month/calendar-month.mjs +0 -242
  162. package/es/control/calendar/components/calendar-month/index.d.ts +0 -18
  163. package/es/control/calendar/components/calendar-month/index.mjs +0 -9
  164. package/es/control/calendar/components/calendar-month/use-calendar-month.d.ts +0 -3
  165. package/es/control/calendar/components/calendar-month/use-calendar-month.mjs +0 -384
  166. package/es/control/calendar/components/interface/calendar-month.d.ts +0 -20
  167. package/es/control/calendar/components/interface/calendar-month.mjs +0 -43
  168. package/es/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.mjs +0 -13
  169. package/lib/_virtual/localeData.cjs +0 -5
  170. package/lib/control/calendar/components/calendar-month/calendar-month.cjs +0 -244
  171. package/lib/control/calendar/components/calendar-month/calendar-month.css +0 -1
  172. package/lib/control/calendar/components/calendar-month/index.cjs +0 -14
  173. package/lib/control/calendar/components/calendar-month/use-calendar-month.cjs +0 -386
  174. package/lib/control/calendar/components/interface/calendar-month.cjs +0 -46
  175. package/lib/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.cjs +0 -17
  176. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.25_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.26_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  177. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.25_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.26_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -0,0 +1 @@
1
+ .ibiz-emoji-categories{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;height:var(--ibiz-height-control-default);padding:0 var(--ibiz-spacing-base-loose);overflow-x:auto;background-color:var(--ibiz-color-bg-0)}.ibiz-emoji-categories__category{display:flex;align-items:center;min-width:var(--ibiz-font-size-header-6);height:100%;font-size:var(--ibiz-font-size-header-6);cursor:pointer}.ibiz-emoji-categories__category--svg{line-height:var(--ibiz-font-size-header-6)}.ibiz-emoji-categories__category--svg svg{fill:var(--ibiz-color-text-3)}.ibiz-emoji-categories__category.is-active,.ibiz-emoji-categories__category:hover{position:relative}.ibiz-emoji-categories__category.is-active::after,.ibiz-emoji-categories__category:hover::after{position:absolute;bottom:0;display:block;width:100%;content:"";border-top:.125rem solid var(--ibiz-color-primary)}.ibiz-emoji-categories__category:hover{color:var(--ibiz-color-primary)}.ibiz-emoji-categories__category:hover svg{fill:var(--ibiz-color-primary)}
@@ -0,0 +1,30 @@
1
+ import { PropType } from 'vue';
2
+ import './categories.scss';
3
+ export declare const Categories: import("vue").DefineComponent<{
4
+ categories: {
5
+ type: PropType<IData[]>;
6
+ required: true;
7
+ default: () => never[];
8
+ };
9
+ current: {
10
+ type: StringConstructor;
11
+ required: true;
12
+ };
13
+ }, {
14
+ ns: import("@ibiz-template/core").Namespace;
15
+ onSelect: (category: IData) => void;
16
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "select"[], "select", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
17
+ categories: {
18
+ type: PropType<IData[]>;
19
+ required: true;
20
+ default: () => never[];
21
+ };
22
+ current: {
23
+ type: StringConstructor;
24
+ required: true;
25
+ };
26
+ }>> & {
27
+ onSelect?: ((...args: any[]) => any) | undefined;
28
+ }, {
29
+ categories: IData[];
30
+ }, {}>;
@@ -0,0 +1,48 @@
1
+ import { createVNode, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import './categories.css';
4
+
5
+ "use strict";
6
+ const Categories = /* @__PURE__ */ defineComponent({
7
+ name: "IBizCategories",
8
+ props: {
9
+ categories: {
10
+ type: Array,
11
+ required: true,
12
+ default: () => []
13
+ },
14
+ current: {
15
+ type: String,
16
+ required: true
17
+ }
18
+ },
19
+ emits: ["select"],
20
+ setup(props, {
21
+ emit
22
+ }) {
23
+ const ns = useNamespace("emoji-categories");
24
+ const onSelect = (category) => {
25
+ emit("select", category);
26
+ };
27
+ return {
28
+ ns,
29
+ onSelect
30
+ };
31
+ },
32
+ render() {
33
+ return createVNode("div", {
34
+ "class": this.ns.b()
35
+ }, [this.categories.map((category) => {
36
+ return createVNode("div", {
37
+ "class": [this.ns.e("category"), this.ns.is("active", category.name === this.current)],
38
+ "onClick": () => this.onSelect(category)
39
+ }, [createVNode("span", {
40
+ "class": this.ns.em("category", "svg"),
41
+ "title": category.label,
42
+ "innerHTML": category.icon
43
+ }, null)]);
44
+ })]);
45
+ }
46
+ });
47
+
48
+ export { Categories };
@@ -0,0 +1 @@
1
+ export * from './categories';
@@ -0,0 +1,3 @@
1
+ export { Categories } from './categories.mjs';
2
+
3
+ "use strict";
@@ -0,0 +1 @@
1
+ .ibiz-emoji-category-label{padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-text-3);text-transform:uppercase}
@@ -0,0 +1,18 @@
1
+ import './category-label.scss';
2
+ export declare const CategoryLabel: import("vue").DefineComponent<{
3
+ name: {
4
+ type: StringConstructor;
5
+ default: string;
6
+ };
7
+ }, {
8
+ ns: import("@ibiz-template/core").Namespace;
9
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "select"[], "select", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
10
+ name: {
11
+ type: StringConstructor;
12
+ default: string;
13
+ };
14
+ }>> & {
15
+ onSelect?: ((...args: any[]) => any) | undefined;
16
+ }, {
17
+ name: string;
18
+ }, {}>;
@@ -0,0 +1,28 @@
1
+ import { createVNode, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import './category-label.css';
4
+
5
+ "use strict";
6
+ const CategoryLabel = /* @__PURE__ */ defineComponent({
7
+ name: "IBizCategoryLabel",
8
+ props: {
9
+ name: {
10
+ type: String,
11
+ default: ""
12
+ }
13
+ },
14
+ emits: ["select"],
15
+ setup() {
16
+ const ns = useNamespace("emoji-category-label");
17
+ return {
18
+ ns
19
+ };
20
+ },
21
+ render() {
22
+ return createVNode("div", {
23
+ "class": this.ns.b()
24
+ }, [this.name]);
25
+ }
26
+ });
27
+
28
+ export { CategoryLabel };
@@ -0,0 +1 @@
1
+ export * from './category-label';
@@ -0,0 +1,3 @@
1
+ export { CategoryLabel } from './category-label.mjs';
2
+
3
+ "use strict";
@@ -0,0 +1 @@
1
+ .ibiz-emoji-item{box-sizing:content-box;display:flex;align-items:center;justify-self:center;padding:var(--ibiz-spacing-tight);overflow:hidden;cursor:pointer}.ibiz-emoji-item.is-border:hover{background:var(--ibiz-color-bg-0);border-radius:var(--ibiz-border-radius-small)}
@@ -0,0 +1,44 @@
1
+ import { PropType } from 'vue';
2
+ import './emoji-item.scss';
3
+ export declare const EmojiItem: import("vue").DefineComponent<{
4
+ emoji: {
5
+ type: PropType<IData>;
6
+ required: true;
7
+ default: () => void;
8
+ };
9
+ size: {
10
+ type: NumberConstructor;
11
+ required: true;
12
+ };
13
+ withBorder: {
14
+ type: BooleanConstructor;
15
+ required: true;
16
+ };
17
+ }, {
18
+ ns: import("@ibiz-template/core").Namespace;
19
+ styleSize: import("vue").ComputedRef<{
20
+ fontSize: string;
21
+ lineHeight: string;
22
+ height: string;
23
+ width: string;
24
+ }>;
25
+ onClick: () => void;
26
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
27
+ emoji: {
28
+ type: PropType<IData>;
29
+ required: true;
30
+ default: () => void;
31
+ };
32
+ size: {
33
+ type: NumberConstructor;
34
+ required: true;
35
+ };
36
+ withBorder: {
37
+ type: BooleanConstructor;
38
+ required: true;
39
+ };
40
+ }>> & {
41
+ onClick?: ((...args: any[]) => any) | undefined;
42
+ }, {
43
+ emoji: IData;
44
+ }, {}>;
@@ -0,0 +1,56 @@
1
+ import { computed, createVNode, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import './emoji-item.css';
4
+
5
+ "use strict";
6
+ const EmojiItem = /* @__PURE__ */ defineComponent({
7
+ name: "IBizEmojiItem",
8
+ props: {
9
+ emoji: {
10
+ type: Object,
11
+ required: true,
12
+ default: () => {
13
+ }
14
+ },
15
+ size: {
16
+ type: Number,
17
+ required: true
18
+ },
19
+ withBorder: {
20
+ type: Boolean,
21
+ required: true
22
+ }
23
+ },
24
+ emits: ["click"],
25
+ setup(props, {
26
+ emit
27
+ }) {
28
+ const ns = useNamespace("emoji-item");
29
+ const styleSize = computed(() => {
30
+ return {
31
+ fontSize: "".concat(props.size - 5, "px"),
32
+ lineHeight: "".concat(props.size, "px"),
33
+ height: "".concat(props.size, "px"),
34
+ width: "".concat(props.size, "px")
35
+ };
36
+ });
37
+ const onClick = () => {
38
+ emit("click", props.emoji);
39
+ };
40
+ return {
41
+ ns,
42
+ styleSize,
43
+ onClick
44
+ };
45
+ },
46
+ render() {
47
+ return createVNode("span", {
48
+ "class": [this.ns.b(), this.ns.is("border", this.withBorder)],
49
+ "style": this.styleSize,
50
+ "onClick": this.onClick,
51
+ "innerHTML": this.emoji.data
52
+ }, null);
53
+ }
54
+ });
55
+
56
+ export { EmojiItem };
@@ -0,0 +1 @@
1
+ export * from './emoji-item';
@@ -0,0 +1,3 @@
1
+ export { EmojiItem } from './emoji-item.mjs';
2
+
3
+ "use strict";
@@ -0,0 +1 @@
1
+ .ibiz-emoji-list{display:block;width:100%;max-width:100%;padding:0 var(--ibiz-spacing-tight);padding-bottom:var(--ibiz-spacing-tight)}.ibiz-emoji-list ::-webkit-scrollbar{width:.25rem;margin-right:-4px;overflow:hidden;border-radius:.25rem}.ibiz-emoji-list__container{height:100%;max-height:24vh;padding:0 var(--ibiz-spacing-extra-tight);overflow-y:scroll}.ibiz-emoji-list--grid-emojis{display:grid;justify-items:center}
@@ -0,0 +1,92 @@
1
+ import { PropType } from 'vue';
2
+ import './emoji-list.scss';
3
+ export declare const EmojiList: import("vue").DefineComponent<{
4
+ data: {
5
+ type: PropType<IData>;
6
+ required: true;
7
+ };
8
+ emojisByRow: {
9
+ type: NumberConstructor;
10
+ required: true;
11
+ };
12
+ emojiWithBorder: {
13
+ type: BooleanConstructor;
14
+ };
15
+ emojiSize: {
16
+ type: NumberConstructor;
17
+ };
18
+ filter: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ continuousList: {
23
+ type: BooleanConstructor;
24
+ };
25
+ category: {
26
+ type: StringConstructor;
27
+ default: string;
28
+ };
29
+ categories: {
30
+ type: PropType<IData>;
31
+ required: true;
32
+ default: () => void;
33
+ };
34
+ hasSearch: {
35
+ type: BooleanConstructor;
36
+ };
37
+ }, {
38
+ ns: import("@ibiz-template/core").Namespace;
39
+ emojisRef: import("vue").Ref<IData>;
40
+ gridDynamic: import("vue").ComputedRef<{
41
+ gridTemplateColumns: string;
42
+ }>;
43
+ dataFiltered: import("vue").ComputedRef<any>;
44
+ dataFilteredByCategory: import("vue").ComputedRef<IData>;
45
+ onSelect: (emoji: IData) => void;
46
+ setCategoryRef: (categoryName: string, el: Element) => void;
47
+ renderGridEmojis: (params: IData) => JSX.Element | "";
48
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("data" | "select")[], "data" | "select", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
49
+ data: {
50
+ type: PropType<IData>;
51
+ required: true;
52
+ };
53
+ emojisByRow: {
54
+ type: NumberConstructor;
55
+ required: true;
56
+ };
57
+ emojiWithBorder: {
58
+ type: BooleanConstructor;
59
+ };
60
+ emojiSize: {
61
+ type: NumberConstructor;
62
+ };
63
+ filter: {
64
+ type: StringConstructor;
65
+ default: string;
66
+ };
67
+ continuousList: {
68
+ type: BooleanConstructor;
69
+ };
70
+ category: {
71
+ type: StringConstructor;
72
+ default: string;
73
+ };
74
+ categories: {
75
+ type: PropType<IData>;
76
+ required: true;
77
+ default: () => void;
78
+ };
79
+ hasSearch: {
80
+ type: BooleanConstructor;
81
+ };
82
+ }>> & {
83
+ onSelect?: ((...args: any[]) => any) | undefined;
84
+ onData?: ((...args: any[]) => any) | undefined;
85
+ }, {
86
+ filter: string;
87
+ categories: IData;
88
+ category: string;
89
+ emojiWithBorder: boolean;
90
+ continuousList: boolean;
91
+ hasSearch: boolean;
92
+ }, {}>;
@@ -0,0 +1,165 @@
1
+ import { ref, computed, watch, createVNode, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import '../category-label/index.mjs';
4
+ import '../emoji-item/index.mjs';
5
+ import './emoji-list.css';
6
+ import { EmojiItem } from '../emoji-item/emoji-item.mjs';
7
+ import { CategoryLabel } from '../category-label/category-label.mjs';
8
+
9
+ "use strict";
10
+ const searchByAlias = (term, emoji) => {
11
+ const isRelevant = (alias) => alias.toLowerCase().includes(term);
12
+ return emoji.aliases.some((alias) => isRelevant(alias));
13
+ };
14
+ const EmojiList = /* @__PURE__ */ defineComponent({
15
+ name: "IBizEmojiList",
16
+ props: {
17
+ data: {
18
+ type: Object,
19
+ required: true
20
+ },
21
+ emojisByRow: {
22
+ type: Number,
23
+ required: true
24
+ },
25
+ emojiWithBorder: {
26
+ type: Boolean
27
+ },
28
+ emojiSize: {
29
+ type: Number
30
+ },
31
+ filter: {
32
+ type: String,
33
+ default: ""
34
+ },
35
+ continuousList: {
36
+ type: Boolean
37
+ },
38
+ category: {
39
+ type: String,
40
+ default: ""
41
+ },
42
+ categories: {
43
+ type: Object,
44
+ required: true,
45
+ default: () => {
46
+ }
47
+ },
48
+ hasSearch: {
49
+ type: Boolean
50
+ }
51
+ },
52
+ emits: ["select", "data"],
53
+ setup(props, {
54
+ emit
55
+ }) {
56
+ const ns = useNamespace("emoji-list");
57
+ const emojisRef = ref({});
58
+ const categoryRefs = ref({});
59
+ const dataFiltered = computed(() => {
60
+ let data = props.data[props.category];
61
+ const searchValue = props.filter.trim().toLowerCase();
62
+ if (searchValue) {
63
+ data = data.filter((emoji) => searchByAlias(searchValue, emoji));
64
+ }
65
+ return data;
66
+ });
67
+ const categories = computed(() => {
68
+ return Object.keys(props.data);
69
+ });
70
+ const setCategoryRef = (categoryName, el) => {
71
+ if (el) {
72
+ categoryRefs.value[categoryName] = el;
73
+ }
74
+ };
75
+ const calcScrollTop = () => {
76
+ return props.hasSearch ? 88 : 44;
77
+ };
78
+ const gridDynamic = computed(() => {
79
+ const percent = 100 / props.emojisByRow;
80
+ return {
81
+ gridTemplateColumns: "repeat(".concat(props.emojisByRow, ", ").concat(percent, "%)")
82
+ };
83
+ });
84
+ const dataFilteredByCategory = computed(() => {
85
+ const _data = {};
86
+ Object.assign(_data, props.data);
87
+ const searchValue = props.filter.trim().toLowerCase();
88
+ if (searchValue) {
89
+ categories.value.forEach((category) => {
90
+ _data[category] = props.data[category].filter((item) => searchByAlias(searchValue, item));
91
+ });
92
+ }
93
+ return _data;
94
+ });
95
+ const onSelect = (emoji) => {
96
+ emit("select", emoji);
97
+ };
98
+ watch(() => props.data, () => {
99
+ emojisRef.value.$el.scrollTop = 0;
100
+ });
101
+ watch(() => props.category, (newValue) => {
102
+ if (props.continuousList) {
103
+ const categoryEl = categoryRefs.value[newValue].$el;
104
+ emojisRef.value.scrollTop = categoryEl.offsetTop - calcScrollTop();
105
+ }
106
+ });
107
+ const renderGridEmojis = (params) => {
108
+ const {
109
+ emojis,
110
+ style,
111
+ size,
112
+ withBorder
113
+ } = params;
114
+ return emojis && emojis.length > 0 ? createVNode("div", {
115
+ "class": [ns.m("grid-emojis")],
116
+ "style": style
117
+ }, [emojis.map((emoji) => {
118
+ return createVNode(EmojiItem, {
119
+ "emoji": emoji,
120
+ "size": size,
121
+ "withBorder": withBorder,
122
+ "onClick": () => onSelect(emoji)
123
+ }, null);
124
+ })]) : "";
125
+ };
126
+ return {
127
+ ns,
128
+ emojisRef,
129
+ gridDynamic,
130
+ dataFiltered,
131
+ dataFilteredByCategory,
132
+ onSelect,
133
+ setCategoryRef,
134
+ renderGridEmojis
135
+ };
136
+ },
137
+ render() {
138
+ return createVNode("div", {
139
+ "class": [this.ns.b()]
140
+ }, [createVNode("div", {
141
+ "ref": "emojisRef",
142
+ "class": [this.ns.e("container")]
143
+ }, [this.continuousList ? Object.keys(this.dataFilteredByCategory).map((categoryName) => {
144
+ const category = this.dataFilteredByCategory[categoryName];
145
+ const categoriesItem = this.categories[categoryName];
146
+ const labelName = categoriesItem ? categoriesItem.text : categoryName;
147
+ return createVNode("div", null, [category.length ? createVNode(CategoryLabel, {
148
+ "name": labelName,
149
+ "ref": (el) => this.setCategoryRef(categoryName, el)
150
+ }, null) : "", this.renderGridEmojis({
151
+ emojis: category,
152
+ style: this.gridDynamic,
153
+ size: this.emojiSize,
154
+ withBorder: this.emojiWithBorder
155
+ })]);
156
+ }) : this.renderGridEmojis({
157
+ emojis: this.dataFiltered || [],
158
+ style: this.gridDynamic,
159
+ size: this.emojiSize,
160
+ withBorder: this.emojiWithBorder
161
+ })])]);
162
+ }
163
+ });
164
+
165
+ export { EmojiList };
@@ -0,0 +1 @@
1
+ export * from './emoji-list';
@@ -0,0 +1,3 @@
1
+ export { EmojiList } from './emoji-list.mjs';
2
+
3
+ "use strict";
@@ -0,0 +1,5 @@
1
+ export * from './categories';
2
+ export * from './category-label';
3
+ export * from './emoji-item';
4
+ export * from './emoji-list';
5
+ export * from './input-search';
@@ -0,0 +1,12 @@
1
+ import './categories/index.mjs';
2
+ import './category-label/index.mjs';
3
+ import './emoji-item/index.mjs';
4
+ import './emoji-list/index.mjs';
5
+ import './input-search/index.mjs';
6
+ export { Categories } from './categories/categories.mjs';
7
+ export { CategoryLabel } from './category-label/category-label.mjs';
8
+ export { EmojiItem } from './emoji-item/emoji-item.mjs';
9
+ export { EmojiList } from './emoji-list/emoji-list.mjs';
10
+ export { InputSearch } from './input-search/input-search.mjs';
11
+
12
+ "use strict";
@@ -0,0 +1 @@
1
+ export * from './input-search';
@@ -0,0 +1,3 @@
1
+ export { InputSearch } from './input-search.mjs';
2
+
3
+ "use strict";
@@ -0,0 +1 @@
1
+ .ibiz-emoji-input-search{display:block;width:100%;max-width:100%}.ibiz-emoji-input-search__container{position:relative;box-sizing:border-box;display:flex;justify-content:center;width:100%;padding:0 var(--ibiz-spacing-base-loose);margin:var(--ibiz-spacing-base) 0 var(--ibiz-spacing-tight) 0}.ibiz-emoji-input-search__container--input{box-sizing:border-box;width:100%;height:var(--ibiz-height-control-default);padding:0 var(--ibiz-spacing-tight);padding-right:calc(var(--ibiz-spacing-tight) * 2 + var(--ibiz-font-size-regular));border:none;border-radius:var(--ibiz-border-radius-small);box-shadow:0 0 0 1px var(--ibiz-color-border) inset}.ibiz-emoji-input-search__container--input:focus{outline:0;box-shadow:0 0 0 1px var(--ibiz-color-primary) inset}.ibiz-emoji-input-search__container--search{position:absolute;top:50%;right:var(--ibiz-spacing-base-loose);padding:0 var(--ibiz-spacing-tight);cursor:pointer;transform:translate(0,-50%)}.ibiz-emoji-input-search__container--search::after{position:absolute;top:50%;right:calc(var(--ibiz-spacing-tight) * 2 + var(--ibiz-font-size-regular));display:block;width:1px;height:var(--ibiz-font-size-regular);content:"";border-left:1px solid var(--ibiz-color-border);transform:translate(0,-50%)}.ibiz-emoji-input-search__container--search svg{fill:var(--ibiz-color-text-3)}.ibiz-emoji-input-search__container:hover input{box-shadow:0 0 0 1px var(--ibiz-color-primary) inset}
@@ -0,0 +1,9 @@
1
+ import './input-search.scss';
2
+ export declare const InputSearch: import("vue").DefineComponent<{}, {
3
+ ns: import("@ibiz-template/core").Namespace;
4
+ inputSearch: import("vue").Ref<string>;
5
+ onSearch: () => void;
6
+ handleKeyUp: (e: KeyboardEvent) => void;
7
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update"[], "update", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>> & {
8
+ onUpdate?: ((...args: any[]) => any) | undefined;
9
+ }, {}, {}>;
@@ -0,0 +1,49 @@
1
+ import { ref, createVNode, vModelText, withDirectives, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import '../../icons/index.mjs';
4
+ import './input-search.css';
5
+ import { SearchSvg } from '../../icons/search.mjs';
6
+
7
+ "use strict";
8
+ const InputSearch = /* @__PURE__ */ defineComponent({
9
+ name: "IBizInputSearch",
10
+ emits: ["update"],
11
+ setup(props, {
12
+ emit
13
+ }) {
14
+ const ns = useNamespace("emoji-input-search");
15
+ const inputSearch = ref("");
16
+ const onSearch = () => {
17
+ emit("update", inputSearch.value);
18
+ };
19
+ const handleKeyUp = (e) => {
20
+ if (e && e.code === "Enter") {
21
+ onSearch();
22
+ }
23
+ };
24
+ return {
25
+ ns,
26
+ inputSearch,
27
+ onSearch,
28
+ handleKeyUp
29
+ };
30
+ },
31
+ render() {
32
+ return createVNode("div", {
33
+ "class": [this.ns.b()]
34
+ }, [createVNode("div", {
35
+ "class": this.ns.e("container"),
36
+ "onKeyup": this.handleKeyUp
37
+ }, [createVNode("div", {
38
+ "class": this.ns.em("container", "search"),
39
+ "onClick": this.onSearch
40
+ }, [SearchSvg()]), withDirectives(createVNode("input", {
41
+ "class": this.ns.em("container", "input"),
42
+ "type": "text",
43
+ "onUpdate:modelValue": ($event) => this.inputSearch = $event,
44
+ "placeholder": ibiz.i18n.t("app.search")
45
+ }, null), [[vModelText, this.inputSearch]])])]);
46
+ }
47
+ });
48
+
49
+ export { InputSearch };
@@ -0,0 +1 @@
1
+ .ibiz-emoji-select{display:inline-flex;flex-direction:column;align-items:center;width:22.375rem;padding-bottom:var(--ibiz-spacing-tight);overflow:hidden;font-size:var(--ibiz-font-size-regular);-webkit-user-select:none;-moz-user-select:none;user-select:none}@media screen and (width <= 22.375rem){.ibiz-emoji-select{width:100%}}