jupiter-dynamic-forms 1.17.0 → 1.17.1

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.mjs CHANGED
@@ -3535,31 +3535,49 @@ let JupiterFormField = class extends LitElement {
3535
3535
  return html`
3536
3536
  <div class="period-controls">
3537
3537
  <label>Date:</label>
3538
- <input
3539
- type="date"
3540
- .value="${this.periodInstantDate || this.field.periodInstantDate || ""}"
3541
- @change="${(e2) => this._handlePeriodChange(e2, "instant")}"
3542
- ?disabled="${this.disabled}"
3543
- />
3538
+ <div class="date-wrapper">
3539
+ <input
3540
+ type="date"
3541
+ .value="${this.periodInstantDate || this.field.periodInstantDate || ""}"
3542
+ @change="${(e2) => this._handlePeriodChange(e2, "instant")}"
3543
+ ?disabled="${this.disabled}"
3544
+ />
3545
+ <svg class="calendar-icon-svg" viewBox="0 0 24 24">
3546
+ <path fill="currentColor" d="M19 4h-1V2h-2v2H8V2H6v2H5
3547
+ a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14
3548
+ a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14z"/>
3549
+ </div>
3544
3550
  </div>
3545
3551
  `;
3546
3552
  } else if (this.field.periodType === "duration") {
3547
3553
  return html`
3548
3554
  <div class="period-controls">
3549
3555
  <label>From:</label>
3550
- <input
3551
- type="date"
3552
- .value="${this.periodStartDate || this.field.periodStartDate || ""}"
3553
- @change="${(e2) => this._handlePeriodChange(e2, "start")}"
3554
- ?disabled="${this.disabled}"
3555
- />
3556
+ <div class="date-wrapper">
3557
+ <input
3558
+ type="date"
3559
+ .value="${this.periodStartDate || this.field.periodStartDate || ""}"
3560
+ @change="${(e2) => this._handlePeriodChange(e2, "start")}"
3561
+ ?disabled="${this.disabled}"
3562
+ />
3563
+ <svg class="calendar-icon-svg" viewBox="0 0 24 24">
3564
+ <path fill="currentColor" d="M19 4h-1V2h-2v2H8V2H6v2H5
3565
+ a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14
3566
+ a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14z"/>
3567
+ </div>
3556
3568
  <label>To:</label>
3557
- <input
3558
- type="date"
3559
- .value="${this.periodEndDate || this.field.periodEndDate || ""}"
3560
- @change="${(e2) => this._handlePeriodChange(e2, "end")}"
3561
- ?disabled="${this.disabled}"
3562
- />
3569
+ <div class="date-wrapper">
3570
+ <input
3571
+ type="date"
3572
+ .value="${this.periodEndDate || this.field.periodEndDate || ""}"
3573
+ @change="${(e2) => this._handlePeriodChange(e2, "end")}"
3574
+ ?disabled="${this.disabled}"
3575
+ />
3576
+ <svg class="calendar-icon-svg" viewBox="0 0 24 24">
3577
+ <path fill="currentColor" d="M19 4h-1V2h-2v2H8V2H6v2H5
3578
+ a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14
3579
+ a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14z"/>
3580
+ </div>
3563
3581
  </div>
3564
3582
  `;
3565
3583
  }
@@ -3580,31 +3598,51 @@ let JupiterFormField = class extends LitElement {
3580
3598
  ${this.field.periodType === "instant" ? html`
3581
3599
  <div class="period-controls">
3582
3600
  <label>Date:</label>
3583
- <input
3584
- type="date"
3585
- .value="${this.periodInstantDate || this.field.periodInstantDate || ""}"
3586
- @change="${(e2) => this._handlePeriodChange(e2, "instant")}"
3587
- ?disabled="${this.disabled}"
3588
- />
3601
+ <div class="date-wrapper">
3602
+ <input
3603
+ type="date"
3604
+ .value="${this.periodInstantDate || this.field.periodInstantDate || ""}"
3605
+ @change="${(e2) => this._handlePeriodChange(e2, "instant")}"
3606
+ ?disabled="${this.disabled}"
3607
+ />
3608
+ <svg class="calendar-icon-svg" viewBox="0 0 24 24">
3609
+ <path fill="currentColor" d="M19 4h-1V2h-2v2H8V2H6v2H5
3610
+ a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14
3611
+ a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14z"/>
3612
+ </div>
3589
3613
  </div>
3590
3614
  ` : html`
3591
3615
  <div class="period-controls">
3592
3616
  <label>From:</label>
3593
- <input
3594
- type="date"
3595
- .value="${this.periodStartDate || this.field.periodStartDate || ""}"
3596
- @change="${(e2) => this._handlePeriodChange(e2, "start")}"
3597
- ?disabled="${this.disabled}"
3598
- />
3617
+ <div class="date-wrapper">
3618
+ <input
3619
+ type="date"
3620
+ .value="${this.periodStartDate || this.field.periodStartDate || ""}"
3621
+ @change="${(e2) => this._handlePeriodChange(e2, "start")}"
3622
+ ?disabled="${this.disabled}"
3623
+ />
3624
+ <svg class="calendar-icon-svg" viewBox="0 0 24 24">
3625
+ <path
3626
+ fill="currentColor"
3627
+ d="M19 4h-1V2h-2v2H8V2H6v2H5
3628
+ a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14
3629
+ a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14z"/>
3630
+ </div>
3599
3631
  </div>
3600
3632
  <div class="period-controls">
3601
3633
  <label>To:</label>
3602
- <input
3603
- type="date"
3604
- .value="${this.periodEndDate || this.field.periodEndDate || ""}"
3605
- @change="${(e2) => this._handlePeriodChange(e2, "end")}"
3606
- ?disabled="${this.disabled}"
3607
- />
3634
+ <div class="date-wrapper">
3635
+ <input
3636
+ type="date"
3637
+ .value="${this.periodEndDate || this.field.periodEndDate || ""}"
3638
+ @change="${(e2) => this._handlePeriodChange(e2, "end")}"
3639
+ ?disabled="${this.disabled}"
3640
+ />
3641
+ <svg class="calendar-icon-svg" viewBox="0 0 24 24">
3642
+ <path fill="currentColor" d="M19 4h-1V2h-2v2H8V2H6v2H5
3643
+ a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14
3644
+ a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14z"/>
3645
+ </div>
3608
3646
  </div>
3609
3647
  `}
3610
3648
 
@@ -3825,7 +3863,7 @@ JupiterFormField.styles = css`
3825
3863
  }
3826
3864
 
3827
3865
  .period-popup {
3828
- background: white;
3866
+ background: var(--bg-color-2, var(--jupiter-card-background, #fff));
3829
3867
  border-radius: 8px;
3830
3868
  padding: 24px;
3831
3869
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
@@ -3843,10 +3881,11 @@ JupiterFormField.styles = css`
3843
3881
  .period-popup-title {
3844
3882
  font-size: 18px;
3845
3883
  font-weight: 600;
3846
- color: var(--jupiter-text-primary, #333);
3884
+ color: var(--primaryTextColor, var(--jupiter-text-primary, #333));
3847
3885
  }
3848
3886
 
3849
3887
  .period-popup-close {
3888
+ color: var(--primaryTextColor, var(--jupiter-text-primary, #333));
3850
3889
  background: transparent;
3851
3890
  border: none;
3852
3891
  font-size: 24px;
@@ -3862,7 +3901,7 @@ JupiterFormField.styles = css`
3862
3901
  }
3863
3902
 
3864
3903
  .period-popup-close:hover {
3865
- background-color: rgba(0, 0, 0, 0.05);
3904
+ opacity: 0.9;
3866
3905
  }
3867
3906
 
3868
3907
  .period-popup-content {
@@ -3882,17 +3921,45 @@ JupiterFormField.styles = css`
3882
3921
  .period-popup-content .period-controls label {
3883
3922
  font-size: 14px;
3884
3923
  font-weight: 500;
3885
- color: var(--jupiter-text-primary, #333);
3924
+ color: var(--primaryTextColor, var(--jupiter-text-primary, #333));
3886
3925
  text-align: right;
3887
3926
  white-space: normal;
3888
3927
  word-break: break-word;
3889
3928
  }
3890
3929
 
3930
+ .date-wrapper {
3931
+ position: relative;
3932
+ width: min-content;
3933
+ }
3934
+
3935
+ /* hide native icon */
3936
+ input[type="date"]::-webkit-calendar-picker-indicator {
3937
+ opacity: 0;
3938
+ position: absolute;
3939
+ right: 10px;
3940
+ width: 20px;
3941
+ height: 20px;
3942
+ cursor: pointer;
3943
+ }
3944
+
3945
+ .calendar-icon-svg {
3946
+ position: absolute;
3947
+ right: 3px;
3948
+ top: 18px;
3949
+ transform: translateY(-50%);
3950
+ width: 20px;
3951
+ height: 20px;
3952
+ color: var(--primaryTextColor, var(--jupiter-text-primary, #333));
3953
+ pointer-events: none;
3954
+ }
3955
+
3891
3956
  .period-popup-content .period-controls input[type="date"] {
3892
3957
  padding: 8px 10px;
3893
3958
  font-size: 14px;
3894
- border: 1px solid var(--jupiter-border-color, #ddd);
3959
+ color: var(--primaryTextColor, var(--jupiter-text-primary, #333));
3960
+ border: 1px solid var(--primaryTextColor, var(--jupiter-border-color, #ddd));
3895
3961
  border-radius: 4px;
3962
+ background: var(--bg-color-2, var(--jupiter-card-background, #fff));
3896
3963
  }
3897
3964
 
3898
3965
  .period-popup-content .period-controls input[type="date"]:focus {
@@ -3904,16 +3971,15 @@ JupiterFormField.styles = css`
3904
3971
  .period-popup-content .period-controls .unit-select {
3905
3972
  padding: 8px 10px;
3906
3973
  font-size: 14px;
3907
- border: 1px solid var(--jupiter-border-color, #ddd);
3974
+ border: 1px solid var(--primaryTextColor, var(--jupiter-border-color, #ddd));
3908
3975
  border-radius: 4px;
3909
- background: var(--jupiter-input-background, #fff);
3910
- color: var(--jupiter-text-primary, #333);
3976
+ background: var(--bg-color-2, var(--jupiter-input-background, #fff));
3977
+ color: var(--primaryTextColor, var(--jupiter-text-primary, #333));
3911
3978
  cursor: pointer;
3912
3979
  }
3913
3980
 
3914
3981
  .period-popup-content .period-controls .unit-select:focus {
3915
3982
  outline: none;
3916
- border-color: var(--jupiter-primary-color, #1976d2);
3917
3983
  box-shadow: 0 0 0 2px var(--jupiter-primary-color-light, rgba(25, 118, 210, 0.2));
3918
3984
  }
3919
3985
 
@@ -4049,6 +4115,10 @@ JupiterFormField.styles = css`
4049
4115
  width: auto;
4050
4116
  }
4051
4117
 
4118
+
4119
+
4120
+
4121
+
4052
4122
  .period-controls {
4053
4123
  margin-top: 4px;
4054
4124
  display: flex;
@@ -4722,35 +4792,53 @@ let JupiterAddColumnDialog = class extends LitElement {
4722
4792
  ${this.periodType === "instant" ? html`
4723
4793
  <div class="form-group">
4724
4794
  <label class="form-label required">${I18n.t("column.instantDate")}</label>
4725
- <input
4726
- type="date"
4727
- class="form-input"
4728
- .value="${this._instantDate}"
4729
- @change="${this._handleInstantDateChange}"
4730
- required
4731
- />
4732
- </div>
4733
- ` : html`
4734
- <div class="form-group date-row">
4735
- <div class="date-field">
4736
- <label class="form-label required">${I18n.t("column.startPeriodDate")}</label>
4795
+ <div class="date-wrapper">
4737
4796
  <input
4738
4797
  type="date"
4739
4798
  class="form-input"
4740
- .value="${this._startDate}"
4741
- @change="${this._handleStartDateChange}"
4799
+ .value="${this._instantDate}"
4800
+ @change="${this._handleInstantDateChange}"
4742
4801
  required
4743
4802
  />
4803
+ <svg class="calendar-icon-svg" viewBox="0 0 24 24">
4804
+ <path fill="currentColor" d="M19 4h-1V2h-2v2H8V2H6v2H5
4805
+ a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14
4806
+ a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14z"/>
4807
+ </div>
4808
+ </div>
4809
+ ` : html`
4810
+ <div class="form-group date-row">
4811
+ <div class="date-field">
4812
+ <label class="form-label required">${I18n.t("column.startPeriodDate")}</label>
4813
+ <div class="date-wrapper">
4814
+ <input
4815
+ type="date"
4816
+ class="form-input"
4817
+ .value="${this._startDate}"
4818
+ @change="${this._handleStartDateChange}"
4819
+ required
4820
+ />
4821
+ <svg class="calendar-icon-svg" viewBox="0 0 24 24">
4822
+ <path fill="currentColor" d="M19 4h-1V2h-2v2H8V2H6v2H5
4823
+ a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14
4824
+ a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14z"/>
4825
+ </div>
4744
4826
  </div>
4745
4827
  <div class="date-field">
4746
4828
  <label class="form-label required">${I18n.t("column.endPeriodDate")}</label>
4747
- <input
4748
- type="date"
4749
- class="form-input"
4750
- .value="${this._endDate}"
4751
- @change="${this._handleEndDateChange}"
4752
- required
4753
- />
4829
+ <div class="date-wrapper">
4830
+ <input
4831
+ type="date"
4832
+ class="form-input"
4833
+ .value="${this._endDate}"
4834
+ @change="${this._handleEndDateChange}"
4835
+ required
4836
+ />
4837
+ <svg class="calendar-icon-svg" viewBox="0 0 24 24">
4838
+ <path fill="currentColor" d="M19 4h-1V2h-2v2H8V2H6v2H5
4839
+ a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14
4840
+ a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V9h14z"/>
4841
+ </div>
4754
4842
  </div>
4755
4843
  </div>
4756
4844
  `}
@@ -4910,6 +4998,32 @@ JupiterAddColumnDialog.styles = css`
4910
4998
  max-height: calc(90vh - 160px);
4911
4999
  }
4912
5000
 
5001
+ .date-wrapper {
5002
+ position: relative;
5003
+ width: min-content;
5004
+ }
5005
+
5006
+ /* hide native icon */
5007
+ input[type="date"]::-webkit-calendar-picker-indicator {
5008
+ opacity: 0;
5009
+ position: absolute;
5010
+ right: 10px;
5011
+ width: 20px;
5012
+ height: 20px;
5013
+ cursor: pointer;
5014
+ }
5015
+
5016
+ .calendar-icon-svg {
5017
+ position: absolute;
5018
+ right: 3px;
5019
+ top: 18px;
5020
+ transform: translateY(-50%);
5021
+ width: 20px;
5022
+ height: 20px;
5023
+ color: var(--primaryTextColor, var(--jupiter-text-primary, #333));
5024
+ pointer-events: none;
5025
+ }
5026
+
4913
5027
  .form-group {
4914
5028
  margin-bottom: 16px;
4915
5029
  }
@@ -4986,18 +5100,18 @@ JupiterAddColumnDialog.styles = css`
4986
5100
  background: transparent;
4987
5101
  }
4988
5102
 
4989
- // .btn-cancel:hover {
4990
- // background: var(--jupiter-neutral-background-hover, #e0e0e0);
4991
- // }
5103
+ .btn-cancel:hover {
5104
+ opacity: 0.9;
5105
+ }
4992
5106
 
4993
5107
  .btn-primary {
4994
5108
  background: var(--buttonBgColor, var(--jupiter-primary-color, #1976d2));
4995
5109
  color: var(--buttonTextColor, white);
4996
5110
  }
4997
5111
 
4998
- // .btn-primary:hover {
4999
- // background: var(--jupiter-primary-color-dark, #5a6fd8);
5000
- // }
5112
+ .btn-primary:hover {
5113
+ opacity: 0.9;
5114
+ }
5001
5115
 
5002
5116
  // .btn-primary:disabled {
5003
5117
  // background: var(--jupiter-disabled-background, #ccc);
@@ -5927,10 +6041,10 @@ JupiterFormSection.styles = css`
5927
6041
  position: absolute;
5928
6042
  top: 32px;
5929
6043
  right: 4px;
5930
- background: white;
5931
- border: 1px solid var(--jupiter-border-color, #ddd);
6044
+ background: var(--bg-color-2, var(--jupiter-card-background, #fff));
6045
+ border: 1px solid var(--primaryTextColor, var(--jupiter-border-color, #ddd));
5932
6046
  border-radius: 4px;
5933
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
6047
+ // box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
5934
6048
  z-index: 1000;
5935
6049
  min-width: 150px;
5936
6050
  padding: 4px 0;
@@ -5940,7 +6054,7 @@ JupiterFormSection.styles = css`
5940
6054
  padding: 8px 16px;
5941
6055
  cursor: pointer;
5942
6056
  font-size: 14px;
5943
- color: var(--jupiter-text-primary, #333);
6057
+ color: var(--primaryTextColor, var(--jupiter-text-primary, #333));
5944
6058
  transition: background 0.2s ease;
5945
6059
  border: none;
5946
6060
  background: transparent;
@@ -5950,7 +6064,7 @@ JupiterFormSection.styles = css`
5950
6064
  }
5951
6065
 
5952
6066
  .column-context-menu-item:hover {
5953
- background: var(--jupiter-background-light, #f5f5f5);
6067
+ opacity: 0.9;
5954
6068
  }
5955
6069
 
5956
6070
  .column-context-menu-item.remove {
@@ -7384,9 +7498,9 @@ JupiterFilterRolesDialog.styles = css`
7384
7498
  transition: background-color 0.2s ease;
7385
7499
  }
7386
7500
 
7387
- // .close-button:hover {
7388
- // background: var(--jupiter-hover-background, #f5f5f5);
7389
- // }
7501
+ .close-button:hover {
7502
+ opacity: 0.9;
7503
+ }
7390
7504
 
7391
7505
  .dialog-content {
7392
7506
  background: var(--bg-color-2, var(--jupiter-form-content-background, #fff));
@@ -7500,10 +7614,9 @@ JupiterFilterRolesDialog.styles = css`
7500
7614
  transition: all 0.2s ease;
7501
7615
  }
7502
7616
 
7503
- // .selection-control:hover {
7504
- // background: var(--menuBgColorLighter, var(--jupiter-primary-color, #1976d2));
7505
- // color: white;
7506
- // }
7617
+ .selection-control:hover {
7618
+ opacity: 0.9;
7619
+ }
7507
7620
 
7508
7621
  .roles-list {
7509
7622
  display: flex;
@@ -7724,9 +7837,9 @@ JupiterFilterRolesDialog.styles = css`
7724
7837
  color: var(--buttonTextColor, white);
7725
7838
  }
7726
7839
 
7727
- // .btn-primary:hover:not(:disabled) {
7728
- // background: var(--jupiter-primary-color-dark, #1565c0);
7729
- // }
7840
+ .btn-primary:hover:not(:disabled) {
7841
+ opacity: 0.9;
7842
+ }
7730
7843
 
7731
7844
  .btn-secondary {
7732
7845
  color: var(--buttonBgColor, var(--jupiter-primary-color, #1976d2));
@@ -7734,9 +7847,9 @@ JupiterFilterRolesDialog.styles = css`
7734
7847
  background: transparent;
7735
7848
  }
7736
7849
 
7737
- // .btn-secondary:hover:not(:disabled) {
7738
- // background: var(--jupiter-hover-background, #f5f5f5);
7739
- // }
7850
+ .btn-secondary:hover:not(:disabled) {
7851
+ opacity: 0.9;
7852
+ }
7740
7853
 
7741
7854
  button:disabled {
7742
7855
  opacity: 0.6;
@@ -11811,9 +11924,9 @@ JupiterDynamicForm.styles = css`
11811
11924
  background: transparent;
11812
11925
  }
11813
11926
 
11814
- // .btn-secondary:hover:not(:disabled) {
11815
- // background: var(--jupiter-secondary-color-dark, #616161);
11816
- // }
11927
+ .btn-secondary:hover:not(:disabled) {
11928
+ opacity: 0.9;
11929
+ }
11817
11930
 
11818
11931
  .btn-outline {
11819
11932
  background: transparent;
@@ -11892,10 +12005,9 @@ JupiterDynamicForm.styles = css`
11892
12005
  margin-right: auto;
11893
12006
  }
11894
12007
 
11895
- // .filter-roles-button:hover:not(:disabled) {
11896
- // background: var(--jupiter-primary-color, #1976d2);
11897
- // color: white;
11898
- // }
12008
+ .filter-roles-button:hover:not(:disabled) {
12009
+ opacity: 0.9;
12010
+ }
11899
12011
 
11900
12012
  .filter-roles-button .filter-icon {
11901
12013
  width: 16px;
@@ -12089,9 +12201,9 @@ JupiterDynamicForm.styles = css`
12089
12201
  line-height: 1.4;
12090
12202
  }
12091
12203
 
12092
- // .side-panel-role-item:hover {
12093
- // background: var(--jupiter-hover-background, #e8e8e8);
12094
- // }
12204
+ .side-panel-role-item:hover {
12205
+ opacity: 0.9;
12206
+ }
12095
12207
 
12096
12208
  .side-panel-role-item.active {
12097
12209
  background: var(--light-color-1, var(--jupiter-primary-color, #1976d2));