@idds/styles 1.5.27 → 1.5.28

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/index.css CHANGED
@@ -5510,37 +5510,16 @@ dialog.bottom-sheet-dropdown {
5510
5510
  z-index: 1000;
5511
5511
  opacity: 0;
5512
5512
  transform: translateY(-0.5rem);
5513
- transition: opacity var(--ina-transition-duration-200) ease-out,
5513
+ transition:
5514
+ opacity var(--ina-transition-duration-200) ease-out,
5514
5515
  transform var(--ina-transition-duration-200) ease-out;
5515
5516
  min-height: -moz-fit-content;
5516
5517
  min-height: fit-content;
5518
+ min-width: 100%; /* Default match trigger width */
5519
+ width: -moz-max-content;
5520
+ width: max-content; /* Allow content to dictate width, but at least 100% of trigger */
5517
5521
  }
5518
- .ina-dropdown__menu--visible {
5519
- opacity: 1;
5520
- transform: translateY(0);
5521
- }
5522
- /* Positioning variants */
5523
- .ina-dropdown__menu--position-bottom {
5524
- top: 100%;
5525
- margin-top: var(--ina-spacing-1);
5526
- }
5527
- .ina-dropdown__menu--position-top {
5528
- bottom: 100%;
5529
- margin-bottom: var(--ina-spacing-1);
5530
- transform: translateY(0.5rem);
5531
- }
5532
- .ina-dropdown__menu--position-bottom.ina-dropdown__menu--visible {
5533
- transform: translateY(0);
5534
- }
5535
- .ina-dropdown__menu--position-top.ina-dropdown__menu--visible {
5536
- transform: translateY(0);
5537
- }
5538
- .ina-dropdown__menu--align-right {
5539
- left: 0;
5540
- }
5541
- .ina-dropdown__menu--align-left {
5542
- right: 0;
5543
- }
5522
+ /* ... existing styles ... */
5544
5523
  /* Width variants */
5545
5524
  .ina-dropdown__menu--width-auto {
5546
5525
  width: auto;
@@ -5548,15 +5527,19 @@ dialog.bottom-sheet-dropdown {
5548
5527
  }
5549
5528
  .ina-dropdown__menu--width-sm {
5550
5529
  min-width: 120px;
5530
+ width: auto;
5551
5531
  }
5552
5532
  .ina-dropdown__menu--width-md {
5553
5533
  min-width: 160px;
5534
+ width: auto;
5554
5535
  }
5555
5536
  .ina-dropdown__menu--width-lg {
5556
5537
  min-width: 200px;
5538
+ width: auto;
5557
5539
  }
5558
5540
  .ina-dropdown__menu--width-xl {
5559
5541
  min-width: 240px;
5542
+ width: auto;
5560
5543
  }
5561
5544
  .ina-dropdown__menu--width-full {
5562
5545
  width: 100%;
@@ -5657,17 +5640,20 @@ dialog.bottom-sheet-dropdown {
5657
5640
  }
5658
5641
  .ina-dropdown__menu--animation-slide-up {
5659
5642
  transform: translateY(1rem);
5660
- transition: opacity var(--ina-transition-duration-200) ease-out,
5643
+ transition:
5644
+ opacity var(--ina-transition-duration-200) ease-out,
5661
5645
  transform var(--ina-transition-duration-200) ease-out;
5662
5646
  }
5663
5647
  .ina-dropdown__menu--animation-slide-down {
5664
5648
  transform: translateY(-1rem);
5665
- transition: opacity var(--ina-transition-duration-200) ease-out,
5649
+ transition:
5650
+ opacity var(--ina-transition-duration-200) ease-out,
5666
5651
  transform var(--ina-transition-duration-200) ease-out;
5667
5652
  }
5668
5653
  .ina-dropdown__menu--animation-scale {
5669
5654
  transform: scale(0.95);
5670
- transition: opacity var(--ina-transition-duration-200) ease-out,
5655
+ transition:
5656
+ opacity var(--ina-transition-duration-200) ease-out,
5671
5657
  transform var(--ina-transition-duration-200) ease-out;
5672
5658
  }
5673
5659
  /* All visible states */
@@ -8709,7 +8695,9 @@ dialog.bottom-sheet-dropdown {
8709
8695
  display: block;
8710
8696
  -o-object-fit: contain;
8711
8697
  object-fit: contain;
8712
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 2px var(--ina-neutral-25) !important;
8698
+ box-shadow:
8699
+ 0 1px 2px 0 rgba(31, 31, 31, 0.1),
8700
+ 0 0 0 2px var(--ina-neutral-25) !important;
8713
8701
  }
8714
8702
  .ina-phone-input__country-code {
8715
8703
  font-weight: var(--ina-font-medium);
@@ -8772,27 +8760,33 @@ dialog.bottom-sheet-dropdown {
8772
8760
  }
8773
8761
  .ina-phone-input__wrapper.ina-phone-input__wrapper--status-error:focus-within {
8774
8762
  border-color: var(--ina-negative-500);
8775
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1),
8776
- 0 0 0 3px var(--ina-negative-50) !important;
8763
+ box-shadow:
8764
+ inset 0 0 0 1px #fff,
8765
+ inset 0 0 0 2px var(--ina-negative-50) !important;
8777
8766
  }
8778
8767
  .ina-phone-input__wrapper--status-warning {
8779
8768
  border-color: var(--ina-warning-500);
8780
8769
  }
8781
8770
  .ina-phone-input__wrapper.ina-phone-input__wrapper--status-warning:focus-within {
8782
8771
  border-color: var(--ina-warning-500);
8783
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px var(--ina-warning-50) !important;
8772
+ box-shadow:
8773
+ inset 0 0 0 1px #fff,
8774
+ inset 0 0 0 2px var(--ina-warning-50) !important;
8784
8775
  }
8785
8776
  .ina-phone-input__wrapper--status-success {
8786
8777
  border-color: var(--ina-positive-600);
8787
8778
  }
8788
8779
  .ina-phone-input__wrapper.ina-phone-input__wrapper--status-success:focus-within {
8789
8780
  border-color: var(--ina-positive-600);
8790
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1),
8791
- 0 0 0 3px var(--ina-positive-50) !important;
8781
+ box-shadow:
8782
+ inset 0 0 0 1px #fff,
8783
+ inset 0 0 0 2px var(--ina-positive-50) !important;
8792
8784
  }
8793
8785
  /* Focus styles */
8794
8786
  .ina-phone-input__wrapper:focus-within {
8795
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px #f3f3f3;
8787
+ box-shadow:
8788
+ inset 0 0 0 1px #fff,
8789
+ inset 0 0 0 2px var(--ina-primary-primary);
8796
8790
  outline: none;
8797
8791
  background-color: var(--ina-background-primary);
8798
8792
  border-color: var(--ina-content-primary);
@@ -9349,7 +9343,9 @@ dialog.bottom-sheet-dropdown {
9349
9343
  }
9350
9344
  /* Focus state - Add drop shadow */
9351
9345
  .ina-radio-input__field:focus-visible:not(:disabled) {
9352
- filter: drop-shadow(0 0 3px #737373);
9346
+ outline: none;
9347
+ filter: drop-shadow(0 0 0 var(--ina-primary-primary, #141414))
9348
+ drop-shadow(0 0 0 #fff);
9353
9349
  }
9354
9350
  /* Active state - Add drop shadow */
9355
9351
  .ina-radio-input__field:active:not(:disabled) {
@@ -9375,7 +9371,8 @@ dialog.bottom-sheet-dropdown {
9375
9371
  .ina-radio-input__field:checked:hover:not(:disabled),
9376
9372
  .ina-radio-input__field:checked:focus-visible:not(:disabled),
9377
9373
  .ina-radio-input__field:checked:active:not(:disabled) {
9378
- filter: drop-shadow(0 0 3px #737373);
9374
+ filter: drop-shadow(0 0 0 var(--ina-primary-primary, #141414))
9375
+ drop-shadow(0 0 0 #fff);
9379
9376
  }
9380
9377
  /* Disabled states */
9381
9378
  .ina-radio-input__field:disabled {
@@ -9458,9 +9455,10 @@ dialog.bottom-sheet-dropdown {
9458
9455
  margin-left: var(--ina-spacing-1);
9459
9456
  }
9460
9457
  /* Focus indicators */
9458
+ /* Focus indicators */
9461
9459
  .ina-radio-input__field:focus-visible {
9462
- outline: 2px solid var(--ina-stroke-tertiary, #141414);
9463
- outline-offset: 2px;
9460
+ outline: none;
9461
+ outline-offset: 0;
9464
9462
  }
9465
9463
  /* Error state */
9466
9464
  .ina-radio-input--error .ina-radio-input__main-label {
@@ -9570,12 +9568,35 @@ dialog.bottom-sheet-dropdown {
9570
9568
  border: 1px solid var(--ina-stroke-primary);
9571
9569
  border-radius: var(--ina-radius-lg);
9572
9570
  padding: var(--ina-spacing-2) var(--ina-spacing-4);
9573
- background-color: transparent;
9571
+ background-color: var(--ina-background-primary);
9574
9572
  color: var(--ina-content-primary);
9575
9573
  cursor: pointer;
9576
9574
  font-size: inherit;
9577
9575
  outline: none;
9578
9576
  transition: all var(--ina-transition-base);
9577
+ position: relative;
9578
+ }
9579
+ /* NEW: Trigger Input for Search */
9580
+ .ina-select-dropdown__trigger-input {
9581
+ flex: 1;
9582
+ border: none;
9583
+ background: transparent;
9584
+ padding: 0;
9585
+ margin: 0;
9586
+ font-size: inherit;
9587
+ color: inherit;
9588
+ outline: none;
9589
+ min-width: 0; /* Allow shrinking */
9590
+ cursor: text;
9591
+ }
9592
+ .ina-select-dropdown__trigger-input::-moz-placeholder {
9593
+ color: var(--ina-content-tertiary);
9594
+ }
9595
+ .ina-select-dropdown__trigger-input::placeholder {
9596
+ color: var(--ina-content-tertiary);
9597
+ }
9598
+ .ina-select-dropdown__trigger-input:disabled {
9599
+ cursor: not-allowed;
9579
9600
  }
9580
9601
  /* Size variants */
9581
9602
  .ina-select-dropdown__trigger--size-sm {
@@ -9607,37 +9628,50 @@ dialog.bottom-sheet-dropdown {
9607
9628
  .ina-select-dropdown__trigger:hover {
9608
9629
  background-color: var(--ina-background-secondary);
9609
9630
  }
9631
+ /* Focus state for trigger when it acts as container */
9632
+ .ina-select-dropdown__trigger:focus-within {
9633
+ border-color: var(--ina-stroke-tertiary, #141414);
9634
+ background: var(--ina-background-primary, #fff);
9635
+ box-shadow:
9636
+ inset 0 0 0 1px #fff,
9637
+ inset 0 0 0 2px var(--ina-primary-primary, #141414);
9638
+ }
9610
9639
  /* Status variants */
9611
9640
  .ina-select-dropdown__trigger--status-neutral {
9612
9641
  border-color: var(--ina-stroke-primary);
9613
9642
  }
9614
- .ina-select-dropdown__trigger--status-neutral:focus-visible {
9615
- border-color: var(--ina-content-primary);
9616
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1),
9617
- 0 0 0 3px var(--ina-background-secondary);
9643
+ .ina-select-dropdown__trigger--status-neutral:focus-within {
9644
+ border-color: var(--ina-stroke-tertiary);
9645
+ box-shadow:
9646
+ inset 0 0 0 1px #fff,
9647
+ inset 0 0 0 2px var(--ina-primary-primary, #141414);
9618
9648
  }
9619
9649
  .ina-select-dropdown__trigger--status-error {
9620
9650
  border-color: var(--ina-negative-500);
9621
9651
  }
9622
- .ina-select-dropdown__trigger--status-error:focus-visible {
9652
+ .ina-select-dropdown__trigger--status-error:focus-within {
9623
9653
  border-color: var(--ina-negative-600);
9624
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1),
9625
- 0 0 0 3px var(--ina-negative-50);
9654
+ box-shadow:
9655
+ inset 0 0 0 1px #fff,
9656
+ inset 0 0 0 2px var(--ina-negative-50, #141414);
9626
9657
  }
9627
9658
  .ina-select-dropdown__trigger--status-warning {
9628
9659
  border-color: var(--ina-warning-500);
9629
9660
  }
9630
- .ina-select-dropdown__trigger--status-warning:focus-visible {
9661
+ .ina-select-dropdown__trigger--status-warning:focus-within {
9631
9662
  border-color: var(--ina-warning-600);
9632
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px var(--ina-warning-50);
9663
+ box-shadow:
9664
+ inset 0 0 0 1px #fff,
9665
+ inset 0 0 0 2px var(--ina-warning-50, #141414);
9633
9666
  }
9634
9667
  .ina-select-dropdown__trigger--status-success {
9635
9668
  border-color: var(--ina-positive-500);
9636
9669
  }
9637
- .ina-select-dropdown__trigger--status-success:focus-visible {
9670
+ .ina-select-dropdown__trigger--status-success:focus-within {
9638
9671
  border-color: var(--ina-positive-600);
9639
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1),
9640
- 0 0 0 3px var(--ina-positive-50);
9672
+ box-shadow:
9673
+ inset 0 0 0 1px #fff,
9674
+ inset 0 0 0 2px var(--ina-positive-50, #141414);
9641
9675
  }
9642
9676
  .ina-select-dropdown__trigger--disabled {
9643
9677
  background-color: transparent;
@@ -9652,6 +9686,8 @@ dialog.bottom-sheet-dropdown {
9652
9686
  .ina-select-dropdown__trigger-prefix {
9653
9687
  flex-shrink: 0;
9654
9688
  margin-right: var(--ina-spacing-2);
9689
+ display: flex;
9690
+ align-items: center;
9655
9691
  }
9656
9692
  .ina-select-dropdown__trigger-text {
9657
9693
  flex: 1;
@@ -9685,13 +9721,16 @@ dialog.bottom-sheet-dropdown {
9685
9721
  z-index: 10004; /* Higher than YearPicker panel */
9686
9722
  top: 100%;
9687
9723
  left: 0;
9724
+ width: 100%; /* Match trigger width by default */
9725
+ min-width: 100%;
9688
9726
  margin-top: var(--ina-spacing-1);
9689
9727
  background-color: var(
9690
9728
  --ina-background-primary
9691
9729
  ) !important; /* Ensure solid background */
9692
9730
  border: 1px solid var(--ina-stroke-primary);
9693
9731
  border-radius: var(--ina-radius-lg);
9694
- box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1),
9732
+ box-shadow:
9733
+ 0 10px 25px -5px rgba(0, 0, 0, 0.1),
9695
9734
  0 10px 10px -5px rgba(0, 0, 0, 0.04);
9696
9735
  display: flex;
9697
9736
  flex-direction: column;
@@ -9980,7 +10019,8 @@ dialog.bottom-sheet-dropdown {
9980
10019
  border: 1px solid var(--ina-stroke-primary);
9981
10020
  border-radius: var(--ina-radius-md);
9982
10021
  cursor: pointer;
9983
- transition: background-color var(--ina-transition-base),
10022
+ transition:
10023
+ background-color var(--ina-transition-base),
9984
10024
  border-color var(--ina-transition-base),
9985
10025
  box-shadow var(--ina-transition-base);
9986
10026
  }
@@ -10126,6 +10166,15 @@ dialog.bottom-sheet-dropdown {
10126
10166
  transition: none;
10127
10167
  }
10128
10168
  }
10169
+ /* Selection Title */
10170
+ .ina-select-dropdown__selection-title {
10171
+ padding: 8px 12px;
10172
+ font-size: 12px;
10173
+ font-weight: 600;
10174
+ color: var(--ina-content-tertiary);
10175
+ line-height: 1.33; /* 16px / 12px */
10176
+ pointer-events: none;
10177
+ }
10129
10178
  /* =========================== */
10130
10179
  /* SELECT OPTION COMPONENT */
10131
10180
  /* =========================== */
@@ -12639,23 +12688,27 @@ dialog.bottom-sheet-dropdown {
12639
12688
  }
12640
12689
  .ina-text-area__wrapper.ina-text-area__wrapper--status-error:focus-within {
12641
12690
  border-color: var(--ina-negative-500);
12642
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12643
- 0 0 0 3px var(--ina-negative-50);
12691
+ box-shadow:
12692
+ inset 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12693
+ inset 0 0 0 3px var(--ina-negative-50);
12644
12694
  }
12645
12695
  .ina-text-area__wrapper--status-warning {
12646
12696
  border-color: var(--ina-warning-500);
12647
12697
  }
12648
12698
  .ina-text-area__wrapper.ina-text-area__wrapper--status-warning:focus-within {
12649
12699
  border-color: var(--ina-warning-500);
12650
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px var(--ina-warning-50);
12700
+ box-shadow:
12701
+ inset 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12702
+ inset 0 0 0 3px var(--ina-warning-50);
12651
12703
  }
12652
12704
  .ina-text-area__wrapper--status-success {
12653
12705
  border-color: var(--ina-positive-600);
12654
12706
  }
12655
12707
  .ina-text-area__wrapper.ina-text-area__wrapper--status-success:focus-within {
12656
12708
  border-color: var(--ina-positive-600);
12657
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12658
- 0 0 0 3px var(--ina-positive-50);
12709
+ box-shadow:
12710
+ inset 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12711
+ inset 0 0 0 3px var(--ina-positive-50);
12659
12712
  }
12660
12713
  /* Disabled state */
12661
12714
  .ina-text-area__wrapper--disabled {
@@ -12675,7 +12728,9 @@ dialog.bottom-sheet-dropdown {
12675
12728
  }
12676
12729
  /* Focus styles - Sesuai design Figma */
12677
12730
  .ina-text-area__wrapper:focus-within {
12678
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px #f3f3f3;
12731
+ box-shadow:
12732
+ inset 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12733
+ inset 0 0 0 3px #f3f3f3;
12679
12734
  outline: none;
12680
12735
  background-color: var(--ina-background-primary);
12681
12736
  }
@@ -12879,23 +12934,27 @@ dialog.bottom-sheet-dropdown {
12879
12934
  }
12880
12935
  .ina-text-field__wrapper.ina-text-field__wrapper--status-error:focus-within {
12881
12936
  border-color: var(--ina-negative-500);
12882
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12883
- 0 0 0 3px var(--ina-negative-50) !important;
12937
+ box-shadow:
12938
+ inset 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12939
+ inset 0 0 0 3px var(--ina-negative-50) !important;
12884
12940
  }
12885
12941
  .ina-text-field__wrapper--status-warning {
12886
12942
  border-color: var(--ina-warning-500);
12887
12943
  }
12888
12944
  .ina-text-field__wrapper.ina-text-field__wrapper--status-warning:focus-within {
12889
12945
  border-color: var(--ina-warning-500);
12890
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px var(--ina-warning-50) !important;
12946
+ box-shadow:
12947
+ inset 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12948
+ inset 0 0 0 3px var(--ina-warning-50) !important;
12891
12949
  }
12892
12950
  .ina-text-field__wrapper--status-success {
12893
12951
  border-color: var(--ina-positive-600);
12894
12952
  }
12895
12953
  .ina-text-field__wrapper.ina-text-field__wrapper--status-success:focus-within {
12896
12954
  border-color: var(--ina-positive-600);
12897
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12898
- 0 0 0 3px var(--ina-positive-50) !important;
12955
+ box-shadow:
12956
+ inset 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12957
+ inset 0 0 0 3px var(--ina-positive-50) !important;
12899
12958
  }
12900
12959
  /* Disabled state */
12901
12960
  .ina-text-field__wrapper--disabled {
@@ -12915,7 +12974,9 @@ dialog.bottom-sheet-dropdown {
12915
12974
  }
12916
12975
  /* Focus styles - Sesuai design Figma */
12917
12976
  .ina-text-field__wrapper:focus-within {
12918
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px #f3f3f3;
12977
+ box-shadow:
12978
+ inset 0 1px 2px 0 rgba(31, 31, 31, 0.1),
12979
+ inset 0 0 0 3px #f3f3f3;
12919
12980
  outline: none;
12920
12981
  background-color: var(--ina-background-primary);
12921
12982
  border-color: var(--ina-content-primary);
@@ -13263,293 +13324,64 @@ dialog.bottom-sheet-dropdown {
13263
13324
  border-color: var(--ina-stroke-secondary);
13264
13325
  }
13265
13326
  .ina-time-picker--open .ina-time-picker__wrapper {
13266
- box-shadow: 0 1px 2px #1f1f1f1a, 0 0 0 3px var(--ina-stroke-primary);
13327
+ box-shadow:
13328
+ inset 0 0 0 1px #fff,
13329
+ inset 0 0 0 2px var(--ina-stroke-primary);
13267
13330
  outline: none;
13268
13331
  background-color: var(--ina-background-primary);
13269
13332
  border-color: var(--ina-content-primary);
13270
13333
  }
13271
- /* Input */
13272
- .ina-time-picker__input {
13273
- width: 100%;
13274
- border: none;
13275
- outline: none;
13276
- background-color: transparent;
13277
- color: var(--ina-content-primary);
13278
- font-size: var(--ina-font-sm);
13279
- font-weight: var(--ina-font-normal);
13280
- line-height: var(--ina-line-height-sm);
13281
- transition: all var(--ina-transition-base);
13282
- }
13283
- .ina-time-picker__input::-moz-placeholder {
13284
- color: var(--ina-content-tertiary);
13285
- }
13286
- .ina-time-picker__input::placeholder {
13287
- color: var(--ina-content-tertiary);
13288
- }
13289
- .ina-time-picker__input:focus {
13290
- outline: none;
13291
- }
13292
- /* Prefix and Suffix Icons */
13293
- .ina-time-picker__prefix-icon,
13294
- .ina-time-picker__suffix-icon {
13295
- display: flex;
13296
- align-items: center;
13297
- justify-content: center;
13298
- color: var(--ina-text-secondary);
13299
- pointer-events: none;
13300
- }
13301
- .ina-time-picker__suffix-icon {
13302
- cursor: pointer;
13303
- pointer-events: all;
13304
- }
13305
- /* Clear Button */
13306
- /* Clear Button */
13307
- .ina-time-picker__clear-button {
13308
- flex-shrink: 0;
13309
- background: none;
13310
- border: none;
13311
- cursor: pointer;
13312
- padding: 0;
13313
- display: inline-flex;
13314
- align-items: center;
13315
- justify-content: center;
13316
- color: var(--ina-content-dark-secondary);
13317
- transition: color var(--ina-transition-base);
13318
- }
13319
- .ina-time-picker__clear-button:hover:not(:disabled) {
13320
- color: var(--ina-content-secondary);
13321
- }
13322
- .ina-time-picker__clear-button:disabled {
13323
- cursor: not-allowed;
13324
- opacity: 0.5;
13325
- }
13326
- /* Size Variants */
13327
- .ina-time-picker--size-sm .ina-time-picker__wrapper {
13328
- /* Desktop >= 768px */
13329
- height: 40px;
13330
- }
13331
- .ina-time-picker--size-sm .ina-time-picker__input {
13332
- font-size: var(--ina-font-xs);
13333
- padding: 0 var(--ina-spacing-1);
13334
- }
13335
- .ina-time-picker--size-sm .ina-time-picker__prefix-icon,
13336
- .ina-time-picker--size-sm .ina-time-picker__suffix-icon {
13337
- margin: 0 var(--ina-spacing-1);
13338
- }
13339
- .ina-time-picker__label {
13340
- font-size: var(--ina-font-sm);
13341
- font-weight: var(--ina-font-medium);
13342
- color: var(--ina-content-primary);
13343
- margin-bottom: var(--ina-spacing-2);
13344
- display: block;
13345
- }
13346
- .ina-time-picker__required {
13347
- color: var(--ina-negative-500);
13348
- margin-left: var(--ina-spacing-1);
13349
- }
13350
- .ina-time-picker--size-md .ina-time-picker__wrapper {
13351
- /* Desktop >= 768px */
13352
- height: 44px;
13353
- }
13354
- .ina-time-picker--size-md .ina-time-picker__input {
13355
- font-size: var(--ina-font-sm);
13356
- padding: 0 var(--ina-spacing-1);
13357
- }
13358
- .ina-time-picker--size-md .ina-time-picker__prefix-icon,
13359
- .ina-time-picker--size-md .ina-time-picker__suffix-icon {
13360
- margin: 0 var(--ina-spacing-1);
13361
- }
13362
- .ina-time-picker--size-lg .ina-time-picker__wrapper {
13363
- /* Desktop >= 768px */
13364
- height: 48px;
13365
- }
13366
- .ina-time-picker--size-lg .ina-time-picker__input {
13367
- font-size: var(--ina-font-base);
13368
- padding: 0 var(--ina-spacing-2);
13369
- }
13370
- .ina-time-picker--size-lg .ina-time-picker__prefix-icon,
13371
- .ina-time-picker--size-lg .ina-time-picker__suffix-icon {
13372
- margin: 0 var(--ina-spacing-2);
13373
- }
13334
+ /* ... existing code ... */
13374
13335
  /* Status Variants */
13375
13336
  .ina-time-picker--status-error .ina-time-picker__wrapper {
13376
13337
  border-color: var(--ina-error-500);
13377
13338
  }
13378
13339
  .ina-time-picker--status-error.ina-time-picker--open .ina-time-picker__wrapper {
13379
- box-shadow: 0 0 0 2px var(--ina-error-50);
13340
+ box-shadow:
13341
+ inset 0 0 0 1px #fff,
13342
+ inset 0 0 0 2px var(--ina-error-500);
13380
13343
  }
13381
13344
  .ina-time-picker--status-warning .ina-time-picker__wrapper {
13382
13345
  border-color: var(--ina-warning-500);
13383
13346
  }
13384
13347
  .ina-time-picker--status-warning.ina-time-picker--open
13385
13348
  .ina-time-picker__wrapper {
13386
- box-shadow: 0 0 0 2px var(--ina-warning-50);
13349
+ box-shadow:
13350
+ inset 0 0 0 1px #fff,
13351
+ inset 0 0 0 2px var(--ina-warning-500);
13387
13352
  }
13388
13353
  .ina-time-picker--status-success .ina-time-picker__wrapper {
13389
13354
  border-color: var(--ina-success-500);
13390
13355
  }
13391
13356
  .ina-time-picker--status-success.ina-time-picker--open
13392
13357
  .ina-time-picker__wrapper {
13393
- box-shadow: 0 0 0 2px var(--ina-success-50);
13394
- }
13395
- /* Disabled State */
13396
- .ina-time-picker--disabled .ina-time-picker__wrapper {
13397
- background-color: var(--ina-background-secondary);
13398
- border-color: var(--ina-stroke-primary);
13399
- cursor: not-allowed;
13400
- }
13401
- .ina-time-picker--disabled .ina-time-picker__input {
13402
- cursor: not-allowed;
13403
- opacity: 0.6;
13404
- }
13405
- .ina-time-picker--disabled .ina-time-picker__suffix-icon {
13406
- cursor: not-allowed;
13358
+ box-shadow:
13359
+ inset 0 0 0 1px #fff,
13360
+ inset 0 0 0 2px var(--ina-success-500);
13407
13361
  }
13362
+ /* ... existing code ... */
13408
13363
  /* Panel */
13409
13364
  .ina-time-picker__panel {
13410
13365
  position: absolute;
13411
13366
  top: 100%;
13412
13367
  left: 0;
13413
- right: 0;
13368
+ width: 100%;
13369
+ min-width: 100%; /* Match trigger width by default */
13414
13370
  z-index: 1000;
13415
13371
  background-color: var(--ina-background-primary);
13416
13372
  border: 1px solid var(--ina-stroke-primary);
13417
13373
  border-radius: var(--ina-radius-lg);
13418
13374
  box-shadow: var(--ina-shadow-lg);
13419
13375
  margin-top: var(--ina-spacing-2);
13420
- min-width: 200px;
13421
13376
  overflow: hidden;
13422
13377
  animation: time-picker-fade-in 0.15s ease-out;
13423
13378
  }
13424
- @keyframes time-picker-fade-in {
13425
- from {
13426
- opacity: 0;
13427
- transform: translateY(-4px);
13428
- }
13429
- to {
13430
- opacity: 1;
13431
- transform: translateY(0);
13432
- }
13433
- }
13434
- /* Panel Content */
13435
- .ina-time-picker__content {
13436
- display: flex;
13437
- max-height: 200px;
13438
- overflow: hidden;
13439
- }
13440
- /* Columns */
13441
- .ina-time-picker__column {
13442
- flex: 1;
13443
- border-right: 1px solid var(--ina-stroke-primary);
13444
- overflow-y: auto;
13445
- scrollbar-width: none;
13446
- -ms-overflow-style: none;
13447
- }
13448
- .ina-time-picker__column::-webkit-scrollbar {
13449
- display: none;
13450
- }
13451
- .ina-time-picker__column:last-child {
13452
- border-right: none;
13453
- }
13454
- .ina-time-picker__column--hovered {
13455
- background-color: var(--ina-background-secondary);
13456
- }
13457
- /* Column Content */
13458
- .ina-time-picker__column-content {
13459
- padding: var(--ina-spacing-2);
13460
- }
13461
- /* Options */
13462
- .ina-time-picker__option {
13463
- display: flex;
13464
- align-items: center;
13465
- justify-content: center;
13466
- min-height: 32px;
13467
- padding: var(--ina-spacing-1) var(--ina-spacing-2);
13468
- color: var(--ina-text-secondary);
13469
- font-size: var(--ina-font-sm);
13470
- font-weight: var(--ina-font-medium);
13471
- cursor: pointer;
13472
- border-radius: var(--ina-radius-lg);
13473
- transition: all var(--ina-transition-fast);
13474
- -webkit-user-select: none;
13475
- -moz-user-select: none;
13476
- user-select: none;
13477
- }
13478
- .ina-time-picker__option:hover {
13479
- background-color: var(--ina-background-tertiary);
13480
- color: var(--ina-content-primary);
13481
- }
13482
- .ina-time-picker__option--hovered {
13483
- background-color: var(--ina-background-tertiary);
13484
- color: var(--ina-content-primary);
13485
- }
13486
- .ina-time-picker__option--selected {
13487
- background-color: var(--ina-primary-primary);
13488
- color: var(--ina-white);
13489
- }
13490
- .ina-time-picker__option--selected:hover {
13491
- background-color: var(--ina-primary-600);
13492
- color: var(--ina-white);
13493
- }
13494
- .ina-time-picker__option--disabled.ina-time-picker__option--selected,
13495
- .ina-time-picker__option--disabled.ina-time-picker__option--selected:hover {
13496
- background-color: var(--ina-background-secondary);
13497
- color: var(--ina-content-tertiary);
13498
- }
13499
- .ina-time-picker__option--disabled {
13500
- opacity: 0.5;
13501
- cursor: not-allowed;
13502
- color: var(--ina-content-tertiary);
13503
- }
13504
- .ina-time-picker__option--disabled:hover {
13505
- background-color: transparent;
13506
- color: var(--ina-content-tertiary);
13507
- }
13508
- /* Actions */
13509
- .ina-time-picker__actions {
13510
- display: grid;
13511
- grid-template-columns: 1fr auto; /* keep confirm on the far right */
13512
- align-items: center;
13513
- gap: var(--ina-spacing-2);
13514
- padding: var(--ina-spacing-2) var(--ina-spacing-3);
13515
- border-top: 1px solid var(--ina-stroke-primary);
13516
- background-color: var(--ina-background-secondary);
13517
- }
13518
- /* When both buttons exist, place them in two columns */
13519
- .ina-time-picker__action-button {
13520
- justify-self: start;
13521
- }
13522
- .ina-time-picker__confirm-button {
13523
- justify-self: end; /* always right aligned */
13524
- }
13525
- .ina-time-picker__action-button,
13526
- .ina-time-picker__confirm-button {
13527
- padding: var(--ina-spacing-1) var(--ina-spacing-3);
13528
- border: none;
13529
- border-radius: var(--ina-radius-lg);
13530
- font-size: var(--ina-font-sm);
13531
- font-weight: var(--ina-font-medium);
13532
- cursor: pointer;
13533
- transition: all var(--ina-transition-fast);
13534
- }
13535
- .ina-time-picker__action-button {
13536
- background-color: transparent;
13537
- color: var(--ina-primary-600);
13538
- }
13539
- .ina-time-picker__action-button:hover {
13540
- background-color: var(--ina-primary-50);
13541
- color: var(--ina-primary-700);
13542
- }
13543
- .ina-time-picker__confirm-button {
13544
- background-color: var(--ina-primary-primary);
13545
- color: var(--ina-white);
13546
- }
13547
- .ina-time-picker__confirm-button:hover {
13548
- background-color: var(--ina-primary-600);
13549
- }
13379
+ /* ... existing code ... */
13550
13380
  /* Focus styles - Sesuai design Figma */
13551
13381
  .ina-time-picker__wrapper:focus-within {
13552
- box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px #f3f3f3;
13382
+ box-shadow:
13383
+ inset 0 0 0 1px #fff,
13384
+ inset 0 0 0 2px var(--ina-primary-primary);
13553
13385
  outline: none;
13554
13386
  background-color: var(--ina-background-primary);
13555
13387
  }
@@ -13588,7 +13420,7 @@ dialog.bottom-sheet-dropdown {
13588
13420
  max-width: none;
13589
13421
  position: absolute;
13590
13422
  left: 0;
13591
- right: 0;
13423
+ right: auto; /* Allow unset right since width is 100% */
13592
13424
  }
13593
13425
 
13594
13426
  .ina-time-picker__content {
@@ -13975,20 +13807,24 @@ dialog.bottom-sheet-dropdown {
13975
13807
  }
13976
13808
  /* Hover states */
13977
13809
  .ina-toggle:not(.ina-toggle--disabled):hover .ina-toggle__track {
13978
- box-shadow: 0 0 6px 0 rgba(31, 31, 31, 0.1),
13810
+ box-shadow:
13811
+ 0 0 6px 0 rgba(31, 31, 31, 0.1),
13979
13812
  0 0 4px 6px rgba(31, 31, 31, 0.04);
13980
13813
  }
13981
13814
  .ina-toggle:not(.ina-toggle--disabled):hover .ina-toggle__thumb {
13982
- box-shadow: 0 0 6px 0 rgba(31, 31, 31, 0.1),
13815
+ box-shadow:
13816
+ 0 0 6px 0 rgba(31, 31, 31, 0.1),
13983
13817
  0 0 4px 6px rgba(31, 31, 31, 0.04);
13984
13818
  }
13985
13819
  /* Focus states */
13820
+ /* Focus states */
13986
13821
  .ina-toggle:focus-within .ina-toggle__track,
13987
13822
  .ina-toggle__input:focus + .ina-toggle__track {
13988
- outline: 2px solid var(--ina-guide-600);
13989
- outline-offset: 2px;
13990
- box-shadow: 0 0 6px 0 rgba(31, 31, 31, 0.1),
13991
- 0 0 4px 6px rgba(31, 31, 31, 0.04);
13823
+ outline: none;
13824
+ outline-offset: 0;
13825
+ box-shadow:
13826
+ 0 0 0 2px #fff,
13827
+ 0 0 0 3px var(--ina-primary-primary, #141414);
13992
13828
  }
13993
13829
  /* Active states */
13994
13830
  .ina-toggle:not(.ina-toggle--disabled):active .ina-toggle__thumb {
@@ -14027,12 +13863,15 @@ dialog.bottom-sheet-dropdown {
14027
13863
  [data-theme='dark']
14028
13864
  .ina-toggle:not(.ina-toggle--disabled):hover
14029
13865
  .ina-toggle__thumb {
14030
- box-shadow: 0 0 6px 0 rgba(31, 31, 31, 0.1),
13866
+ box-shadow:
13867
+ 0 0 6px 0 rgba(31, 31, 31, 0.1),
14031
13868
  0 0 4px 6px rgba(31, 31, 31, 0.04);
14032
13869
  }
13870
+ [data-theme='dark'] .ina-toggle:focus-within .ina-toggle__track,
14033
13871
  [data-theme='dark'] .ina-toggle__input:focus + .ina-toggle__track {
14034
- box-shadow: 0 0 6px 0 rgba(31, 31, 31, 0.1),
14035
- 0 0 4px 6px rgba(31, 31, 31, 0.04);
13872
+ box-shadow:
13873
+ 0 0 0 2px #fff,
13874
+ 0 0 0 3px var(--ina-primary-primary, #141414);
14036
13875
  }
14037
13876
  /* Reduced motion */
14038
13877
  @media (prefers-reduced-motion: reduce) {