@oslokommune/punkt-css 16.4.0 → 16.7.0

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.
@@ -1229,12 +1229,12 @@ pkt-datepicker-multiple {
1229
1229
  top: 100%;
1230
1230
  left: 0;
1231
1231
  z-index: 2;
1232
- margin: 0;
1232
+ margin-top: 0.5rem;
1233
1233
  padding: 0.5rem;
1234
1234
  position: absolute;
1235
1235
  width: max-content;
1236
1236
  background: var(--pkt-color-background-default);
1237
- box-shadow: 0px 2px 4px -2px rgba(0, 0, 0, 0.1), 0px 4px 6px -1px rgba(0, 0, 0, 0.1);
1237
+ border: 2px solid var(--pkt-color-border-gray);
1238
1238
  }
1239
1239
 
1240
1240
  .pkt-datepicker__input:not(.pkt-datepicker--multiple):not(.pkt-datepicker--range) {
@@ -1253,10 +1253,14 @@ pkt-datepicker-multiple {
1253
1253
  }
1254
1254
 
1255
1255
  @-moz-document url-prefix() {
1256
- .pkt-datepicker__input:not(.pkt-datepicker--multiple) {
1256
+ .pkt-datepicker__inputs .pkt-datepicker__input {
1257
+ padding-right: 0.5rem;
1258
+ }
1259
+ .pkt-datepicker__inputs .pkt-datepicker__input:not(.pkt-datepicker--multiple) {
1257
1260
  width: 10.5rem;
1261
+ max-width: 100%;
1258
1262
  }
1259
- .pkt-datepicker__input.pkt-input--fullwidth:not(.pkt-datepicker--multiple) {
1263
+ .pkt-datepicker__inputs .pkt-datepicker__input.pkt-input--fullwidth:not(.pkt-datepicker--multiple) {
1260
1264
  width: auto;
1261
1265
  flex: 1;
1262
1266
  }
@@ -5477,7 +5481,7 @@ pkt-select {
5477
5481
  background-position: right 0 top 50%;
5478
5482
  padding-right: 2rem;
5479
5483
  }
5480
- .pkt-input:not(textarea[cols]):not(input[size]):not(.pkt-input--fullwidth):not(.pkt-datepicker__input:not(.pkt-datepicker--multiple)), .pkt-textinput__input:not(textarea[cols]):not(input[size]):not(.pkt-input--fullwidth):not(.pkt-datepicker__input:not(.pkt-datepicker--multiple)), .pkt-input__container:not(:is(:has(.pkt-datepicker__input:not(.pkt-datepicker--multiple)))):not(:is(:has(textarea[cols]))):not(:is(:has(input[size]))):not(:is(:has(.pkt-input--fullwidth))) {
5484
+ .pkt-input:not(textarea[cols]):not(input[size]):not(.pkt-input--fullwidth):not(.pkt-datepicker__input:not(.pkt-datepicker--multiple)), .pkt-textinput__input:not(textarea[cols]):not(input[size]):not(.pkt-input--fullwidth):not(.pkt-datepicker__input:not(.pkt-datepicker--multiple)), .pkt-input__container:not(:is(:has(.pkt-datepicker__input:not(.pkt-datepicker--multiple)))):not(:is(:has(textarea[cols]))):not(:is(:has(input[size]))):not(:is(:has(.pkt-input--fullwidth))):not(:is(:has(.pkt-timepicker__input))) {
5481
5485
  width: min(31rem, 100%);
5482
5486
  }
5483
5487
  .pkt-input__container:is(:has(.pkt-datepicker__input:not(.pkt-datepicker--multiple))):not(:is(:has(.pkt-input--fullwidth))) {
@@ -5499,7 +5503,7 @@ pkt-select {
5499
5503
  padding-right: 3rem;
5500
5504
  }
5501
5505
  .pkt-input:is(select):not([multiple]), .pkt-textinput__input:is(select):not([multiple]) {
5502
- --svg: url(https://punkt-cdn.oslo.kommune.no/16.4/icons/chevron-thin-down.svg);
5506
+ --svg: url(https://punkt-cdn.oslo.kommune.no/16.7/icons/chevron-thin-down.svg);
5503
5507
  background-image: var(--svg);
5504
5508
  background-repeat: no-repeat;
5505
5509
  background-position: right 0.7rem top 50%;
@@ -5687,4 +5691,236 @@ pkt-select {
5687
5691
  .pkt-input__container:has(> :first-child.pkt-input-prefix) {
5688
5692
  grid-template-columns: min-content auto 3rem;
5689
5693
  }
5694
+ }
5695
+ /* Component: pkt-timepicker */
5696
+ pkt-timepicker {
5697
+ display: block;
5698
+ }
5699
+
5700
+ .pkt-timepicker__anchor,
5701
+ pkt-timepicker__anchor {
5702
+ position: relative;
5703
+ }
5704
+ .pkt-timepicker .pkt-input__container,
5705
+ pkt-timepicker .pkt-input__container {
5706
+ border: 2px solid var(--pkt-color-input-border-normal);
5707
+ background-color: var(--pkt-color-input-background-normal);
5708
+ width: fit-content;
5709
+ padding: 0 0 0 1rem;
5710
+ }
5711
+ .pkt-timepicker .pkt-input__container .pkt-input,
5712
+ .pkt-timepicker .pkt-input__container .pkt-input-icon,
5713
+ .pkt-timepicker .pkt-input__container .pkt-input-separator,
5714
+ pkt-timepicker .pkt-input__container .pkt-input,
5715
+ pkt-timepicker .pkt-input__container .pkt-input-icon,
5716
+ pkt-timepicker .pkt-input__container .pkt-input-separator {
5717
+ border: 0;
5718
+ min-height: auto;
5719
+ }
5720
+ .pkt-timepicker .pkt-input__container:hover,
5721
+ pkt-timepicker .pkt-input__container:hover {
5722
+ border-color: var(--pkt-color-input-border-active);
5723
+ }
5724
+ .pkt-timepicker .pkt-input__container:focus-within,
5725
+ pkt-timepicker .pkt-input__container:focus-within {
5726
+ border-color: var(--pkt-color-input-border-active);
5727
+ outline: 2px solid var(--pkt-color-input-border-active);
5728
+ }
5729
+ .pkt-timepicker .pkt-input__container:has(input:disabled),
5730
+ pkt-timepicker .pkt-input__container:has(input:disabled) {
5731
+ border-color: var(--pkt-color-input-border-disabled);
5732
+ background-color: var(--pkt-color-surface-default-gray);
5733
+ }
5734
+ .pkt-timepicker .pkt-input__container:has(input:disabled) .pkt-timepicker__icon,
5735
+ .pkt-timepicker .pkt-input__container:has(input:disabled) .pkt-timepicker__button,
5736
+ pkt-timepicker .pkt-input__container:has(input:disabled) .pkt-timepicker__icon,
5737
+ pkt-timepicker .pkt-input__container:has(input:disabled) .pkt-timepicker__button {
5738
+ --fg-color: var(--pkt-color-input-text-disabled);
5739
+ }
5740
+ .pkt-timepicker .pkt-input__container button.pkt-timepicker__button,
5741
+ pkt-timepicker .pkt-input__container button.pkt-timepicker__button {
5742
+ height: auto;
5743
+ padding: 0 0.75rem;
5744
+ }
5745
+ .pkt-timepicker .pkt-input__container button.pkt-timepicker__button pkt-icon,
5746
+ pkt-timepicker .pkt-input__container button.pkt-timepicker__button pkt-icon {
5747
+ width: 1.5rem;
5748
+ height: 1.5rem;
5749
+ }
5750
+ .pkt-timepicker .pkt-input__container button.pkt-timepicker__button:hover,
5751
+ pkt-timepicker .pkt-input__container button.pkt-timepicker__button:hover {
5752
+ background-color: inherit !important;
5753
+ border-color: inherit !important;
5754
+ }
5755
+ .pkt-timepicker .pkt-input__container button.pkt-timepicker__button:hover svg,
5756
+ pkt-timepicker .pkt-input__container button.pkt-timepicker__button:hover svg {
5757
+ --fg-color: inherit;
5758
+ }
5759
+ .pkt-timepicker .pkt-input__container button.pkt-timepicker__button.pkt-timepicker__button--prev,
5760
+ pkt-timepicker .pkt-input__container button.pkt-timepicker__button.pkt-timepicker__button--prev {
5761
+ margin-right: 0.25rem;
5762
+ }
5763
+ .pkt-timepicker .pkt-input__container button.pkt-timepicker__button.pkt-timepicker__button--next,
5764
+ pkt-timepicker .pkt-input__container button.pkt-timepicker__button.pkt-timepicker__button--next {
5765
+ margin-left: 0.25rem;
5766
+ }
5767
+ .pkt-timepicker--stepper .pkt-input__container,
5768
+ pkt-timepicker--stepper .pkt-input__container {
5769
+ padding-left: 0;
5770
+ }
5771
+ .pkt-timepicker--fullwidth .pkt-timepicker__anchor,
5772
+ .pkt-timepicker--fullwidth .pkt-input__container,
5773
+ pkt-timepicker--fullwidth .pkt-timepicker__anchor,
5774
+ pkt-timepicker--fullwidth .pkt-input__container {
5775
+ width: 100%;
5776
+ }
5777
+ .pkt-timepicker--fullwidth:not(.pkt-timepicker--stepper) .pkt-input__container .pkt-input-icon,
5778
+ pkt-timepicker--fullwidth:not(.pkt-timepicker--stepper) .pkt-input__container .pkt-input-icon {
5779
+ margin-left: auto;
5780
+ }
5781
+ .pkt-timepicker--fullwidth.pkt-timepicker--stepper .pkt-input__container .pkt-timepicker__button--prev + .pkt-timepicker__input,
5782
+ pkt-timepicker--fullwidth.pkt-timepicker--stepper .pkt-input__container .pkt-timepicker__button--prev + .pkt-timepicker__input {
5783
+ margin-left: auto;
5784
+ }
5785
+ .pkt-timepicker--fullwidth.pkt-timepicker--stepper .pkt-input__container .pkt-timepicker__separator + .pkt-timepicker__input,
5786
+ pkt-timepicker--fullwidth.pkt-timepicker--stepper .pkt-input__container .pkt-timepicker__separator + .pkt-timepicker__input {
5787
+ margin-right: auto;
5788
+ }
5789
+ .pkt-timepicker .pkt-inputwrapper--error .pkt-input__container,
5790
+ .pkt-timepicker .pkt-input__container.pkt-timepicker--error,
5791
+ pkt-timepicker .pkt-inputwrapper--error .pkt-input__container,
5792
+ pkt-timepicker .pkt-input__container.pkt-timepicker--error {
5793
+ border-color: var(--pkt-color-brand-red-1000);
5794
+ }
5795
+ .pkt-timepicker .pkt-inputwrapper--error .pkt-input__container:hover, .pkt-timepicker .pkt-inputwrapper--error .pkt-input__container:focus-within,
5796
+ .pkt-timepicker .pkt-input__container.pkt-timepicker--error:hover,
5797
+ .pkt-timepicker .pkt-input__container.pkt-timepicker--error:focus-within,
5798
+ pkt-timepicker .pkt-inputwrapper--error .pkt-input__container:hover,
5799
+ pkt-timepicker .pkt-inputwrapper--error .pkt-input__container:focus-within,
5800
+ pkt-timepicker .pkt-input__container.pkt-timepicker--error:hover,
5801
+ pkt-timepicker .pkt-input__container.pkt-timepicker--error:focus-within {
5802
+ border-color: var(--pkt-color-brand-red-1000);
5803
+ }
5804
+ .pkt-timepicker .pkt-inputwrapper--disabled .pkt-input__container,
5805
+ .pkt-timepicker .pkt-input__container.pkt-timepicker--disabled,
5806
+ pkt-timepicker .pkt-inputwrapper--disabled .pkt-input__container,
5807
+ pkt-timepicker .pkt-input__container.pkt-timepicker--disabled {
5808
+ border-color: var(--pkt-color-border-states-disabled);
5809
+ background-color: var(--pkt-color-surface-default-gray);
5810
+ }
5811
+ .pkt-timepicker .pkt-inputwrapper--disabled .pkt-input__container:hover, .pkt-timepicker .pkt-inputwrapper--disabled .pkt-input__container:focus-within,
5812
+ .pkt-timepicker .pkt-input__container.pkt-timepicker--disabled:hover,
5813
+ .pkt-timepicker .pkt-input__container.pkt-timepicker--disabled:focus-within,
5814
+ pkt-timepicker .pkt-inputwrapper--disabled .pkt-input__container:hover,
5815
+ pkt-timepicker .pkt-inputwrapper--disabled .pkt-input__container:focus-within,
5816
+ pkt-timepicker .pkt-input__container.pkt-timepicker--disabled:hover,
5817
+ pkt-timepicker .pkt-input__container.pkt-timepicker--disabled:focus-within {
5818
+ border-color: var(--pkt-color-border-states-disabled);
5819
+ box-shadow: none;
5820
+ outline: none;
5821
+ }
5822
+ .pkt-timepicker .pkt-inputwrapper--disabled .pkt-input__container .pkt-timepicker__icon,
5823
+ .pkt-timepicker .pkt-input__container.pkt-timepicker--disabled .pkt-timepicker__icon,
5824
+ pkt-timepicker .pkt-inputwrapper--disabled .pkt-input__container .pkt-timepicker__icon,
5825
+ pkt-timepicker .pkt-input__container.pkt-timepicker--disabled .pkt-timepicker__icon {
5826
+ --fg-color: var(--pkt-color-input-text-disabled);
5827
+ }
5828
+ .pkt-timepicker__input,
5829
+ pkt-timepicker__input {
5830
+ width: 1.5rem;
5831
+ text-align: center;
5832
+ padding: 0.5rem 0;
5833
+ }
5834
+ .pkt-timepicker__input::-webkit-inner-spin-button, .pkt-timepicker__input::-webkit-outer-spin-button,
5835
+ pkt-timepicker__input::-webkit-inner-spin-button,
5836
+ pkt-timepicker__input::-webkit-outer-spin-button {
5837
+ -webkit-appearance: none;
5838
+ margin: 0;
5839
+ }
5840
+ .pkt-timepicker__input,
5841
+ pkt-timepicker__input {
5842
+ -moz-appearance: textfield;
5843
+ appearance: textfield;
5844
+ }
5845
+ .pkt-timepicker__separator,
5846
+ pkt-timepicker__separator {
5847
+ letter-spacing: -0.2px;
5848
+ font-weight: 500;
5849
+ font-size: 1.125rem;
5850
+ line-height: 1.75rem;
5851
+ padding: 0.5rem 0;
5852
+ user-select: none;
5853
+ }
5854
+ .pkt-timepicker__icon,
5855
+ pkt-timepicker__icon {
5856
+ height: auto;
5857
+ padding: 0 0.75rem 0 0;
5858
+ pointer-events: none;
5859
+ }
5860
+ .pkt-timepicker__icon pkt-icon,
5861
+ pkt-timepicker__icon pkt-icon {
5862
+ width: 1.5rem;
5863
+ height: 1.5rem;
5864
+ }
5865
+ .pkt-timepicker-popup,
5866
+ pkt-timepicker-popup {
5867
+ position: absolute;
5868
+ top: 100%;
5869
+ left: 0;
5870
+ z-index: 2;
5871
+ margin-top: 0.5rem;
5872
+ display: flex;
5873
+ padding: 0;
5874
+ background: var(--pkt-color-background-default);
5875
+ border: 2px solid var(--pkt-color-border-gray);
5876
+ justify-content: center;
5877
+ }
5878
+ .pkt-timepicker-popup[hidden],
5879
+ pkt-timepicker-popup[hidden] {
5880
+ display: none;
5881
+ }
5882
+ .pkt-timepicker-popup__col,
5883
+ pkt-timepicker-popup__col {
5884
+ display: flex;
5885
+ flex-direction: column;
5886
+ align-items: center;
5887
+ overflow-y: auto;
5888
+ max-height: 23rem;
5889
+ padding: 0.5rem 0.6rem;
5890
+ }
5891
+ .pkt-timepicker-popup__option,
5892
+ pkt-timepicker-popup__option {
5893
+ flex-shrink: 0;
5894
+ width: 2.5rem;
5895
+ height: 2.5rem;
5896
+ margin: 0;
5897
+ padding: 0;
5898
+ border: 0;
5899
+ font: inherit;
5900
+ aspect-ratio: 1/1;
5901
+ border-radius: 50%;
5902
+ }
5903
+ .pkt-timepicker-popup__option, .pkt-timepicker-popup__option:hover,
5904
+ pkt-timepicker-popup__option,
5905
+ pkt-timepicker-popup__option:hover {
5906
+ background-color: transparent;
5907
+ color: inherit;
5908
+ border-color: transparent;
5909
+ }
5910
+ .pkt-timepicker-popup__option:hover,
5911
+ pkt-timepicker-popup__option:hover {
5912
+ background-color: var(--pkt-color-surface-default-light-blue);
5913
+ color: var(--pkt-color-brand-dark-blue-1000);
5914
+ }
5915
+ .pkt-timepicker-popup__option:focus-visible,
5916
+ pkt-timepicker-popup__option:focus-visible {
5917
+ outline: 2px solid var(--pkt-color-input-border-active);
5918
+ outline-offset: -2px;
5919
+ }
5920
+ .pkt-timepicker-popup__option--selected, .pkt-timepicker-popup__option--selected:hover, .pkt-timepicker-popup__option--selected:focus,
5921
+ pkt-timepicker-popup__option--selected,
5922
+ pkt-timepicker-popup__option--selected:hover,
5923
+ pkt-timepicker-popup__option--selected:focus {
5924
+ background-color: var(--pkt-color-surface-strong-blue);
5925
+ color: var(--pkt-color-brand-dark-blue-1000);
5690
5926
  }