bromcom-ui-next 0.1.25 → 0.1.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 (113) hide show
  1. package/dist/bromcom-ui/bcm-button.bcm-drawer.bcm-dropdown.bcm-dropdown-item.bcm-input.bcm-linked.bcm-shortcut.bcm-text.entry.esm.js.map +1 -0
  2. package/dist/bromcom-ui/bcm-tabs-trigger.entry.esm.js.map +1 -1
  3. package/dist/bromcom-ui/bcm-tabs.entry.esm.js.map +1 -1
  4. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  5. package/dist/bromcom-ui/p-6bc82dd4.entry.js +2 -0
  6. package/dist/bromcom-ui/p-6bc82dd4.entry.js.map +1 -0
  7. package/dist/bromcom-ui/p-bd293ffd.entry.js +2 -0
  8. package/dist/bromcom-ui/p-bd293ffd.entry.js.map +1 -0
  9. package/dist/bromcom-ui/{p-c709842a.entry.js → p-d3206345.entry.js} +2 -2
  10. package/dist/bromcom-ui/p-d3206345.entry.js.map +1 -0
  11. package/dist/cjs/bcm-button.bcm-drawer.bcm-dropdown.bcm-dropdown-item.bcm-input.bcm-linked.bcm-shortcut.bcm-text.entry.cjs.js.map +1 -0
  12. package/dist/cjs/bcm-button_8.cjs.entry.js +1414 -0
  13. package/dist/cjs/bcm-button_8.cjs.entry.js.map +1 -0
  14. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +3 -3
  15. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +1 -1
  16. package/dist/cjs/bcm-tabs-trigger.entry.cjs.js.map +1 -1
  17. package/dist/cjs/bcm-tabs.cjs.entry.js +2 -2
  18. package/dist/cjs/bcm-tabs.cjs.entry.js.map +1 -1
  19. package/dist/cjs/bcm-tabs.entry.cjs.js.map +1 -1
  20. package/dist/cjs/bromcom-ui.cjs.js +1 -1
  21. package/dist/cjs/loader.cjs.js +1 -1
  22. package/dist/collection/components/button/button.css +1 -1
  23. package/dist/collection/components/tabs/tabs-trigger.component.js +2 -2
  24. package/dist/collection/components/tabs/tabs-trigger.component.js.map +1 -1
  25. package/dist/collection/components/tabs/tabs-trigger.css +1 -1
  26. package/dist/collection/components/tabs/tabs.component.js +2 -2
  27. package/dist/collection/components/tabs/tabs.component.js.map +1 -1
  28. package/dist/components/bcm-button.js +1 -1
  29. package/dist/components/bcm-dropdown.js +1 -1
  30. package/dist/components/bcm-pop-confirm.js +1 -1
  31. package/dist/components/bcm-tabs-trigger.js +3 -3
  32. package/dist/components/bcm-tabs-trigger.js.map +1 -1
  33. package/dist/components/bcm-tabs.js +2 -2
  34. package/dist/components/bcm-tabs.js.map +1 -1
  35. package/dist/components/{p-e6quW4es.js → p-BdGAZ8M0.js} +3 -3
  36. package/dist/components/{p-e6quW4es.js.map → p-BdGAZ8M0.js.map} +1 -1
  37. package/dist/esm/bcm-button.bcm-drawer.bcm-dropdown.bcm-dropdown-item.bcm-input.bcm-linked.bcm-shortcut.bcm-text.entry.js.map +1 -0
  38. package/dist/esm/bcm-button_8.entry.js +1405 -0
  39. package/dist/esm/bcm-button_8.entry.js.map +1 -0
  40. package/dist/esm/bcm-tabs-trigger.entry.js +3 -3
  41. package/dist/esm/bcm-tabs-trigger.entry.js.map +1 -1
  42. package/dist/esm/bcm-tabs.entry.js +2 -2
  43. package/dist/esm/bcm-tabs.entry.js.map +1 -1
  44. package/dist/esm/bromcom-ui.js +1 -1
  45. package/dist/esm/loader.js +1 -1
  46. package/package.json +1 -1
  47. package/dist/bromcom-ui/bcm-button.entry.esm.js.map +0 -1
  48. package/dist/bromcom-ui/bcm-drawer.entry.esm.js.map +0 -1
  49. package/dist/bromcom-ui/bcm-dropdown-item.entry.esm.js.map +0 -1
  50. package/dist/bromcom-ui/bcm-dropdown.entry.esm.js.map +0 -1
  51. package/dist/bromcom-ui/bcm-input.entry.esm.js.map +0 -1
  52. package/dist/bromcom-ui/bcm-linked.entry.esm.js.map +0 -1
  53. package/dist/bromcom-ui/bcm-shortcut.entry.esm.js.map +0 -1
  54. package/dist/bromcom-ui/bcm-text.entry.esm.js.map +0 -1
  55. package/dist/bromcom-ui/p-00dc393e.entry.js +0 -2
  56. package/dist/bromcom-ui/p-00dc393e.entry.js.map +0 -1
  57. package/dist/bromcom-ui/p-0421d64a.entry.js +0 -2
  58. package/dist/bromcom-ui/p-0421d64a.entry.js.map +0 -1
  59. package/dist/bromcom-ui/p-06656239.entry.js +0 -2
  60. package/dist/bromcom-ui/p-06656239.entry.js.map +0 -1
  61. package/dist/bromcom-ui/p-48c554fc.entry.js +0 -2
  62. package/dist/bromcom-ui/p-48c554fc.entry.js.map +0 -1
  63. package/dist/bromcom-ui/p-b37f2434.entry.js +0 -2
  64. package/dist/bromcom-ui/p-b37f2434.entry.js.map +0 -1
  65. package/dist/bromcom-ui/p-c709842a.entry.js.map +0 -1
  66. package/dist/bromcom-ui/p-e989b918.entry.js +0 -2
  67. package/dist/bromcom-ui/p-e989b918.entry.js.map +0 -1
  68. package/dist/bromcom-ui/p-ed796a79.entry.js +0 -2
  69. package/dist/bromcom-ui/p-ed796a79.entry.js.map +0 -1
  70. package/dist/bromcom-ui/p-edd01d0d.entry.js +0 -2
  71. package/dist/bromcom-ui/p-edd01d0d.entry.js.map +0 -1
  72. package/dist/bromcom-ui/p-f34bfa88.entry.js +0 -2
  73. package/dist/bromcom-ui/p-f34bfa88.entry.js.map +0 -1
  74. package/dist/cjs/bcm-button.cjs.entry.js +0 -316
  75. package/dist/cjs/bcm-button.cjs.entry.js.map +0 -1
  76. package/dist/cjs/bcm-button.entry.cjs.js.map +0 -1
  77. package/dist/cjs/bcm-drawer.cjs.entry.js +0 -206
  78. package/dist/cjs/bcm-drawer.cjs.entry.js.map +0 -1
  79. package/dist/cjs/bcm-drawer.entry.cjs.js.map +0 -1
  80. package/dist/cjs/bcm-dropdown-item.cjs.entry.js +0 -61
  81. package/dist/cjs/bcm-dropdown-item.cjs.entry.js.map +0 -1
  82. package/dist/cjs/bcm-dropdown-item.entry.cjs.js.map +0 -1
  83. package/dist/cjs/bcm-dropdown.cjs.entry.js +0 -54
  84. package/dist/cjs/bcm-dropdown.cjs.entry.js.map +0 -1
  85. package/dist/cjs/bcm-dropdown.entry.cjs.js.map +0 -1
  86. package/dist/cjs/bcm-input.cjs.entry.js +0 -315
  87. package/dist/cjs/bcm-input.cjs.entry.js.map +0 -1
  88. package/dist/cjs/bcm-input.entry.cjs.js.map +0 -1
  89. package/dist/cjs/bcm-linked.cjs.entry.js +0 -343
  90. package/dist/cjs/bcm-linked.cjs.entry.js.map +0 -1
  91. package/dist/cjs/bcm-linked.entry.cjs.js.map +0 -1
  92. package/dist/cjs/bcm-shortcut.cjs.entry.js +0 -50
  93. package/dist/cjs/bcm-shortcut.cjs.entry.js.map +0 -1
  94. package/dist/cjs/bcm-shortcut.entry.cjs.js.map +0 -1
  95. package/dist/cjs/bcm-text.cjs.entry.js +0 -124
  96. package/dist/cjs/bcm-text.cjs.entry.js.map +0 -1
  97. package/dist/cjs/bcm-text.entry.cjs.js.map +0 -1
  98. package/dist/esm/bcm-button.entry.js +0 -314
  99. package/dist/esm/bcm-button.entry.js.map +0 -1
  100. package/dist/esm/bcm-drawer.entry.js +0 -204
  101. package/dist/esm/bcm-drawer.entry.js.map +0 -1
  102. package/dist/esm/bcm-dropdown-item.entry.js +0 -59
  103. package/dist/esm/bcm-dropdown-item.entry.js.map +0 -1
  104. package/dist/esm/bcm-dropdown.entry.js +0 -52
  105. package/dist/esm/bcm-dropdown.entry.js.map +0 -1
  106. package/dist/esm/bcm-input.entry.js +0 -313
  107. package/dist/esm/bcm-input.entry.js.map +0 -1
  108. package/dist/esm/bcm-linked.entry.js +0 -341
  109. package/dist/esm/bcm-linked.entry.js.map +0 -1
  110. package/dist/esm/bcm-shortcut.entry.js +0 -48
  111. package/dist/esm/bcm-shortcut.entry.js.map +0 -1
  112. package/dist/esm/bcm-text.entry.js +0 -122
  113. package/dist/esm/bcm-text.entry.js.map +0 -1
@@ -1,204 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h, a as getElement } from './index-B84DzIAh.js';
2
- import { t as tv } from './tv-CEcVC0yX.js';
3
-
4
- const drawerCss = ".contents{display:contents}:host{display:contents}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.z-40{z-index:40}.z-50{z-index:50}.m-0{margin:0}.flex{display:flex}.hidden{display:none}.h-6{height:1.5rem}.w-6{width:1.5rem}.flex-grow{flex-grow:1}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x:100%}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.overflow-y-auto{overflow-y:auto}.border-none{border-style:none}.bg-color-base{background-color:var(--bcm-ui-color-background-base-default)}.bg-color-default{background-color:var(--bcm-ui-color-background-default-default)}.bg-color-transparent{background-color:var(--bcm-ui-color-background-transparent-default)}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-color-default{color:var(--bcm-ui-color-text-default)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\\:bg-color-default-hover:hover{background-color:var(--bcm-ui-color-background-default-hover)}.active\\:bg-color-default-active:active{background-color:var(--bcm-ui-color-background-default-active)}";
5
-
6
- const BcmDrawer = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- this.bcmOpen = createEvent(this, "bcmOpen", 7);
10
- this.bcmClose = createEvent(this, "bcmClose", 7);
11
- this.bcmBeforeOpen = createEvent(this, "bcmBeforeOpen", 7);
12
- this.bcmBeforeClose = createEvent(this, "bcmBeforeClose", 7);
13
- this.open = false;
14
- this.size = 'medium';
15
- this.position = 'right';
16
- this.fullWidth = false;
17
- this.noHeader = false;
18
- this.drawerClass = tv({
19
- slots: {
20
- backdrop: 'fixed inset-0 bg-color-transparent z-40 transition-opacity duration-300',
21
- wrapper: 'bcm-ui-element fixed bg-color-base text-color-default z-50 transform transition-transform duration-300 ease-in-out flex flex-col',
22
- header: 'flex justify-between items-center bg-color-default text-color-default',
23
- title: 'font-semibold m-0 text-size-6',
24
- closeButton: 'text-size-5 font-medium text-color-default bg-transparent border-none p-0 h-6 w-6 hover:bg-color-default-hover cursor-pointer active:bg-color-default-active',
25
- content: 'overflow-y-auto flex-grow',
26
- },
27
- variants: {
28
- open: {
29
- true: {
30
- backdrop: 'opacity-100 visible',
31
- },
32
- false: {
33
- backdrop: 'opacity-0 invisible',
34
- },
35
- },
36
- position: {
37
- left: {
38
- wrapper: 'top-0 left-0 bottom-0',
39
- },
40
- right: {
41
- wrapper: 'top-0 right-0 bottom-0',
42
- },
43
- top: {
44
- wrapper: 'top-0 left-0 right-0',
45
- },
46
- bottom: {
47
- wrapper: 'bottom-0 left-0 right-0',
48
- },
49
- },
50
- size: {
51
- small: {
52
- header: 'py-3 px-4',
53
- content: 'p-4',
54
- },
55
- medium: {
56
- header: 'py-3 px-4',
57
- content: 'p-4',
58
- },
59
- large: {
60
- header: 'py-3 px-4',
61
- content: 'p-4',
62
- },
63
- },
64
- noHeader: {
65
- true: {
66
- header: 'hidden',
67
- },
68
- },
69
- },
70
- compoundVariants: [
71
- {
72
- open: true,
73
- position: ['left', 'right'],
74
- class: {
75
- wrapper: 'translate-x-0',
76
- },
77
- },
78
- {
79
- open: true,
80
- position: ['top', 'bottom'],
81
- class: {
82
- wrapper: 'translate-y-0',
83
- },
84
- },
85
- {
86
- open: false,
87
- position: 'left',
88
- class: {
89
- wrapper: '-translate-x-full',
90
- },
91
- },
92
- {
93
- open: false,
94
- position: 'right',
95
- class: {
96
- wrapper: 'translate-x-full',
97
- },
98
- },
99
- {
100
- open: false,
101
- position: 'top',
102
- class: {
103
- wrapper: '-translate-y-full',
104
- },
105
- },
106
- {
107
- open: false,
108
- position: 'bottom',
109
- class: {
110
- wrapper: 'translate-y-full',
111
- },
112
- },
113
- ],
114
- });
115
- }
116
- handleOpenChange(isOpen) {
117
- if (isOpen) {
118
- document.body.style.overflow = 'hidden';
119
- this.bcmOpen.emit();
120
- }
121
- else {
122
- document.body.style.overflow = '';
123
- this.bcmClose.emit();
124
- }
125
- }
126
- handleKeyDown(event) {
127
- if (event.key === 'Escape' && this.open) {
128
- this.hide();
129
- }
130
- }
131
- async show() {
132
- const event = this.bcmBeforeOpen.emit();
133
- if (!event.defaultPrevented) {
134
- this.open = true;
135
- }
136
- }
137
- async hide() {
138
- const event = this.bcmBeforeClose.emit();
139
- if (!event.defaultPrevented) {
140
- this.open = false;
141
- }
142
- }
143
- disconnectedCallback() {
144
- document.body.style.overflow = '';
145
- }
146
- getWrapperStyle() {
147
- const style = {};
148
- if (this.fullWidth) {
149
- if (this.position === 'left' || this.position === 'right') {
150
- style.width = '100vw';
151
- }
152
- else {
153
- style.height = '100vh';
154
- }
155
- return style;
156
- }
157
- if (this.position === 'left' || this.position === 'right') {
158
- switch (this.size) {
159
- case 'small':
160
- style.width = '320px';
161
- break;
162
- case 'medium':
163
- style.width = '480px';
164
- break;
165
- case 'large':
166
- style.width = '1064px';
167
- break;
168
- }
169
- }
170
- else {
171
- switch (this.size) {
172
- case 'small':
173
- style.height = '40vh';
174
- break;
175
- case 'medium':
176
- style.height = '60vh';
177
- break;
178
- case 'large':
179
- style.height = '90vh';
180
- break;
181
- }
182
- }
183
- return style;
184
- }
185
- render() {
186
- const { backdrop, wrapper, header, title, closeButton, content } = this.drawerClass({
187
- open: this.open,
188
- position: this.position,
189
- size: this.size,
190
- noHeader: this.noHeader,
191
- });
192
- return (h("div", { key: '44379905f1499a16d625ac4d1ff5e89fc6367d46', part: "base" }, h("div", { key: 'bc53e5322a61cd4af0691905c509d4c5fb765939', part: "backdrop", class: backdrop(), onClick: () => this.hide() }), h("div", { key: 'd5a666671d24b2f3b55b7462b5218a3e11358982', part: "wrapper", class: wrapper(), style: this.getWrapperStyle(), role: "dialog", "aria-modal": "true", "aria-hidden": !this.open ? 'true' : 'false', "aria-label": this.headerText }, h("div", { key: '5124de9d7fa8f3aa7267f0998f4c4f98f3ebbc4a', part: "header", class: header() }, h("h2", { key: '8aa4b971efa9fe0fafa1cfb94f0b6b96f21f2f15', part: "title", class: title() }, h("slot", { key: '949ae8f65d13e9e1c973c16a9f90205ac7e7042f', name: "header" }, this.headerText)), h("button", { key: 'a0c42761ee859e87dee5c267ea7245dde4fb8756', part: "close-button", class: closeButton(), onClick: () => this.hide(), "aria-label": "Close" }, h("bcm-icon", { key: '2df273d63da93eda2280759a909906fe4ae0c493', name: "fa-solid fa-xmark" }))), h("div", { key: 'b2532537d10f9aa0dcfa2fca8ac806577363e05b', part: "content", class: content() }, h("slot", { key: 'bfec5cff35a7bf7bf1d9801ba89559501e6f301f' })), h("div", { key: '4d44fdba62c74fd5c893c5296f998754228cf961', part: "footer" }, h("slot", { key: 'fd0a58127fd2f0ba0955cef629e55700142a8f32', name: "footer" })))));
193
- }
194
- get host() { return getElement(this); }
195
- static get watchers() { return {
196
- "open": ["handleOpenChange"]
197
- }; }
198
- };
199
- BcmDrawer.style = drawerCss;
200
-
201
- export { BcmDrawer as bcm_drawer };
202
- //# sourceMappingURL=bcm-drawer.entry.js.map
203
-
204
- //# sourceMappingURL=bcm-drawer.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bcm-drawer.entry.js","sources":["src/components/drawer/drawer.css?tag=bcm-drawer&encapsulation=shadow","src/components/drawer/drawer.component.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n","import { Component, Prop, h, Element, Event, EventEmitter, Method, Watch, Listen } from '@stencil/core';\nimport { tv } from '@utils/tv';\nimport { DrawerPosition, DrawerSize } from './types';\n\n@Component({\n tag: 'bcm-drawer',\n styleUrl: 'drawer.css',\n shadow: true,\n})\nexport class BcmDrawer {\n @Element() host: HTMLElement;\n\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n @Prop() size: DrawerSize = 'medium';\n @Prop() position: DrawerPosition = 'right';\n @Prop({ attribute: 'full-width' }) fullWidth: boolean = false;\n @Prop() headerText?: string;\n @Prop({ attribute: 'no-header' }) noHeader: boolean = false;\n\n @Event() bcmOpen: EventEmitter<void>;\n @Event() bcmClose: EventEmitter<void>;\n @Event({ cancelable: true }) bcmBeforeOpen: EventEmitter<void>;\n @Event({ cancelable: true }) bcmBeforeClose: EventEmitter<void>;\n\n private drawerClass = tv({\n slots: {\n backdrop: 'fixed inset-0 bg-color-transparent z-40 transition-opacity duration-300',\n wrapper: 'bcm-ui-element fixed bg-color-base text-color-default z-50 transform transition-transform duration-300 ease-in-out flex flex-col',\n header: 'flex justify-between items-center bg-color-default text-color-default',\n title: 'font-semibold m-0 text-size-6',\n closeButton: 'text-size-5 font-medium text-color-default bg-transparent border-none p-0 h-6 w-6 hover:bg-color-default-hover cursor-pointer active:bg-color-default-active',\n content: 'overflow-y-auto flex-grow',\n },\n variants: {\n open: {\n true: {\n backdrop: 'opacity-100 visible',\n },\n false: {\n backdrop: 'opacity-0 invisible',\n },\n },\n position: {\n left: {\n wrapper: 'top-0 left-0 bottom-0',\n },\n right: {\n wrapper: 'top-0 right-0 bottom-0',\n },\n top: {\n wrapper: 'top-0 left-0 right-0',\n },\n bottom: {\n wrapper: 'bottom-0 left-0 right-0',\n },\n },\n size: {\n small: {\n header: 'py-3 px-4',\n content: 'p-4',\n },\n medium: {\n header: 'py-3 px-4',\n content: 'p-4',\n },\n large: {\n header: 'py-3 px-4',\n content: 'p-4',\n },\n },\n noHeader: {\n true: {\n header: 'hidden',\n },\n },\n },\n compoundVariants: [\n {\n open: true,\n position: ['left', 'right'],\n class: {\n wrapper: 'translate-x-0',\n },\n },\n {\n open: true,\n position: ['top', 'bottom'],\n class: {\n wrapper: 'translate-y-0',\n },\n },\n {\n open: false,\n position: 'left',\n class: {\n wrapper: '-translate-x-full',\n },\n },\n {\n open: false,\n position: 'right',\n class: {\n wrapper: 'translate-x-full',\n },\n },\n {\n open: false,\n position: 'top',\n class: {\n wrapper: '-translate-y-full',\n },\n },\n {\n open: false,\n position: 'bottom',\n class: {\n wrapper: 'translate-y-full',\n },\n },\n ],\n });\n\n @Watch('open')\n handleOpenChange(isOpen: boolean) {\n if (isOpen) {\n document.body.style.overflow = 'hidden';\n this.bcmOpen.emit();\n } else {\n document.body.style.overflow = '';\n this.bcmClose.emit();\n }\n }\n\n @Listen('keydown', { target: 'window' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape' && this.open) {\n this.hide();\n }\n }\n\n @Method()\n async show(): Promise<void> {\n const event = this.bcmBeforeOpen.emit();\n if (!event.defaultPrevented) {\n this.open = true;\n }\n }\n\n @Method()\n async hide(): Promise<void> {\n const event = this.bcmBeforeClose.emit();\n if (!event.defaultPrevented) {\n this.open = false;\n }\n }\n\n disconnectedCallback() {\n document.body.style.overflow = '';\n }\n\n private getWrapperStyle() {\n const style: { [key: string]: string } = {};\n\n if (this.fullWidth) {\n if (this.position === 'left' || this.position === 'right') {\n style.width = '100vw';\n } else {\n style.height = '100vh';\n }\n return style;\n }\n\n if (this.position === 'left' || this.position === 'right') {\n switch (this.size) {\n case 'small':\n style.width = '320px';\n break;\n case 'medium':\n style.width = '480px';\n break;\n case 'large':\n style.width = '1064px';\n break;\n }\n } else {\n switch (this.size) {\n case 'small':\n style.height = '40vh';\n break;\n case 'medium':\n style.height = '60vh';\n break;\n case 'large':\n style.height = '90vh';\n break;\n }\n }\n\n return style;\n }\n\n render() {\n const { backdrop, wrapper, header, title, closeButton, content } = this.drawerClass({\n open: this.open,\n position: this.position,\n size: this.size,\n noHeader: this.noHeader,\n });\n\n return (\n <div part=\"base\">\n <div part=\"backdrop\" class={backdrop()} onClick={() => this.hide()} />\n <div\n part=\"wrapper\"\n class={wrapper()}\n style={this.getWrapperStyle()}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={!this.open ? 'true' : 'false'}\n aria-label={this.headerText}\n >\n <div part=\"header\" class={header()}>\n <h2 part=\"title\" class={title()}>\n <slot name=\"header\">{this.headerText}</slot>\n </h2>\n <button part=\"close-button\" class={closeButton()} onClick={() => this.hide()} aria-label=\"Close\">\n <bcm-icon name=\"fa-solid fa-xmark\"></bcm-icon>\n </button>\n </div>\n <div part=\"content\" class={content()}>\n <slot />\n </div>\n <div part=\"footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h, a as getElement } from './index-B84DzIAh.js';
2
- import { t as tv } from './tv-CEcVC0yX.js';
3
-
4
- const dropdownItemCss = ".flex{display:flex}:host{display:inline-block;width:100%}::slotted([slot=left-content]){align-items:center;display:flex;flex-direction:row;gap:8px}::slotted([slot=right-content]){align-items:center;display:flex;flex-direction:row;gap:8px}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.w-full{width:100%}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.gap-2{gap:.5rem}.text-pretty{text-wrap:pretty}.bg-\\[var\\(--bcm-ui-color-background-base-active\\)\\]{background-color:var(--bcm-ui-color-background-base-active)}.bg-\\[var\\(--bcm-ui-color-background-palette-red-default\\)\\]{background-color:var(--bcm-ui-color-background-palette-red-default)}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-base-active\\)\\]:hover{background-color:var(--bcm-ui-color-background-base-active)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-base-hover\\)\\]:hover{background-color:var(--bcm-ui-color-background-base-hover)}.hover\\:bg-\\[var\\(--bcm-ui-color-background-palette-red-default\\)\\]:hover{background-color:var(--bcm-ui-color-background-palette-red-default)}";
5
-
6
- const DropdownItem = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- this.bcmDropDownItemChange = createEvent(this, "bcmDropDownItemChange", 1);
10
- this.selected = false;
11
- this.error = false;
12
- this.disabled = false;
13
- this.dropdownItemClass = tv({
14
- base: 'dropdown-item bcm-ui-element bcm-ui-content-display flex flex-row gap-2 py-2 px-4 cursor-pointer text-color',
15
- variants: {
16
- selected: {
17
- true: 'bg-[var(--bcm-ui-color-background-base-active)] hover:bg-[var(--bcm-ui-color-background-base-active)]',
18
- false: 'hover:bg-[var(--bcm-ui-color-background-base-hover)]',
19
- },
20
- error: {
21
- true: 'bg-[var(--bcm-ui-color-background-palette-red-default)] hover:bg-[var(--bcm-ui-color-background-palette-red-default)]',
22
- false: '',
23
- },
24
- disabled: {
25
- true: '', // should be discuss with ux team
26
- false: '',
27
- },
28
- },
29
- defaultVariants: {
30
- selected: false,
31
- error: false,
32
- disabled: false,
33
- },
34
- }, {
35
- twMerge: false,
36
- });
37
- }
38
- handleClick() {
39
- this.selected = true;
40
- this.bcmDropDownItemChange.emit({
41
- element: this.host,
42
- selected: this.selected,
43
- });
44
- }
45
- render() {
46
- var _a;
47
- return (h("div", { key: '69beaac4c9225bc7803b4002f1543c18e76e36cc', "aria-checked": this.selected, class: this.dropdownItemClass({
48
- selected: this.selected,
49
- error: this.error,
50
- }), onClick: () => this.handleClick() }, h("slot", { key: 'ca2712023285689a1774b5869d982e87d3add46a', name: "left-content" }, this.icon && h("bcm-icon", { key: 'bef7483a47c823ed746c39ae37acc3a2360f0c59', "icon-name": this.icon })), h("div", { key: 'a9bdddf97d4a4e07e601599a4adb11354227dd0f', class: "flex flex-row text-pretty w-full" }, h("slot", { key: '51c488350d2daabc32fc9693211a4e89d8cce16f' }, this.text)), h("slot", { key: '9bf3f8b4affa41ea72f181a073aea8cd56f8a2df', name: "right-content" }, (_a = this.rightIcons) === null || _a === void 0 ? void 0 : _a.map(icon => (h("bcm-icon", { "icon-name": icon }))))));
51
- }
52
- get host() { return getElement(this); }
53
- };
54
- DropdownItem.style = dropdownItemCss;
55
-
56
- export { DropdownItem as bcm_dropdown_item };
57
- //# sourceMappingURL=bcm-dropdown-item.entry.js.map
58
-
59
- //# sourceMappingURL=bcm-dropdown-item.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bcm-dropdown-item.entry.js","sources":["src/components/dropdown-item/dropdown-item.css?tag=bcm-dropdown-item&encapsulation=shadow","src/components/dropdown-item/dropdown-item.component.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: 100%;\n}\n\n::slotted([slot='left-content']) {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n\n::slotted([slot='right-content']) {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter, Element } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n@Component({\n tag: 'bcm-dropdown-item',\n styleUrl: 'dropdown-item.css',\n shadow: true,\n})\nexport class DropdownItem implements ComponentInterface {\n @Element() host: HTMLElement;\n @Prop() text: string;\n @Prop() icon: string;\n @Prop() rightIcons: string[];\n @Prop({ reflect: true }) selected: boolean = false;\n @Prop({ reflect: true }) error: boolean = false;\n @Prop({ reflect: true }) disabled: boolean = false;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmDropDownItemChange',\n })\n bcmDropDownItemChange: EventEmitter<any>;\n\n private handleClick() {\n this.selected = true;\n this.bcmDropDownItemChange.emit({\n element: this.host,\n selected: this.selected,\n });\n }\n\n private dropdownItemClass = tv(\n {\n base: 'dropdown-item bcm-ui-element bcm-ui-content-display flex flex-row gap-2 py-2 px-4 cursor-pointer text-color',\n variants: {\n selected: {\n true: 'bg-[var(--bcm-ui-color-background-base-active)] hover:bg-[var(--bcm-ui-color-background-base-active)]',\n false: 'hover:bg-[var(--bcm-ui-color-background-base-hover)]',\n },\n error: {\n true: 'bg-[var(--bcm-ui-color-background-palette-red-default)] hover:bg-[var(--bcm-ui-color-background-palette-red-default)]',\n false: '',\n },\n disabled: {\n true: '', // should be discuss with ux team\n false: '',\n },\n },\n defaultVariants: {\n selected: false,\n error: false,\n disabled: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n render() {\n return (\n <div\n aria-checked={this.selected}\n class={this.dropdownItemClass({\n selected: this.selected,\n error: this.error,\n })}\n onClick={() => this.handleClick()}\n >\n <slot name=\"left-content\">{this.icon && <bcm-icon icon-name={this.icon}></bcm-icon>}</slot>\n <div class=\"flex flex-row text-pretty w-full\">\n <slot>{this.text}</slot>\n </div>\n <slot name=\"right-content\">\n {this.rightIcons?.map(icon => (\n <bcm-icon icon-name={icon}></bcm-icon>\n ))}\n </slot>\n </div>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,eAAe,GAAG,86CAA86C;;MCQz7C,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAU2B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AACzB,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK;AACtB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAkB1C,QAAA,IAAiB,CAAA,iBAAA,GAAG,EAAE,CAC5B;AACE,YAAA,IAAI,EAAE,6GAA6G;AACnH,YAAA,QAAQ,EAAE;AACR,gBAAA,QAAQ,EAAE;AACR,oBAAA,IAAI,EAAE,uGAAuG;AAC7G,oBAAA,KAAK,EAAE,sDAAsD;AAC9D,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,IAAI,EAAE,uHAAuH;AAC7H,oBAAA,KAAK,EAAE,EAAE;AACV,iBAAA;AACD,gBAAA,QAAQ,EAAE;oBACR,IAAI,EAAE,EAAE;AACR,oBAAA,KAAK,EAAE,EAAE;AACV,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,QAAQ,EAAE,KAAK;AAChB,aAAA;SACF,EACD;AACE,YAAA,OAAO,EAAE,KAAK;AACf,SAAA,CACF;AAwBF;IA1DS,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,IAAI;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC;;IA+BJ,MAAM,GAAA;;QACJ,QACE,CACgB,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,cAAA,EAAA,IAAI,CAAC,QAAQ,EAC3B,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;AAClB,aAAA,CAAC,EACF,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAAA,EAEjC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,cAAc,EAAA,EAAE,IAAI,CAAC,IAAI,IAAI,CAAqB,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,WAAA,EAAA,IAAI,CAAC,IAAI,GAAa,CAAQ,EAC3F,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kCAAkC,EAAA,EAC3C,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAO,IAAI,CAAC,IAAI,CAAQ,CACpB,EACN,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,eAAe,EACvB,EAAA,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,GAAG,CAAC,IAAI,KACxB,CAAA,CAAA,UAAA,EAAA,EAAA,WAAA,EAAqB,IAAI,EAAA,CAAa,CACvC,CAAC,CACG,CACH;;;;;;;;"}
@@ -1,52 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-B84DzIAh.js';
2
- import { t as tv } from './tv-CEcVC0yX.js';
3
-
4
- const dropdownCss = ".visible{visibility:visible}.hidden{display:none}.static{position:static}.flex{display:flex}.max-h-64{max-height:16rem}.w-full{width:100%}.min-w-10{min-width:2.5rem}.max-w-64{max-width:16rem}.flex-col{flex-direction:column}.items-center{align-items:center}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-color-basic-panel{background-color:var(--bcm-ui-color-background-basic-panel)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}.outline{outline-style:solid}";
5
-
6
- const Dropdown = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- this.bcmDropdownChange = createEvent(this, "bcmDropdownChange", 1);
10
- this.isReady = false;
11
- this.dropdownItems = [];
12
- this.dropdownClass = tv({
13
- base: 'dropdown flex flex-col items-center min-w-10 shadow-3 max-w-64 max-h-64 w-full bg-color-basic-panel rounded-lg py-1.5 overflow-y-auto',
14
- });
15
- this.handleSlotChange = () => {
16
- this.dropdownItems = Array.from(this.host.querySelectorAll('bcm-dropdown-item'));
17
- if (this.dropdownItems.length === 0) {
18
- console.warn('No dropdown items found in dropdown component');
19
- }
20
- };
21
- }
22
- componentDidLoad() {
23
- const button = this.host.shadowRoot.querySelector('bcm-button');
24
- if (button) {
25
- this.buttonRef = button;
26
- this.isReady = true;
27
- }
28
- }
29
- handleDropdownItemChange(event) {
30
- var _a;
31
- const { element, selected } = event === null || event === void 0 ? void 0 : event.detail;
32
- (_a = this.dropdownItems) === null || _a === void 0 ? void 0 : _a.forEach(item => {
33
- if (item != element) {
34
- item.selected = false;
35
- }
36
- });
37
- this.bcmDropdownChange.emit({
38
- element: element,
39
- selected,
40
- });
41
- }
42
- render() {
43
- return (h(Host, { key: '6aaff12c84d38c32df5bc8dccb83421afb315eef' }, h("bcm-button", { key: '5612cef7303a6b839531e125c895a4e7b8d32282', kind: "outline" }, h("span", { key: '951418845cb1ec71fe6dc5bbbc33c49934447640', part: "text" }, this.text)), this.isReady && (h("bcm-linked", { key: 'd594359d6a9b7c673307c6a92e6d69cc47be3e1a', targetElement: this.buttonRef }, h("div", { key: '9badba5b1e99af6a5d58b02e849cb0923e49dfd8', part: "dropdown-container", class: this.dropdownClass() }, h("slot", { key: 'c8191f215600170475d514bb6b4056047e6442d2', onSlotchange: this.handleSlotChange }))))));
44
- }
45
- get host() { return getElement(this); }
46
- };
47
- Dropdown.style = dropdownCss;
48
-
49
- export { Dropdown as bcm_dropdown };
50
- //# sourceMappingURL=bcm-dropdown.entry.js.map
51
-
52
- //# sourceMappingURL=bcm-dropdown.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bcm-dropdown.entry.js","sources":["src/components/dropdown/dropdown.css?tag=bcm-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.component.tsx"],"sourcesContent":["/* :host {\n --dropdown-box-min-weight: 32px;\n --dropdown-box-max-width: 384px;\n --dropdown-box-max-height: 384px;\n --dropdown-box-background-color: var(--bcm-ui-color-background-basic-panel);\n} */\n/* \n.scroll {\n height: 140px;\n width: 140px;\n overflow-y: auto;\n}\n\n.scroll:active::-webkit-scrollbar-thumb,\n.scroll:focus::-webkit-scrollbar-thumb,\n.scroll:hover::-webkit-scrollbar-thumb {\n visibility: visible;\n}\n.scroll::-webkit-scrollbar-thumb {\n background-color: darkgrey;\n visibility: hidden;\n}\n\n.scroll::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n} */\n","import { Component, ComponentInterface, h, Prop, State, Element, Host, Event, EventEmitter, Listen } from '@stencil/core';\nimport { tv } from '@utils/tv';\n\n@Component({\n tag: 'bcm-dropdown',\n styleUrl: 'dropdown.css',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface {\n @Element() host: HTMLElement;\n\n @Prop() text?: string;\n\n @State() isReady: boolean = false;\n\n @State() dropdownItems: HTMLBcmDropdownItemElement[] = [];\n\n protected buttonRef?: HTMLBcmButtonElement;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n eventName: 'bcmDropdownChange',\n })\n bcmDropdownChange: EventEmitter<any>;\n\n componentDidLoad() {\n const button = this.host.shadowRoot.querySelector('bcm-button') as HTMLBcmButtonElement;\n if (button) {\n this.buttonRef = button;\n this.isReady = true;\n }\n }\n\n @Listen('bcmDropDownItemChange', { capture: true })\n handleDropdownItemChange(event: CustomEvent) {\n const { element, selected } = event?.detail;\n\n this.dropdownItems?.forEach(item => {\n if (item != element) {\n item.selected = false;\n }\n });\n\n this.bcmDropdownChange.emit({\n element: element,\n selected,\n });\n }\n\n private dropdownClass = tv({\n base: 'dropdown flex flex-col items-center min-w-10 shadow-3 max-w-64 max-h-64 w-full bg-color-basic-panel rounded-lg py-1.5 overflow-y-auto',\n });\n\n private handleSlotChange = () => {\n this.dropdownItems = Array.from(this.host.querySelectorAll('bcm-dropdown-item'));\n\n if (this.dropdownItems.length === 0) {\n console.warn('No dropdown items found in dropdown component');\n }\n };\n\n render() {\n return (\n <Host>\n <bcm-button kind=\"outline\">\n <span part=\"text\">{this.text}</span>\n </bcm-button>\n {this.isReady && (\n <bcm-linked targetElement={this.buttonRef}>\n <div part=\"dropdown-container\" class={this.dropdownClass()}>\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n </bcm-linked>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG,m0BAAm0B;;MCQ10B,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAUW,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AAExB,QAAA,IAAa,CAAA,aAAA,GAAiC,EAAE;AAoCjD,QAAA,IAAa,CAAA,aAAA,GAAG,EAAE,CAAC;AACzB,YAAA,IAAI,EAAE,uIAAuI;AAC9I,SAAA,CAAC;AAEM,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;YAEhF,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AACnC,gBAAA,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC;;AAEjE,SAAC;AAkBF;IApDC,gBAAgB,GAAA;AACd,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAyB;QACvF,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM;AACvB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;;AAKvB,IAAA,wBAAwB,CAAC,KAAkB,EAAA;;QACzC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,KAAA,IAAA,IAAL,KAAK,KAAA,MAAA,GAAA,MAAA,GAAL,KAAK,CAAE,MAAM;QAE3C,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,OAAO,CAAC,IAAI,IAAG;AACjC,YAAA,IAAI,IAAI,IAAI,OAAO,EAAE;AACnB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;AAEzB,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC1B,YAAA,OAAO,EAAE,OAAO;YAChB,QAAQ;AACT,SAAA,CAAC;;IAeJ,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAY,CAAA,YAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EACxB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAA,EAAE,IAAI,CAAC,IAAI,CAAQ,CACzB,EACZ,IAAI,CAAC,OAAO,KACX,mEAAY,aAAa,EAAE,IAAI,CAAC,SAAS,EAAA,EACvC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,oBAAoB,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAA,EACxD,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAS,CAAA,CAC9C,CACK,CACd,CACI;;;;;;;;"}