@mohasinac/appkit 4.3.1 → 4.3.2

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 (2) hide show
  1. package/dist/styles.css +276 -0
  2. package/package.json +1 -1
package/dist/styles.css CHANGED
@@ -5479,6 +5479,117 @@
5479
5479
  background: var(--appkit-color-bg);
5480
5480
  }
5481
5481
 
5482
+ /* Checkbox — styled checkbox with label, error, and indeterminate support */
5483
+
5484
+ .appkit-checkbox {
5485
+ width: 100%;
5486
+ }
5487
+
5488
+ .appkit-checkbox__label {
5489
+ display: inline-flex;
5490
+ width: 100%;
5491
+ cursor: pointer;
5492
+ align-items: flex-start;
5493
+ gap: 0.75rem;
5494
+ }
5495
+ .appkit-checkbox__label--disabled {
5496
+ cursor: not-allowed;
5497
+ opacity: 0.6;
5498
+ }
5499
+
5500
+ .appkit-checkbox__box-wrap {
5501
+ position: relative;
5502
+ display: inline-flex;
5503
+ margin-top: 2px;
5504
+ height: 1.25rem;
5505
+ width: 1.25rem;
5506
+ flex-shrink: 0;
5507
+ align-items: center;
5508
+ justify-content: center;
5509
+ }
5510
+
5511
+ .appkit-checkbox__input {
5512
+ height: 1.25rem;
5513
+ width: 1.25rem;
5514
+ appearance: none;
5515
+ border-radius: 0.375rem;
5516
+ border: 1px solid var(--appkit-color-zinc-300);
5517
+ background: var(--appkit-color-surface);
5518
+ transition: all 0.15s ease;
5519
+ cursor: pointer;
5520
+ }
5521
+ .appkit-checkbox__input:focus-visible {
5522
+ outline: none;
5523
+ box-shadow: 0 0 0 2px rgba(101, 196, 8, 0.3), 0 0 0 4px var(--appkit-color-surface);
5524
+ }
5525
+ .appkit-checkbox__input:not(:disabled):hover {
5526
+ border-color: var(--appkit-color-secondary);
5527
+ }
5528
+ .appkit-checkbox__input:checked {
5529
+ border-color: var(--appkit-color-secondary);
5530
+ background-color: var(--appkit-color-secondary);
5531
+ }
5532
+ .appkit-checkbox__input:disabled {
5533
+ cursor: not-allowed;
5534
+ }
5535
+ .appkit-checkbox__input--error {
5536
+ border-color: var(--appkit-color-error);
5537
+ }
5538
+
5539
+ .appkit-checkbox__icon {
5540
+ pointer-events: none;
5541
+ position: absolute;
5542
+ height: 0.875rem;
5543
+ width: 0.875rem;
5544
+ color: var(--appkit-color-text-on-primary);
5545
+ opacity: 0;
5546
+ transition: opacity 0.15s ease;
5547
+ }
5548
+ .appkit-checkbox__input:checked ~ .appkit-checkbox__icon {
5549
+ opacity: 1;
5550
+ }
5551
+
5552
+ .appkit-checkbox__content {
5553
+ display: flex;
5554
+ min-width: 0;
5555
+ flex: 1;
5556
+ align-items: flex-start;
5557
+ justify-content: space-between;
5558
+ gap: 0.75rem;
5559
+ }
5560
+
5561
+ .appkit-checkbox__text {
5562
+ padding-top: 2px;
5563
+ font-size: 0.875rem;
5564
+ color: var(--appkit-color-zinc-700);
5565
+ }
5566
+
5567
+ .appkit-checkbox__error {
5568
+ margin-top: 0.375rem;
5569
+ padding-left: 2rem;
5570
+ }
5571
+
5572
+ /* Dark mode */
5573
+ .dark .appkit-checkbox__input {
5574
+ border-color: var(--appkit-color-slate-600);
5575
+ background: var(--appkit-color-surface);
5576
+ }
5577
+ .dark .appkit-checkbox__input:focus-visible {
5578
+ box-shadow: 0 0 0 2px rgba(236, 72, 153, 0.3), 0 0 0 4px var(--appkit-color-bg);
5579
+ }
5580
+ .dark .appkit-checkbox__input:not(:disabled):hover {
5581
+ border-color: var(--appkit-color-primary);
5582
+ }
5583
+ .dark .appkit-checkbox__input:checked {
5584
+ border-color: var(--appkit-color-primary);
5585
+ background-color: var(--appkit-color-primary);
5586
+ }
5587
+ .dark .appkit-checkbox__input--error {
5588
+ border-color: var(--appkit-color-error);
5589
+ }
5590
+ .dark .appkit-checkbox__text {
5591
+ color: var(--appkit-color-zinc-200);
5592
+ }
5482
5593
 
5483
5594
  /* EmptyState — centered feedback panel with icon, title, description, action */
5484
5595
 
@@ -7086,6 +7197,171 @@
7086
7197
  border-color: rgba(71, 85, 105, 0.6);
7087
7198
  }
7088
7199
 
7200
+ /* ImageGallery — swipeable image viewer with thumbnails, captions, zoom */
7201
+
7202
+ .appkit-image-gallery {
7203
+ /* root container — no structural styles needed, className pass-through */
7204
+ }
7205
+
7206
+ .appkit-image-gallery__viewport {
7207
+ position: relative;
7208
+ border-radius: 0.5rem;
7209
+ overflow: hidden;
7210
+ touch-action: pan-y;
7211
+ user-select: none;
7212
+ }
7213
+
7214
+ .appkit-image-gallery__image-frame {
7215
+ position: relative;
7216
+ aspect-ratio: 16 / 9;
7217
+ overflow: hidden;
7218
+ }
7219
+
7220
+ @media (min-width: 768px) {
7221
+ .appkit-image-gallery__image-frame {
7222
+ aspect-ratio: 16 / 10;
7223
+ }
7224
+ }
7225
+
7226
+ .appkit-image-gallery__image {
7227
+ width: 100%;
7228
+ height: 100%;
7229
+ background-position: center;
7230
+ background-size: contain;
7231
+ background-repeat: no-repeat;
7232
+ transition: transform 0.2s ease;
7233
+ }
7234
+
7235
+ .appkit-image-gallery__nav-btn {
7236
+ position: absolute;
7237
+ top: 50%;
7238
+ transform: translateY(-50%);
7239
+ padding: 0.5rem;
7240
+ border-radius: 9999px;
7241
+ background-opacity: 0.8;
7242
+ backdrop-filter: blur(4px);
7243
+ transition: all 0.15s ease;
7244
+ touch-action: manipulation;
7245
+ }
7246
+
7247
+ .appkit-image-gallery__nav-btn:focus {
7248
+ outline: none;
7249
+ box-shadow: 0 0 0 2px var(--appkit-color-secondary);
7250
+ }
7251
+
7252
+ .appkit-image-gallery__nav-btn:disabled {
7253
+ opacity: 0.5;
7254
+ cursor: not-allowed;
7255
+ }
7256
+
7257
+ .appkit-image-gallery__nav-btn--prev {
7258
+ left: 0.5rem;
7259
+ }
7260
+
7261
+ .appkit-image-gallery__nav-btn--next {
7262
+ right: 0.5rem;
7263
+ }
7264
+
7265
+ @media (min-width: 768px) {
7266
+ .appkit-image-gallery__nav-btn {
7267
+ padding: 0.75rem;
7268
+ }
7269
+ .appkit-image-gallery__nav-btn--prev {
7270
+ left: 1rem;
7271
+ }
7272
+ .appkit-image-gallery__nav-btn--next {
7273
+ right: 1rem;
7274
+ }
7275
+ }
7276
+
7277
+ .appkit-image-gallery__counter,
7278
+ .appkit-image-gallery__zoom-indicator {
7279
+ position: absolute;
7280
+ padding: 0.25rem 0.75rem;
7281
+ border-radius: 9999px;
7282
+ background-opacity: 0.8;
7283
+ backdrop-filter: blur(4px);
7284
+ font-size: 0.75rem;
7285
+ font-weight: 500;
7286
+ }
7287
+
7288
+ @media (min-width: 768px) {
7289
+ .appkit-image-gallery__counter,
7290
+ .appkit-image-gallery__zoom-indicator {
7291
+ font-size: 0.875rem;
7292
+ }
7293
+ }
7294
+
7295
+ .appkit-image-gallery__counter {
7296
+ /* audit-bottom-offset-ok: positioned relative to the gallery's own bounding box, not the viewport/bottom-nav */
7297
+ bottom: 0.5rem;
7298
+ right: 0.5rem;
7299
+ }
7300
+
7301
+ @media (min-width: 768px) {
7302
+ .appkit-image-gallery__counter {
7303
+ /* audit-bottom-offset-ok: positioned relative to the gallery's own bounding box, not the viewport/bottom-nav */
7304
+ bottom: 1rem;
7305
+ right: 1rem;
7306
+ }
7307
+ }
7308
+
7309
+ .appkit-image-gallery__zoom-indicator {
7310
+ top: 0.5rem;
7311
+ right: 0.5rem;
7312
+ }
7313
+
7314
+ @media (min-width: 768px) {
7315
+ .appkit-image-gallery__zoom-indicator {
7316
+ top: 1rem;
7317
+ right: 1rem;
7318
+ }
7319
+ }
7320
+
7321
+ .appkit-image-gallery__caption {
7322
+ padding: 1rem;
7323
+ border-top: 1px solid;
7324
+ }
7325
+
7326
+ .appkit-image-gallery__thumbnail {
7327
+ flex-shrink: 0;
7328
+ width: 4rem;
7329
+ height: 4rem;
7330
+ border-radius: 0.5rem;
7331
+ overflow: hidden;
7332
+ border-width: 2px;
7333
+ transition: all 0.15s ease;
7334
+ scroll-snap-align: center;
7335
+ touch-action: manipulation;
7336
+ }
7337
+
7338
+ @media (min-width: 768px) {
7339
+ .appkit-image-gallery__thumbnail {
7340
+ width: 5rem;
7341
+ height: 5rem;
7342
+ }
7343
+ }
7344
+
7345
+ .appkit-image-gallery__thumbnail--active {
7346
+ border-color: var(--appkit-color-secondary-600);
7347
+ box-shadow: 0 0 0 2px var(--appkit-color-secondary-200);
7348
+ }
7349
+
7350
+ :is(.dark) .appkit-image-gallery__thumbnail--active {
7351
+ box-shadow: 0 0 0 2px var(--appkit-color-secondary-800);
7352
+ }
7353
+
7354
+ .appkit-image-gallery__help {
7355
+ margin-top: 0.5rem;
7356
+ text-align: center;
7357
+ font-size: 0.75rem;
7358
+ }
7359
+
7360
+ @media (min-width: 768px) {
7361
+ .appkit-image-gallery__help {
7362
+ display: none;
7363
+ }
7364
+ }
7089
7365
 
7090
7366
  /* PasswordStrengthIndicator — progress bar + requirements checklist */
7091
7367
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mohasinac/appkit",
3
- "version": "4.3.1",
3
+ "version": "4.3.2",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"