@quidgest/ui 0.16.15 → 0.16.17

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 (52) hide show
  1. package/dist/manifest/components.json +1 -0
  2. package/dist/ui.css +182 -9
  3. package/dist/ui.esm.js +4570 -4382
  4. package/dist/ui.js +12 -12
  5. package/dist/ui.min.css +1 -1
  6. package/dist/ui.min.js +723 -710
  7. package/dist/ui.scss +200 -12
  8. package/esm/components/QCheckbox/QCheckbox.d.ts +6 -2
  9. package/esm/components/QCheckbox/QCheckbox.d.ts.map +1 -1
  10. package/esm/components/QCheckbox/QCheckbox.vue.js +88 -77
  11. package/esm/components/QCheckbox/QCheckboxLabel.d.ts +2 -3
  12. package/esm/components/QCheckbox/QCheckboxLabel.d.ts.map +1 -1
  13. package/esm/components/QCheckbox/QCheckboxLabel.vue.js +32 -24
  14. package/esm/components/QCheckbox/index.d.ts +12 -4
  15. package/esm/components/QCheckbox/index.d.ts.map +1 -1
  16. package/esm/components/QCheckbox/types.d.ts +2 -7
  17. package/esm/components/QCheckbox/types.d.ts.map +1 -1
  18. package/esm/components/QCombobox/QCombobox.d.ts +16 -4
  19. package/esm/components/QCombobox/QCombobox.d.ts.map +1 -1
  20. package/esm/components/QCombobox/index.d.ts +8 -2
  21. package/esm/components/QCombobox/index.d.ts.map +1 -1
  22. package/esm/components/QDropdownMenu/QDropdownMenu.vue.js +11 -9
  23. package/esm/components/QDropdownMenu/QDropdownMenuContent.d.ts +22 -6
  24. package/esm/components/QDropdownMenu/QDropdownMenuContent.d.ts.map +1 -1
  25. package/esm/components/QDropdownMenu/QDropdownMenuContent.vue.js +171 -84
  26. package/esm/components/QDropdownMenu/index.d.ts +4 -0
  27. package/esm/components/QDropdownMenu/index.d.ts.map +1 -1
  28. package/esm/components/QDropdownMenu/types.d.ts +8 -8
  29. package/esm/components/QDropdownMenu/types.d.ts.map +1 -1
  30. package/esm/components/QList/QList.d.ts +9 -0
  31. package/esm/components/QList/QList.d.ts.map +1 -1
  32. package/esm/components/QList/QList.vue.js +73 -68
  33. package/esm/components/QList/index.d.ts +8 -0
  34. package/esm/components/QList/index.d.ts.map +1 -1
  35. package/esm/components/QSelect/QSelect.d.ts +16 -4
  36. package/esm/components/QSelect/QSelect.d.ts.map +1 -1
  37. package/esm/components/QSelect/index.d.ts +8 -2
  38. package/esm/components/QSelect/index.d.ts.map +1 -1
  39. package/esm/components/QSwitch/QSwitch.d.ts +16 -0
  40. package/esm/components/QSwitch/QSwitch.d.ts.map +1 -0
  41. package/esm/components/QSwitch/QSwitch.vue.js +129 -0
  42. package/esm/components/QSwitch/QSwitch.vue2.js +4 -0
  43. package/esm/components/QSwitch/index.d.ts +33 -0
  44. package/esm/components/QSwitch/index.d.ts.map +1 -0
  45. package/esm/components/QSwitch/index.js +6 -0
  46. package/esm/components/QSwitch/types.d.ts +39 -0
  47. package/esm/components/QSwitch/types.d.ts.map +1 -0
  48. package/esm/components/index.d.ts +1 -0
  49. package/esm/components/index.d.ts.map +1 -1
  50. package/esm/components/index.js +31 -29
  51. package/esm/index.d.ts +1 -0
  52. package/package.json +1 -1
@@ -48,6 +48,7 @@
48
48
  "QSidebar",
49
49
  "QSkeletonLoader",
50
50
  "QSpinnerLoader",
51
+ "QSwitch",
51
52
  "QTextArea",
52
53
  "QTextField",
53
54
  "QThemeProvider",
package/dist/ui.css CHANGED
@@ -1011,17 +1011,16 @@ body *::-webkit-scrollbar-track {
1011
1011
  --box-size: 1.15rem;
1012
1012
  --icon-color: var(--q-theme-on-primary);
1013
1013
  --icon-opacity: 0;
1014
+ --transition-duration: 0.15s;
1014
1015
  display: flex;
1015
- align-items: center;
1016
+ align-items: flex-start;
1016
1017
  gap: 0.5rem;
1017
1018
  width: -moz-fit-content;
1018
1019
  width: fit-content;
1019
1020
  color: var(--q-theme-neutral-dark);
1020
- cursor: pointer;
1021
1021
  }
1022
1022
  .q-checkbox__input {
1023
1023
  display: flex;
1024
- align-self: flex-start;
1025
1024
  align-items: center;
1026
1025
  justify-content: center;
1027
1026
  width: var(--box-size);
@@ -1030,7 +1029,7 @@ body *::-webkit-scrollbar-track {
1030
1029
  border: 1px solid var(--q-theme-neutral-light);
1031
1030
  border-radius: var(--border-radius);
1032
1031
  padding: 0;
1033
- transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
1032
+ transition: background var(--transition-duration), border-color var(--transition-duration), box-shadow var(--transition-duration);
1034
1033
  background-color: transparent;
1035
1034
  flex-shrink: 0;
1036
1035
  cursor: inherit;
@@ -1050,15 +1049,21 @@ body *::-webkit-scrollbar-track {
1050
1049
  -webkit-user-select: none;
1051
1050
  -moz-user-select: none;
1052
1051
  user-select: none;
1053
- transition: transform 0.2s ease;
1052
+ transition: transform var(--transition-duration) ease;
1054
1053
  opacity: var(--icon-opacity);
1055
1054
  }
1056
1055
  .q-checkbox__native-input {
1057
- transform: translateX(-100%);
1058
1056
  position: absolute;
1059
- pointer-events: none;
1060
1057
  opacity: 0;
1061
- margin: 0;
1058
+ pointer-events: none;
1059
+ width: 0;
1060
+ height: 0;
1061
+ }
1062
+ .q-checkbox__label.q-label {
1063
+ -webkit-user-select: none;
1064
+ -moz-user-select: none;
1065
+ user-select: none;
1066
+ line-height: var(--box-size);
1062
1067
  }
1063
1068
  .q-checkbox--small {
1064
1069
  --box-size: 0.95rem;
@@ -3868,7 +3873,6 @@ body *::-webkit-scrollbar-track {
3868
3873
  -moz-appearance: none;
3869
3874
  appearance: none;
3870
3875
  border-width: 1px;
3871
- border-color: var(--q-theme-neutral);
3872
3876
  border-radius: 50%;
3873
3877
  /** The inner dot */
3874
3878
  }
@@ -4238,6 +4242,175 @@ body *::-webkit-scrollbar-track {
4238
4242
  transform: rotate(1turn);
4239
4243
  }
4240
4244
  }
4245
+ .q-switch {
4246
+ --q-switch-inner-padding: 2px;
4247
+ --q-switch-border-radius: 9999px;
4248
+ --q-switch-transition-duration: 0.15s;
4249
+ --q-switch-transition-easing: ease-out;
4250
+ --q-switch-label-padding-v: 10px;
4251
+ --q-switch-label-padding-h: 15px;
4252
+ --q-switch-font-size: 0.75rem;
4253
+ --q-switch-shadow-color-primary: rgb(var(--q-theme-on-background-rgb) / 20%);
4254
+ --q-switch-shadow-color-secondary: rgb(var(--q-theme-on-background-rgb) / 10%);
4255
+ --q-switch-shadow-blur-base: 3px;
4256
+ --q-switch-shadow-offset-y: 1px;
4257
+ --q-switch-shadow-spread: 2px;
4258
+ --q-switch-shadow-color-primary-hover: rgb(var(--q-theme-on-background-rgb) / 30%);
4259
+ --q-switch-shadow-color-secondary-hover: rgb(var(--q-theme-on-background-rgb) / 15%);
4260
+ --q-switch-shadow-blur-hover: 6px;
4261
+ --q-switch-shadow-offset-y-hover: 2px;
4262
+ --q-switch-shadow-spread-hover: 4px;
4263
+ --q-switch-disabled-opacity: 0.5;
4264
+ --q-switch-hover-background-opacity: 0.5;
4265
+ --q-switch-checked-background: var(--q-theme-primary);
4266
+ --q-switch-on-checked-background: var(--q-theme-on-primary);
4267
+ --q-switch-unchecked-background: rgb(var(--q-theme-neutral-light-rgb) / 50%);
4268
+ --q-switch-on-unchecked-background: var(--q-theme-neutral);
4269
+ display: inline-flex;
4270
+ align-items: center;
4271
+ position: relative;
4272
+ white-space: nowrap;
4273
+ background: var(--q-switch-unchecked-background);
4274
+ border-radius: var(--q-switch-border-radius);
4275
+ padding: var(--q-switch-inner-padding);
4276
+ transition: background var(--q-switch-transition-duration) var(--q-switch-transition-easing);
4277
+ }
4278
+ .q-switch--small {
4279
+ --q-switch-inner-padding: 1px;
4280
+ --q-switch-label-padding-v: 8px;
4281
+ --q-switch-label-padding-h: 12px;
4282
+ --q-switch-font-size: 0.6875rem;
4283
+ }
4284
+ .q-switch--large {
4285
+ --q-switch-inner-padding: 3px;
4286
+ --q-switch-label-padding-v: 12px;
4287
+ --q-switch-label-padding-h: 18px;
4288
+ --q-switch-font-size: 0.875rem;
4289
+ }
4290
+ .q-switch--disabled {
4291
+ opacity: var(--q-switch-disabled-opacity);
4292
+ pointer-events: none;
4293
+ cursor: not-allowed;
4294
+ }
4295
+
4296
+ .q-switch__container {
4297
+ position: relative;
4298
+ display: inline-flex;
4299
+ align-items: center;
4300
+ justify-content: center;
4301
+ gap: 0.5em;
4302
+ }
4303
+
4304
+ .q-switch__input {
4305
+ position: absolute;
4306
+ inset: 0;
4307
+ width: 100%;
4308
+ height: 100%;
4309
+ margin: 0;
4310
+ padding: 0;
4311
+ -webkit-appearance: none;
4312
+ -moz-appearance: none;
4313
+ appearance: none;
4314
+ border: none;
4315
+ background: transparent;
4316
+ cursor: pointer;
4317
+ border-radius: var(--q-switch-border-radius);
4318
+ z-index: 2;
4319
+ }
4320
+ .q-switch__input:focus-visible {
4321
+ outline: 2px solid rgb(var(--q-theme-info-rgb)/50%);
4322
+ }
4323
+ .q-switch__input:disabled {
4324
+ cursor: not-allowed;
4325
+ }
4326
+ .q-switch__input:disabled:focus-visible {
4327
+ outline: none;
4328
+ }
4329
+
4330
+ .q-switch__labels {
4331
+ display: flex;
4332
+ align-items: center;
4333
+ width: 100%;
4334
+ position: relative;
4335
+ }
4336
+
4337
+ .q-switch__label {
4338
+ display: inline-flex;
4339
+ align-items: center;
4340
+ justify-content: center;
4341
+ border-radius: var(--q-switch-border-radius);
4342
+ padding: var(--q-switch-label-padding-v) var(--q-switch-label-padding-h);
4343
+ -webkit-user-select: none;
4344
+ -moz-user-select: none;
4345
+ user-select: none;
4346
+ transition: padding-left var(--q-switch-transition-duration) var(--q-switch-transition-easing), padding-right var(--q-switch-transition-duration) var(--q-switch-transition-easing), box-shadow var(--q-switch-transition-duration) var(--q-switch-transition-easing);
4347
+ cursor: pointer;
4348
+ color: var(--q-switch-on-unchecked-background);
4349
+ background: transparent;
4350
+ font-size: var(--q-switch-font-size);
4351
+ line-height: 1;
4352
+ pointer-events: none;
4353
+ font-weight: 500;
4354
+ flex: 1;
4355
+ min-width: 0;
4356
+ }
4357
+
4358
+ .q-switch__label--off {
4359
+ padding-right: var(--q-switch-label-padding-v);
4360
+ }
4361
+
4362
+ .q-switch__label--on {
4363
+ padding-left: var(--q-switch-label-padding-v);
4364
+ }
4365
+
4366
+ .q-switch--with-labels {
4367
+ --q-switch-label-padding-v: 4px;
4368
+ }
4369
+ .q-switch--with-labels .q-switch__label {
4370
+ padding: var(--q-switch-label-padding-v) var(--q-switch-label-padding-h);
4371
+ }
4372
+
4373
+ .q-switch--checked:not(.q-switch--readonly) {
4374
+ background: var(--q-switch-checked-background);
4375
+ }
4376
+ .q-switch--checked:not(.q-switch--readonly) .q-switch__label--off {
4377
+ color: var(--q-switch-on-checked-background);
4378
+ }
4379
+
4380
+ .q-switch__input:checked ~ .q-switch__labels .q-switch__label--on,
4381
+ .q-switch__input:not(:checked) ~ .q-switch__labels .q-switch__label--off {
4382
+ background: var(--q-theme-background);
4383
+ color: var(--q-theme-on-background);
4384
+ box-shadow: var(--q-switch-shadow-color-primary) 0 0 var(--q-switch-shadow-blur-base), var(--q-switch-shadow-color-secondary) 0 var(--q-switch-shadow-offset-y) var(--q-switch-shadow-spread);
4385
+ padding: var(--q-switch-label-padding-v) var(--q-switch-label-padding-h);
4386
+ }
4387
+
4388
+ .q-switch--readonly {
4389
+ cursor: default;
4390
+ pointer-events: none;
4391
+ }
4392
+ .q-switch--readonly .q-switch__input:checked ~ .q-switch__labels .q-switch__label--on,
4393
+ .q-switch--readonly .q-switch__input:not(:checked) ~ .q-switch__labels .q-switch__label--off {
4394
+ background: var(--q-theme-neutral);
4395
+ color: var(--q-theme-on-neutral);
4396
+ box-shadow: none;
4397
+ }
4398
+
4399
+ .q-switch:not(.q-switch--disabled) .q-switch__input:hover ~ .q-switch__labels .q-switch__label--on,
4400
+ .q-switch:not(.q-switch--disabled) .q-switch__input:hover ~ .q-switch__labels .q-switch__label--off {
4401
+ background: rgba(var(--q-theme-background-rgb, 255, 255, 255), var(--q-switch-hover-background-opacity));
4402
+ }
4403
+ .q-switch:not(.q-switch--disabled) .q-switch__input:checked:hover ~ .q-switch__labels .q-switch__label--on,
4404
+ .q-switch:not(.q-switch--disabled) .q-switch__input:not(:checked):hover ~ .q-switch__labels .q-switch__label--off {
4405
+ background: var(--q-theme-background);
4406
+ box-shadow: var(--q-switch-shadow-color-primary-hover) 0 0 var(--q-switch-shadow-blur-hover), var(--q-switch-shadow-color-secondary-hover) 0 var(--q-switch-shadow-offset-y-hover) var(--q-switch-shadow-spread-hover);
4407
+ }
4408
+
4409
+ @media (prefers-reduced-motion: reduce) {
4410
+ .q-switch__label {
4411
+ transition: none;
4412
+ }
4413
+ }
4241
4414
  .q-text-area {
4242
4415
  /* Container styles */
4243
4416
  display: flex;