@bagelink/vue 0.0.878 → 0.0.882

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css CHANGED
@@ -54,19 +54,19 @@
54
54
  max-height: 300px;
55
55
  }
56
56
 
57
- a[data-v-c00fb1b9] {
57
+ a[data-v-b6c20bd9] {
58
58
  text-decoration: none;
59
59
  }
60
- .loading[data-v-c00fb1b9] {
60
+ .loading[data-v-b6c20bd9] {
61
61
  border: 1px solid var(--bgl-light-text);
62
62
  border-bottom: 2px solid var(--bgl-light-text);
63
- animation: spin-c00fb1b9 1s linear infinite;
63
+ animation: spin-b6c20bd9 1s linear infinite;
64
64
  border-radius: 100px;
65
65
  width: 1rem;
66
66
  height: 1rem;
67
67
  margin: auto;
68
68
  }
69
- @keyframes spin-c00fb1b9 {
69
+ @keyframes spin-b6c20bd9 {
70
70
  0% {
71
71
  transform: rotate(0deg);
72
72
  }
@@ -74,7 +74,7 @@ a[data-v-c00fb1b9] {
74
74
  transform: rotate(360deg);
75
75
  }
76
76
  }
77
- .bgl_btn-icon[data-v-c00fb1b9] {
77
+ .bgl_btn-icon[data-v-b6c20bd9] {
78
78
  height: var(--btn-height);
79
79
  width: var(--btn-height);
80
80
  border-radius: 100%;
@@ -84,108 +84,108 @@ a[data-v-c00fb1b9] {
84
84
  flex-shrink: 0;
85
85
  transition: var(--bgl-transition);
86
86
  }
87
- .bgl_btn[data-v-c00fb1b9] {
87
+ .bgl_btn[data-v-b6c20bd9] {
88
88
  padding-left: var(--btn-padding);
89
89
  padding-right: var(--btn-padding);
90
90
  transition: var(--bgl-transition);
91
91
  text-decoration: none;
92
92
  }
93
- .bgl_btn[disabled="true"][data-v-c00fb1b9] {
93
+ .bgl_btn[disabled="true"][data-v-b6c20bd9] {
94
94
  opacity: 0.5;
95
95
  cursor: not-allowed;
96
96
  }
97
- .bgl_btn-flex[data-v-c00fb1b9] {
97
+ .bgl_btn-flex[data-v-b6c20bd9] {
98
98
  display: flex;
99
99
  align-items: center;
100
100
  gap: 0.5rem;
101
101
  justify-content: center;
102
102
  height: 100%;
103
103
  }
104
- .bgl_btn .bgl_btn-icon[data-v-c00fb1b9]{
104
+ .bgl_btn .bgl_btn-icon[data-v-b6c20bd9]{
105
105
  font-size: calc(var(--input-font-size) * 1.3);
106
106
  }
107
- .bgl_btn[data-v-c00fb1b9],
108
- .bgl_btn-icon[data-v-c00fb1b9] {
109
- background-color: var(--17220d29);
110
- color: var(--1a04c6c4);
107
+ .bgl_btn[data-v-b6c20bd9],
108
+ .bgl_btn-icon[data-v-b6c20bd9] {
109
+ background-color: var(--f042e370);
110
+ color: var(--6e044b23);
111
111
  }
112
- .bgl_btn[data-v-c00fb1b9]:hover,
113
- .bgl_btn-icon[data-v-c00fb1b9]:hover {
112
+ .bgl_btn[data-v-b6c20bd9]:hover,
113
+ .bgl_btn-icon[data-v-b6c20bd9]:hover {
114
114
  filter: var(--bgl-hover-filter);
115
115
  }
116
- .bgl_btn[data-v-c00fb1b9]:active,
117
- .bgl_btn-icon[data-v-c00fb1b9]:active {
116
+ .bgl_btn[data-v-b6c20bd9]:active,
117
+ .bgl_btn-icon[data-v-b6c20bd9]:active {
118
118
  filter: var(--bgl-active-filter);
119
119
  }
120
- .bgl_btn.bgl_flatBtn[data-v-c00fb1b9] {
120
+ .bgl_btn.bgl_flatBtn[data-v-b6c20bd9] {
121
121
  padding-left: var(--btn-padding);
122
122
  padding-right: var(--btn-padding);
123
123
  background: transparent;
124
124
  }
125
- .bgl_btn-icon.bgl_flatBtn[data-v-c00fb1b9] {
125
+ .bgl_btn-icon.bgl_flatBtn[data-v-b6c20bd9] {
126
126
  background: transparent;
127
127
  }
128
- .bgl_btn.bgl_flatBtn[data-v-c00fb1b9]:hover,
129
- .bgl_btn-icon.bgl_flatBtn[data-v-c00fb1b9]:hover {
128
+ .bgl_btn.bgl_flatBtn[data-v-b6c20bd9]:hover,
129
+ .bgl_btn-icon.bgl_flatBtn[data-v-b6c20bd9]:hover {
130
130
  filter: var(--bgl-hover-filter);
131
131
  background: var(--bgl-gray-20);
132
132
  color: var(--bgl-primary);
133
133
  }
134
- .bgl_btn.bgl_flatBtn[data-v-c00fb1b9]:active,
135
- .bgl_btn-icon.bgl_flatBtn[data-v-c00fb1b9]:active {
134
+ .bgl_btn.bgl_flatBtn[data-v-b6c20bd9]:active,
135
+ .bgl_btn-icon.bgl_flatBtn[data-v-b6c20bd9]:active {
136
136
  background: var(--bgl-gray-40);
137
137
  filter: var(--bgl-active-filter);
138
138
  color: var(--bgl-primary);
139
139
  }
140
- .bgl_btn.bgl_flatBtn.red[data-v-c00fb1b9],
141
- .bgl_btn-icon.bgl_flatBtn.red[data-v-c00fb1b9] {
140
+ .bgl_btn.bgl_flatBtn.red[data-v-b6c20bd9],
141
+ .bgl_btn-icon.bgl_flatBtn.red[data-v-b6c20bd9] {
142
142
  color: var(--bgl-red);
143
143
  }
144
- .bgl_btn.bgl_flatBtn.white[data-v-c00fb1b9],
145
- .bgl_btn-icon.bgl_flatBtn.white[data-v-c00fb1b9] {
144
+ .bgl_btn.bgl_flatBtn.white[data-v-b6c20bd9],
145
+ .bgl_btn-icon.bgl_flatBtn.white[data-v-b6c20bd9] {
146
146
  color: var(--bgl-light-text);
147
147
  }
148
- .bgl_btn.bgl_flatBtn.light[data-v-c00fb1b9],
149
- .bgl_btn-icon.bgl_flatBtn.light[data-v-c00fb1b9] {
148
+ .bgl_btn.bgl_flatBtn.light[data-v-b6c20bd9],
149
+ .bgl_btn-icon.bgl_flatBtn.light[data-v-b6c20bd9] {
150
150
  color: var(--bgl-primary-tint);
151
151
  }
152
- .bgl_btn.bgl_flatBtn.black[data-v-c00fb1b9],
153
- .bgl_btn-icon.bgl_flatBtn.black[data-v-c00fb1b9] {
152
+ .bgl_btn.bgl_flatBtn.black[data-v-b6c20bd9],
153
+ .bgl_btn-icon.bgl_flatBtn.black[data-v-b6c20bd9] {
154
154
  color: var(--bgl-text-color);
155
155
  }
156
- .bgl_btn.bgl_flatBtn.gray[data-v-c00fb1b9],
157
- .bgl_btn-icon.bgl_flatBtn.gray[data-v-c00fb1b9] {
156
+ .bgl_btn.bgl_flatBtn.gray[data-v-b6c20bd9],
157
+ .bgl_btn-icon.bgl_flatBtn.gray[data-v-b6c20bd9] {
158
158
  color: var(--bgl-gray);
159
159
  }
160
- .bgl_btn.thin[data-v-c00fb1b9] {
160
+ .bgl_btn.thin[data-v-b6c20bd9] {
161
161
  padding-inline: calc(var(--btn-padding) / 3);
162
162
  border-radius: calc(var(--btn-border-radius) / 1.5);
163
163
  }
164
- .bgl_btn.round[data-v-c00fb1b9] {
164
+ .bgl_btn.round[data-v-b6c20bd9] {
165
165
  border-radius: 1000px;
166
166
  }
167
- .bgl_btn-icon.thin[data-v-c00fb1b9] {
167
+ .bgl_btn-icon.thin[data-v-b6c20bd9] {
168
168
  height: calc(var(--btn-height) / 1.5);
169
169
  width: calc(var(--btn-height) / 1.5);
170
170
  line-height: normal;
171
171
  }
172
- .bgl_btn-icon.thin .bgl_btn-flex[data-v-c00fb1b9] {
172
+ .bgl_btn-icon.thin .bgl_btn-flex[data-v-b6c20bd9] {
173
173
  height: 100%;
174
174
  }
175
- [dir="rtl"] .bgl_btn-icon[data-v-c00fb1b9]{
175
+ [dir="rtl"] .bgl_btn-icon[data-v-b6c20bd9]{
176
176
  transform: rotateY(180deg);
177
177
  }
178
- .bgl_btn-border[data-v-c00fb1b9] {
179
- outline: 1px solid var(--17220d29);
180
- color: var(--17220d29);
178
+ .bgl_btn-border[data-v-b6c20bd9] {
179
+ outline: 1px solid var(--f042e370);
180
+ color: var(--f042e370);
181
181
  background: transparent;
182
182
  }
183
- .bgl_btn-border[data-v-c00fb1b9]:hover {
183
+ .bgl_btn-border[data-v-b6c20bd9]:hover {
184
184
  color: var(--bgl-light-text);
185
- background: var(--17220d29);
185
+ background: var(--f042e370);
186
186
  filter: brightness(100%);
187
187
  }
188
- .bgl_btn-border[data-v-c00fb1b9]:active {
188
+ .bgl_btn-border[data-v-b6c20bd9]:active {
189
189
  filter: brightness(80%);
190
190
  }
191
191
 
@@ -241,7 +241,7 @@ display: block;
241
241
  object-fit: cover;
242
242
  }
243
243
 
244
- .inline[data-v-1b4c8cfe] {
244
+ .inline[data-v-2f3caf93] {
245
245
  display: inline;
246
246
  }
247
247
 
@@ -953,6 +953,9 @@ data[data-v-6c27f163] {
953
953
  .m-password {
954
954
  position: absolute;
955
955
  inset-block: 0;
956
+ margin-top: calc(var(--input-height) / 2 - 0.75rem);
957
+ }
958
+ .relative.has-label .m-password {
956
959
  margin-top: calc(var(--input-height) / 2 + 0.25rem);
957
960
  }
958
961
 
@@ -1313,10 +1316,10 @@ p {
1313
1316
  } */
1314
1317
  .resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}
1315
1318
 
1316
- .selectinput[data-v-4d1e8e98] {
1319
+ .selectinput[data-v-0ea75792] {
1317
1320
  width: 100%;
1318
1321
  }
1319
- .selectinput-option[data-v-4d1e8e98] {
1322
+ .selectinput-option[data-v-0ea75792] {
1320
1323
  padding: 6px 12px;
1321
1324
  cursor: pointer;
1322
1325
  border-radius: 5px;
@@ -1328,23 +1331,23 @@ p {
1328
1331
  font-size: var(--input-font-size);
1329
1332
  margin-block: 0.15rem;
1330
1333
  }
1331
- .selectinput-option .bgl_icon-font[data-v-4d1e8e98]{
1334
+ .selectinput-option .bgl_icon-font[data-v-0ea75792]{
1332
1335
  line-height: normal;
1333
1336
  }
1334
- .selectinput-options.multiselect .selectinput-option[data-v-4d1e8e98] {
1337
+ .selectinput-options.multiselect .selectinput-option[data-v-0ea75792] {
1335
1338
  grid-template-columns: 10px 1fr;
1336
1339
  }
1337
- .selectinput-options[data-v-4d1e8e98] {
1340
+ .selectinput-options[data-v-0ea75792] {
1338
1341
  max-height: 300px;
1339
1342
  overflow-y: auto;
1340
1343
  }
1341
- .selectinput-option[data-v-4d1e8e98]:hover {
1344
+ .selectinput-option[data-v-0ea75792]:hover, .highlight[data-v-0ea75792] {
1342
1345
  background: var(--bgl-gray-20);
1343
1346
  }
1344
- .isEmpty p[data-v-4d1e8e98] {
1347
+ .isEmpty p[data-v-0ea75792] {
1345
1348
  opacity: 0.3;
1346
1349
  }
1347
- .selected[data-v-4d1e8e98]{
1350
+ .selected[data-v-0ea75792]{
1348
1351
  /* background: var(--bgl-primary-tint); */
1349
1352
  background: var(--bgl-selected);
1350
1353
  }
@@ -1601,58 +1604,58 @@ p {
1601
1604
  font-size: var(--label-font-size);
1602
1605
  }
1603
1606
 
1604
- .bagel-input textarea[data-v-63ff8c9c] {
1607
+ .bagel-input textarea[data-v-91822151] {
1605
1608
  min-height: unset;
1606
1609
  font-size: var(--input-font-size);
1607
1610
  }
1608
- .bagel-input.text-input textarea[data-v-63ff8c9c] {
1611
+ .bagel-input.text-input textarea[data-v-91822151] {
1609
1612
  resize: none;
1610
1613
  }
1611
- .code textarea[data-v-63ff8c9c] {
1614
+ .code textarea[data-v-91822151] {
1612
1615
  font-family: 'Inconsolata', monospace;
1613
1616
  background: var(--bgl-code-bg) !important;
1614
1617
  color: var(--bgl-light-text) !important;
1615
1618
  }
1616
- .code textarea[data-v-63ff8c9c]::placeholder {
1619
+ .code textarea[data-v-91822151]::placeholder {
1617
1620
  color: var(--bgl-light-text) !important;
1618
1621
  opacity: 0.3;
1619
1622
  }
1620
- .bagel-input.small[data-v-63ff8c9c] {
1623
+ .bagel-input.small[data-v-91822151] {
1621
1624
  margin-bottom: 0;
1622
1625
  height: 30px;
1623
1626
  }
1624
- .bagel-input.dense label[data-v-63ff8c9c] {
1627
+ .bagel-input.dense label[data-v-91822151] {
1625
1628
  display: flex;
1626
1629
  align-items: center;
1627
1630
  gap: 0.5rem;
1628
1631
  }
1629
- .bagel-input input[data-v-63ff8c9c]:disabled {
1632
+ .bagel-input input[data-v-91822151]:disabled {
1630
1633
  background: #f5f5f5;
1631
1634
  }
1632
- .bagel-input label[data-v-63ff8c9c] {
1635
+ .bagel-input label[data-v-91822151] {
1633
1636
  font-size: var(--label-font-size);
1634
1637
  }
1635
- .textInputIconWrap .bgl_icon-font[data-v-63ff8c9c] {
1638
+ .textInputIconWrap .bgl_icon-font[data-v-91822151] {
1636
1639
  color: var(--input-color);
1637
1640
  position: absolute;
1638
1641
  inset-inline-end:calc(var(--input-height) / 3 - 0.25rem);
1639
1642
  margin-top: calc(var(--input-height) / 2 + 0.1rem);
1640
1643
  line-height: 0;
1641
1644
  }
1642
- .textInputIconWrap input[data-v-63ff8c9c]{
1645
+ .textInputIconWrap input[data-v-91822151]{
1643
1646
  padding-inline-end: calc(var(--input-height) / 3 + 1.5rem);
1644
1647
  }
1645
- .txtInputIconStart .iconStart[data-v-63ff8c9c] {
1648
+ .txtInputIconStart .iconStart[data-v-91822151] {
1646
1649
  color: var(--input-color);
1647
1650
  position: absolute;
1648
1651
  inset-inline-start:calc(var(--input-height) / 3 - 0.25rem);
1649
- margin-top: calc(var(--input-height) / 2 + 0.1rem);
1652
+ margin-top: calc(var(--input-height) / 2 );
1650
1653
  line-height: 0;
1651
1654
  }
1652
- .txtInputIconStart input[data-v-63ff8c9c], .txtInputIconStart textarea[data-v-63ff8c9c]{
1655
+ .txtInputIconStart input[data-v-91822151], .txtInputIconStart textarea[data-v-91822151]{
1653
1656
  padding-inline-start: calc(var(--input-height) / 3 + 1.5rem);
1654
1657
  }
1655
- .bagel-input.small textarea[data-v-63ff8c9c] {
1658
+ .bagel-input.small textarea[data-v-91822151] {
1656
1659
  height: 30px;
1657
1660
  }
1658
1661
 
@@ -3482,19 +3485,19 @@ tbody tr[data-v-d8ca38b1]:hover {
3482
3485
  -moz-user-drag: none;
3483
3486
  }
3484
3487
 
3485
- .lightbox-image[data-v-04df78d3]{
3488
+ .lightbox-image[data-v-c8e5a3c4]{
3486
3489
  object-fit: contain;
3487
3490
  }
3488
- .bgl-lightbox-overlay[data-v-04df78d3] {
3491
+ .bgl-lightbox-overlay[data-v-c8e5a3c4] {
3489
3492
  background: rgba(0, 0, 0, 0.8);
3490
3493
  }
3491
- .bgl-lightbox[data-v-04df78d3] {
3494
+ .bgl-lightbox[data-v-c8e5a3c4] {
3492
3495
  max-height: 90%;
3493
3496
  }
3494
- .bgl-lightbox-item[data-v-04df78d3]{
3495
- animation: 500ms ease bgl-lightbox-load-04df78d3;
3497
+ .bgl-lightbox-item[data-v-c8e5a3c4]{
3498
+ animation: 500ms ease bgl-lightbox-load-c8e5a3c4;
3496
3499
  }
3497
- @keyframes bgl-lightbox-load-04df78d3 {
3500
+ @keyframes bgl-lightbox-load-c8e5a3c4 {
3498
3501
  from {
3499
3502
  scale:0.7;
3500
3503
  }
@@ -3502,32 +3505,32 @@ to {
3502
3505
  scale:1;
3503
3506
  }
3504
3507
  }
3505
- .bgl-lightbox-item[data-v-04df78d3] * {
3508
+ .bgl-lightbox-item[data-v-c8e5a3c4] * {
3506
3509
  max-width: 90%;
3507
3510
  max-height: calc(80vh - 90px);
3508
3511
  border-radius: 3px;
3509
3512
  margin: auto;
3510
- animation: 200ms ease bgl-lightbox-load-04df78d3;
3513
+ animation: 200ms ease bgl-lightbox-load-c8e5a3c4;
3511
3514
  }
3512
- .navigation[data-v-04df78d3] {
3515
+ .navigation[data-v-c8e5a3c4] {
3513
3516
  top: 50%;
3514
3517
  transform: translateY(-50%);
3515
3518
  }
3516
- .navigation-btn[data-v-04df78d3] {
3519
+ .navigation-btn[data-v-c8e5a3c4] {
3517
3520
  width: var(--input-height);
3518
3521
  height: var(--input-height);
3519
3522
  }
3520
- .thumbnail[data-v-04df78d3] {
3523
+ .thumbnail[data-v-c8e5a3c4] {
3521
3524
  height: 50px;
3522
3525
  width: 50px;
3523
3526
  }
3524
- .thumbnail[data-v-04df78d3]:hover {
3527
+ .thumbnail[data-v-c8e5a3c4]:hover {
3525
3528
  opacity: 1;
3526
3529
  }
3527
- .thumbnail[data-v-04df78d3]:active {
3530
+ .thumbnail[data-v-c8e5a3c4]:active {
3528
3531
  opacity: 0.8;
3529
3532
  }
3530
- .thumbnail.active[data-v-04df78d3] {
3533
+ .thumbnail.active[data-v-c8e5a3c4] {
3531
3534
  opacity: 1;
3532
3535
  outline: 2px solid white;
3533
3536
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE/D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAC3E,QAAQ,EAAE,CAAC,EACX,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,OAAO,GACjB,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAelC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,iBAGtE;AAED,wBAAgB,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAG3C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,QAIrE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,UAOpE;AAED,wBAAgB,SAAS,CAAC,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACnD,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,GAAG,EACd,GAAG,CAAC,EAAE,CAAC,OAaP;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAO9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,OAG5E;AAED,eAAO,MAAM,MAAM,eAAgB,GAAG,YAA0C,CAAA;AAEhF,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,IAAI,CAAC,EAAE,GAAG,EAAE,EACZ,UAAU,CAAC,EAAE,MAAM,EAAE,GACnB,cAAc,CAAC,CAAC,CAAC,CAWnB;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAE,MAAY,oBAErC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAE/D,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAC3E,QAAQ,EAAE,CAAC,EACX,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,OAAO,GACjB,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAelC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,iBAGtE;AAED,wBAAgB,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAG3C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,QAIrE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,UAOpE;AAED,wBAAgB,SAAS,CAAC,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACnD,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,GAAG,EACd,GAAG,CAAC,EAAE,CAAC,OAcP;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAO9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,OAG5E;AAED,eAAO,MAAM,MAAM,eAAgB,GAAG,YAA0C,CAAA;AAEhF,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,IAAI,CAAC,EAAE,GAAG,EAAE,EACZ,UAAU,CAAC,EAAE,MAAM,EAAE,GACnB,cAAc,CAAC,CAAC,CAAC,CAWnB;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAE,MAAY,oBAErC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvD"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/vue",
3
3
  "type": "module",
4
- "version": "0.0.878",
4
+ "version": "0.0.882",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Neveh Allon",
@@ -54,7 +54,7 @@
54
54
  "@types/leaflet": "^1.9.14",
55
55
  "@types/signature_pad": "^2.3.6",
56
56
  "@vue-macros/reactivity-transform": "^1.1.3",
57
- "vue": "^3.5.12"
57
+ "vue": "^3.5.13"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "@bagelink/sdk": "*",
@@ -118,9 +118,9 @@
118
118
  "@vueuse/core": "^11.2.0",
119
119
  "axios": "^1.7.7",
120
120
  "floating-vue": "^5.2.2",
121
- "libphonenumber-js": "1.11.12",
121
+ "libphonenumber-js": "1.11.14",
122
122
  "signature_pad": "^5.0.4",
123
- "type-fest": "^4.26.1"
123
+ "type-fest": "^4.27.0"
124
124
  },
125
125
  "scripts": {
126
126
  "dev": "tsx watch src/index.ts",
@@ -3,23 +3,21 @@ import type { MaterialIcons } from '@bagelink/vue'
3
3
  import { Icon } from '@bagelink/vue'
4
4
 
5
5
  interface Props {
6
- 'color'?: 'green' | 'red' | 'blue' | 'light' | 'gray' | 'yellow'
7
- 'size'?: string
8
- 'text': string
9
- 'icon'?: MaterialIcons
10
- // eslint-disable-next-line vue/prop-name-casing
11
- 'icon.end'?: MaterialIcons
12
- 'iconEnd'?: MaterialIcons
6
+ color?: 'green' | 'red' | 'blue' | 'light' | 'gray' | 'yellow'
7
+ size?: string
8
+ text: string
9
+ icon?: MaterialIcons
10
+ iconEnd?: MaterialIcons
13
11
  }
14
12
 
15
- const props = defineProps<Props>()
13
+ defineProps<Props>()
16
14
  </script>
17
15
 
18
16
  <template>
19
17
  <div class="pill" :class="[color]">
20
18
  <Icon v-if="icon" class="inline" :icon="icon" />
21
19
  {{ text }}
22
- <Icon v-if="props['icon.end']" class="inline" :icon="props['icon.end']" />
20
+ <Icon v-if="iconEnd" class="inline" :icon="iconEnd" />
23
21
  </div>
24
22
  </template>
25
23
 
@@ -5,25 +5,24 @@ import { useSlots } from 'vue'
5
5
 
6
6
  const props = withDefaults(
7
7
  defineProps<{
8
- 'disabled'?: boolean
9
- 'icon'?: MaterialIcons
10
- // eslint-disable-next-line vue/prop-name-casing
11
- 'icon.end'?: MaterialIcons
12
- 'color'?: ThemeType
13
- 'theme'?: ThemeType
14
- 'flat'?: boolean
15
- 'border'?: boolean
16
- 'outline'?: boolean
17
- 'thin'?: boolean
18
- 'type'?: 'button' | 'submit' | 'reset'
19
- 'loading'?: boolean
20
- 'role'?: string
21
- 'value'?: string
22
- 'to'?: string
23
- 'href'?: string
24
- 'round'?: boolean
25
- 'is'?: string
26
- 'onClick'?: (e: MouseEvent) => void
8
+ disabled?: boolean
9
+ icon?: MaterialIcons
10
+ iconEnd?: MaterialIcons
11
+ color?: ThemeType
12
+ theme?: ThemeType
13
+ flat?: boolean
14
+ border?: boolean
15
+ outline?: boolean
16
+ thin?: boolean
17
+ type?: 'button' | 'submit' | 'reset'
18
+ loading?: boolean
19
+ role?: string
20
+ value?: string
21
+ to?: string
22
+ href?: string
23
+ round?: boolean
24
+ is?: string
25
+ onClick?: (e: MouseEvent) => void
27
26
  }>(),
28
27
  {
29
28
  onClick: () => '',
@@ -111,7 +110,7 @@ const computedBackgroundColor = $computed(
111
110
  <template v-if="!slots.default && value">
112
111
  {{ value }}
113
112
  </template>
114
- <MaterialIcon v-if="props['icon.end']" :icon="props['icon.end']" />
113
+ <MaterialIcon v-if="iconEnd" :icon="iconEnd" />
115
114
  </div>
116
115
  </component>
117
116
  </template>
@@ -13,7 +13,7 @@ defineProps<{
13
13
  disabled?: boolean
14
14
  icon?: MaterialIcons
15
15
  triggerClass?: string
16
- // 'icon.end'?: MaterialIcons
16
+ // 'iconEnd'?: MaterialIcons
17
17
  border?: boolean
18
18
  outline?: boolean
19
19
  round?: boolean
@@ -27,8 +27,12 @@ export interface TextInputProps {
27
27
  }
28
28
  const props = withDefaults(
29
29
  defineProps<TextInputProps>(),
30
- { autocomplete: 'current-password' }
30
+ {
31
+ autocomplete: 'current-password',
32
+ label: ''
33
+ }
31
34
  )
35
+ const hasLabel = $computed(() => props.label && props.label.trim() !== '')
32
36
 
33
37
  const password = defineModel<string>('modelValue')
34
38
  const showPwd = defineModel<boolean>('showPwd', { default: false })
@@ -39,7 +43,7 @@ const inputType = $computed(() => (showPwd.value ? 'text' : 'password'))
39
43
  </script>
40
44
 
41
45
  <template>
42
- <div class="relative">
46
+ <div class="relative" :class="{ 'has-label': hasLabel }">
43
47
  <TextInput
44
48
  v-model="password"
45
49
  v-bind="props"
@@ -60,6 +64,11 @@ const inputType = $computed(() => (showPwd.value ? 'text' : 'password'))
60
64
  .m-password {
61
65
  position: absolute;
62
66
  inset-block: 0;
67
+ margin-top: calc(var(--input-height) / 2 - 0.75rem);
68
+
69
+ }
70
+
71
+ .relative.has-label .m-password {
63
72
  margin-top: calc(var(--input-height) / 2 + 0.25rem);
64
73
  }
65
74
  </style>
@@ -47,7 +47,7 @@ let open = $ref(false)
47
47
 
48
48
  function openOptions() {
49
49
  dropdown?.show()
50
- // updateOpen(true);
50
+ updateOpen(true)
51
51
  }
52
52
 
53
53
  const selectedLabel = $computed((): string => {
@@ -92,15 +92,33 @@ const filteredOptions = $computed(() => {
92
92
  })
93
93
  })
94
94
 
95
+ let highlightedIndex = $ref(0)
96
+
97
+ const selectOptions = $ref<HTMLElement | undefined>()
98
+
99
+ function navigate(direction: 'up' | 'down') {
100
+ if (direction === 'up') {
101
+ highlightedIndex = highlightedIndex > 0 ? highlightedIndex - 1 : filteredOptions.length - 1
102
+ } else if (direction === 'down') {
103
+ highlightedIndex = highlightedIndex < filteredOptions.length - 1 ? highlightedIndex + 1 : 0
104
+ }
105
+ setTimeout(() => {
106
+ const el = selectOptions?.children[highlightedIndex] as HTMLElement
107
+ if (el) el.focus()
108
+ }, 10)
109
+ }
110
+
95
111
  const isSelected = (option: Option) => selectedItems.find(item => getValue(option) === getValue(item)) !== undefined
96
112
 
97
113
  function updateOpen(visible: boolean) {
98
114
  open = visible
99
115
  if (!open) {
100
- if (props.searchable && !props.multiselect && !search && !selected) selectedItems = []
116
+ if (props.searchable && !props.multiselect && !search && !selected) { selectedItems = []
117
+ }
101
118
  if (props.searchable && !props.multiselect && search && filteredOptions.length === 1 && !isSelected(filteredOptions[0])) {
102
119
  select(filteredOptions[0])
103
120
  }
121
+ highlightedIndex = -1
104
122
  search = ''
105
123
  }
106
124
  else {
@@ -225,11 +243,13 @@ onMounted(() => {
225
243
  ref="searchInput"
226
244
  v-model="search"
227
245
  class="mb-0"
228
- dense
229
246
  :placeholder="searchPlaceholder"
230
247
  icon="search"
231
248
  @debounce="runServerSearch"
232
249
  @input="selected = false"
250
+ @keydown.down.prevent="navigate('down')"
251
+ @keydown.up.prevent="navigate('up')"
252
+ @keydown.enter="updateOpen(false)"
233
253
  />
234
254
  <button
235
255
  v-else
@@ -237,7 +257,7 @@ onMounted(() => {
237
257
  type="button"
238
258
  class="selectinput-btn"
239
259
  :class="{ isEmpty: selectedItemCount === 0 }"
240
- @keydown="openOptions"
260
+ @focus="openOptions"
241
261
  @click="updateOpen(true)"
242
262
  >
243
263
  <Icon v-if="icon" :icon="icon" />
@@ -276,7 +296,7 @@ onMounted(() => {
276
296
  class="p-05"
277
297
  :style="{ width: fullWidth ? '100%' : 'auto' }"
278
298
  >
279
- <div class="selectinput-options" :class="{ multiselect }">
299
+ <div ref="selectOptions" class="selectinput-options" :class="{ multiselect }">
280
300
  <div
281
301
  v-for="(option, i) in filteredOptions"
282
302
  :key="`${option}${i}`"
@@ -287,6 +307,8 @@ onMounted(() => {
287
307
  :aria-selected="isSelected(option)"
288
308
  @click="select(option)"
289
309
  @keydown.enter="select(option)"
310
+ @keydown.down.prevent="navigate('down')"
311
+ @keydown.up.prevent="navigate('up')"
290
312
  >
291
313
  <template v-if="multiselect">
292
314
  <Icon
@@ -340,7 +362,7 @@ onMounted(() => {
340
362
  overflow-y: auto;
341
363
  }
342
364
 
343
- .selectinput-option:hover {
365
+ .selectinput-option:hover, .highlight {
344
366
  background: var(--bgl-gray-20);
345
367
  }
346
368
  .isEmpty p {
@@ -370,7 +392,6 @@ onMounted(() => {
370
392
  width: 100%;
371
393
  font-family: inherit;
372
394
  font-size: var(--input-font-size);
373
-
374
395
  }
375
396
  .selectinput-btn p{
376
397
  white-space: nowrap;