@pure-ds/core 0.7.19 → 0.7.21
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/.cursorrules +10 -0
- package/.github/copilot-instructions.md +10 -0
- package/custom-elements.json +232 -25
- package/dist/types/public/assets/js/pds-manager.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-code.d.ts +19 -0
- package/dist/types/public/assets/pds/components/pds-code.d.ts.map +1 -0
- package/dist/types/public/assets/pds/components/pds-icon.d.ts +31 -1
- package/dist/types/public/assets/pds/components/pds-icon.d.ts.map +1 -1
- package/dist/types/public/assets/pds/components/pds-treeview.d.ts +271 -16
- package/dist/types/public/assets/pds/components/pds-treeview.d.ts.map +1 -1
- package/dist/types/src/js/components/pds-code.d.ts +19 -0
- package/dist/types/src/js/components/pds-code.d.ts.map +1 -0
- package/dist/types/src/js/external/shiki.d.ts +3 -0
- package/dist/types/src/js/external/shiki.d.ts.map +1 -0
- package/dist/types/src/js/pds-core/pds-generator.d.ts.map +1 -1
- package/package.json +1 -1
- package/packages/pds-cli/bin/templates/bootstrap/public/assets/my/my-home.js +1 -1
- package/public/assets/js/app.js +1 -1
- package/public/assets/js/pds-manager.js +138 -148
- package/public/assets/pds/components/pds-calendar.js +504 -16
- package/public/assets/pds/components/pds-code.js +203 -0
- package/public/assets/pds/components/pds-icon.js +102 -27
- package/public/assets/pds/components/pds-live-importer.js +2 -2
- package/public/assets/pds/components/pds-scrollrow.js +27 -2
- package/public/assets/pds/components/pds-treeview.js +185 -0
- package/public/assets/pds/core/pds-manager.js +138 -148
- package/public/assets/pds/custom-elements.json +263 -18
- package/public/assets/pds/external/shiki.js +32 -0
- package/public/assets/pds/pds-css-complete.json +1 -1
- package/public/assets/pds/templates/feedback-ops-dashboard.html +1 -1
- package/public/assets/pds/templates/release-readiness-radar.html +2 -2
- package/public/assets/pds/templates/support-command-center.html +1 -1
- package/src/js/pds-core/pds-generator.js +142 -152
|
@@ -909,8 +909,10 @@ input[type="color"] {
|
|
|
909
909
|
pointer-events: none;
|
|
910
910
|
}
|
|
911
911
|
|
|
912
|
-
|
|
913
|
-
input[type="checkbox"]
|
|
912
|
+
:is(
|
|
913
|
+
label:has(input[type="checkbox"]),
|
|
914
|
+
input[type="checkbox"] + label
|
|
915
|
+
):not(fieldset label):not(label[data-toggle]) {
|
|
914
916
|
display: inline-flex;
|
|
915
917
|
align-items: center;
|
|
916
918
|
justify-content: center;
|
|
@@ -937,42 +939,42 @@ input[type="checkbox"] + label:not(fieldset label):not(label[data-toggle]) {
|
|
|
937
939
|
background-color: var(--color-surface-subtle);
|
|
938
940
|
border-color: var(--color-primary-500);
|
|
939
941
|
}
|
|
940
|
-
}
|
|
941
942
|
|
|
942
|
-
|
|
943
|
-
input[type="checkbox"]:checked + label:not(fieldset label):not(label[data-toggle]) {
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
943
|
+
&:has(input[type="checkbox"]:checked),
|
|
944
|
+
input[type="checkbox"]:checked + label:not(fieldset label):not(label[data-toggle]) {
|
|
945
|
+
background-color: color-mix(in oklab, var(--color-primary-500) 8%, transparent);
|
|
946
|
+
color: var(--color-primary-700);
|
|
947
|
+
border-color: var(--color-primary-500);
|
|
948
|
+
border-width: var(--border-width-medium);
|
|
949
|
+
font-weight: var(--font-weight-semibold);
|
|
950
|
+
|
|
951
|
+
&:hover {
|
|
952
|
+
background-color: color-mix(in oklab, var(--color-primary-500) 15%, transparent);
|
|
953
|
+
border-color: var(--color-primary-600);
|
|
954
|
+
}
|
|
953
955
|
}
|
|
954
|
-
}
|
|
955
956
|
|
|
956
|
-
|
|
957
|
-
input[type="checkbox"]:focus + label:not(fieldset label):not(label[data-toggle]) {
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
}
|
|
957
|
+
&:has(input[type="checkbox"]:focus),
|
|
958
|
+
input[type="checkbox"]:focus + label:not(fieldset label):not(label[data-toggle]) {
|
|
959
|
+
outline: none;
|
|
960
|
+
box-shadow: 0 0 0 ${m}px color-mix(in oklab, var(--color-primary-500) ${Math.round((i||.3)*100)}%, transparent);
|
|
961
|
+
}
|
|
961
962
|
|
|
962
|
-
|
|
963
|
-
input[type="checkbox"]:disabled + label:not(fieldset label):not(label[data-toggle]) {
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
}
|
|
963
|
+
&:has(input[type="checkbox"]:disabled),
|
|
964
|
+
input[type="checkbox"]:disabled + label:not(fieldset label):not(label[data-toggle]) {
|
|
965
|
+
background-color: var(--color-input-disabled-bg);
|
|
966
|
+
color: var(--color-input-disabled-text);
|
|
967
|
+
border-color: var(--color-border);
|
|
968
|
+
cursor: not-allowed;
|
|
969
|
+
opacity: 0.6;
|
|
970
|
+
}
|
|
970
971
|
|
|
971
|
-
|
|
972
|
-
input[type="checkbox"]:checked:disabled + label:not(fieldset label):not(label[data-toggle]) {
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
972
|
+
&:has(input[type="checkbox"]:checked:disabled),
|
|
973
|
+
input[type="checkbox"]:checked:disabled + label:not(fieldset label):not(label[data-toggle]) {
|
|
974
|
+
background-color: var(--color-input-disabled-bg);
|
|
975
|
+
color: var(--color-input-disabled-text);
|
|
976
|
+
border-color: var(--color-border);
|
|
977
|
+
}
|
|
976
978
|
}
|
|
977
979
|
|
|
978
980
|
/* Keep default checkbox/radio for inputs NOT in special containers */
|
|
@@ -1043,51 +1045,47 @@ fieldset[role="group"].buttons {
|
|
|
1043
1045
|
color: var(--color-text-primary);
|
|
1044
1046
|
}
|
|
1045
1047
|
|
|
1046
|
-
&:has([disabled]){
|
|
1048
|
+
&:has([disabled]) {
|
|
1047
1049
|
pointer-events: none;
|
|
1048
1050
|
}
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1051
|
+
|
|
1052
|
+
&:has(input:is([type="radio"], [type="checkbox"]):checked) {
|
|
1053
|
+
background-color: color-mix(in oklab, var(--color-primary-500) 8%, transparent);
|
|
1054
|
+
border-color: var(--color-primary-500);
|
|
1055
|
+
border-width: var(--border-width-medium);
|
|
1056
|
+
font-weight: var(--font-weight-semibold);
|
|
1057
|
+
|
|
1058
|
+
&:hover {
|
|
1059
|
+
background-color: color-mix(in oklab, var(--color-primary-500) 15%, transparent);
|
|
1060
|
+
border-color: var(--color-primary-600);
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
&:has(input:is([type="radio"], [type="checkbox"]):focus) {
|
|
1065
|
+
outline: none;
|
|
1066
|
+
box-shadow: 0 0 0 ${m}px color-mix(in oklab, var(--color-primary-500) ${Math.round((i||.3)*100)}%, transparent);
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
&:has(input:is([type="radio"], [type="checkbox"]):disabled) {
|
|
1070
|
+
background-color: var(--color-input-disabled-bg);
|
|
1071
|
+
color: var(--color-input-disabled-text);
|
|
1072
|
+
border-color: var(--color-border);
|
|
1073
|
+
cursor: not-allowed;
|
|
1074
|
+
opacity: 0.6;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
&:has(input:is([type="radio"], [type="checkbox"]):checked:disabled) {
|
|
1078
|
+
background-color: var(--color-input-disabled-bg);
|
|
1079
|
+
color: var(--color-input-disabled-text);
|
|
1080
|
+
border-color: var(--color-border);
|
|
1061
1081
|
}
|
|
1062
|
-
}
|
|
1063
|
-
|
|
1064
|
-
label:has(input[type="radio"]:focus),
|
|
1065
|
-
label:has(input[type="checkbox"]:focus) {
|
|
1066
|
-
outline: none;
|
|
1067
|
-
box-shadow: 0 0 0 ${m}px color-mix(in oklab, var(--color-primary-500) ${Math.round((i||.3)*100)}%, transparent);
|
|
1068
|
-
}
|
|
1069
|
-
|
|
1070
|
-
label:has(input[type="radio"]:disabled),
|
|
1071
|
-
label:has(input[type="checkbox"]:disabled) {
|
|
1072
|
-
background-color: var(--color-input-disabled-bg);
|
|
1073
|
-
color: var(--color-input-disabled-text);
|
|
1074
|
-
border-color: var(--color-border);
|
|
1075
|
-
cursor: not-allowed;
|
|
1076
|
-
opacity: 0.6;
|
|
1077
|
-
}
|
|
1078
|
-
|
|
1079
|
-
label:has(input[type="radio"]:checked:disabled),
|
|
1080
|
-
label:has(input[type="checkbox"]:checked:disabled) {
|
|
1081
|
-
background-color: var(--color-input-disabled-bg);
|
|
1082
|
-
color: var(--color-input-disabled-text);
|
|
1083
|
-
border-color: var(--color-border);
|
|
1084
1082
|
}
|
|
1085
1083
|
}
|
|
1086
1084
|
|
|
1087
1085
|
/* Toggle switches - enhanced checkboxes with data-toggle attribute */
|
|
1088
1086
|
label[data-toggle] {
|
|
1089
1087
|
display: inline-flex;
|
|
1090
|
-
align-items:
|
|
1088
|
+
align-items: center;
|
|
1091
1089
|
gap: var(--spacing-3);
|
|
1092
1090
|
cursor: pointer;
|
|
1093
1091
|
user-select: none;
|
|
@@ -1102,6 +1100,10 @@ label[data-toggle] {
|
|
|
1102
1100
|
display: none;
|
|
1103
1101
|
}
|
|
1104
1102
|
|
|
1103
|
+
span[data-label] {
|
|
1104
|
+
margin-bottom: 0;
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1105
1107
|
/* Toggle switch container */
|
|
1106
1108
|
.toggle-switch {
|
|
1107
1109
|
position: relative;
|
|
@@ -1142,29 +1144,22 @@ label[data-toggle] {
|
|
|
1142
1144
|
transition: opacity 200ms ease;
|
|
1143
1145
|
}
|
|
1144
1146
|
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
/* Toggle switch when checked - using :has() selector */
|
|
1151
|
-
&:has(input[type="checkbox"]:checked) .toggle-switch {
|
|
1152
|
-
background-color: var(--color-primary-fill);
|
|
1153
|
-
}
|
|
1154
|
-
|
|
1147
|
+
&:has(input[type="checkbox"]:checked) {
|
|
1148
|
+
&.with-icons .toggle-knob::before {
|
|
1149
|
+
content: "\u2713";
|
|
1150
|
+
color: var(--color-primary-600);
|
|
1151
|
+
}
|
|
1155
1152
|
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
}
|
|
1153
|
+
.toggle-switch {
|
|
1154
|
+
background-color: var(--color-primary-fill);
|
|
1155
|
+
}
|
|
1160
1156
|
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
outline-offset: 2px;
|
|
1157
|
+
.toggle-knob {
|
|
1158
|
+
left: 22px;
|
|
1159
|
+
}
|
|
1165
1160
|
}
|
|
1166
1161
|
|
|
1167
|
-
|
|
1162
|
+
&:has(input[type="checkbox"]:focus) .toggle-switch,
|
|
1168
1163
|
&:focus-visible .toggle-switch {
|
|
1169
1164
|
outline: 2px solid var(--color-primary-500);
|
|
1170
1165
|
outline-offset: 2px;
|
|
@@ -3000,15 +2995,9 @@ nav[data-dropdown] {
|
|
|
3000
2995
|
|
|
3001
2996
|
/* Checkbox enhancement - visually hide native input but keep accessible
|
|
3002
2997
|
Excludes button-style checkboxes in fieldsets and special containers */
|
|
3003
|
-
:where(
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
width: 1px;
|
|
3007
|
-
height: 1px;
|
|
3008
|
-
}
|
|
3009
|
-
|
|
3010
|
-
/* Style label container for checkbox */
|
|
3011
|
-
:where(label:not(fieldset label, .checkbox-container label, [data-toggle]):has(input[type="checkbox"])) {
|
|
2998
|
+
:where(
|
|
2999
|
+
label:not(fieldset label, .checkbox-container label, [data-toggle]):has(input[type="checkbox"])
|
|
3000
|
+
) {
|
|
3012
3001
|
display: inline-flex;
|
|
3013
3002
|
align-items: center;
|
|
3014
3003
|
gap: var(--spacing-2);
|
|
@@ -3016,64 +3005,65 @@ nav[data-dropdown] {
|
|
|
3016
3005
|
user-select: none;
|
|
3017
3006
|
position: relative;
|
|
3018
3007
|
padding-left: calc(var(--spacing-5) + var(--spacing-3));
|
|
3019
|
-
}
|
|
3020
3008
|
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
transform: translateY(-50%);
|
|
3028
|
-
width: var(--spacing-5);
|
|
3029
|
-
height: var(--spacing-5);
|
|
3030
|
-
border: var(--border-width-medium) solid var(--color-border);
|
|
3031
|
-
border-radius: var(--radius-sm);
|
|
3032
|
-
background: var(--color-surface-base);
|
|
3033
|
-
transition: all var(--transition-fast);
|
|
3034
|
-
flex-shrink: 0;
|
|
3035
|
-
}
|
|
3009
|
+
input[type="checkbox"] {
|
|
3010
|
+
position: absolute;
|
|
3011
|
+
opacity: 0;
|
|
3012
|
+
width: 1px;
|
|
3013
|
+
height: 1px;
|
|
3014
|
+
}
|
|
3036
3015
|
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3016
|
+
&::before {
|
|
3017
|
+
content: "";
|
|
3018
|
+
position: absolute;
|
|
3019
|
+
left: 0;
|
|
3020
|
+
top: 50%;
|
|
3021
|
+
transform: translateY(-50%);
|
|
3022
|
+
width: var(--spacing-5);
|
|
3023
|
+
height: var(--spacing-5);
|
|
3024
|
+
border: var(--border-width-medium) solid var(--color-border);
|
|
3025
|
+
border-radius: var(--radius-sm);
|
|
3026
|
+
background: var(--color-surface-base);
|
|
3027
|
+
transition: all var(--transition-fast);
|
|
3028
|
+
flex-shrink: 0;
|
|
3029
|
+
}
|
|
3049
3030
|
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3031
|
+
&:has(input[type="checkbox"]:checked)::after {
|
|
3032
|
+
content: "";
|
|
3033
|
+
position: absolute;
|
|
3034
|
+
left: var(--spacing-2);
|
|
3035
|
+
top: 50%;
|
|
3036
|
+
transform: translateY(-60%) rotate(45deg);
|
|
3037
|
+
width: var(--spacing-1-5);
|
|
3038
|
+
height: var(--spacing-3);
|
|
3039
|
+
border: solid var(--color-primary-contrast, white);
|
|
3040
|
+
border-width: 0 2px 2px 0;
|
|
3041
|
+
}
|
|
3055
3042
|
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
}
|
|
3043
|
+
&:has(input[type="checkbox"]:checked)::before {
|
|
3044
|
+
background: var(--color-primary-600);
|
|
3045
|
+
border-color: var(--color-primary-600);
|
|
3046
|
+
}
|
|
3061
3047
|
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
}
|
|
3048
|
+
&:has(input[type="checkbox"]:focus)::before {
|
|
3049
|
+
outline: 2px solid var(--color-primary-500);
|
|
3050
|
+
outline-offset: 2px;
|
|
3051
|
+
}
|
|
3067
3052
|
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3053
|
+
&:has(input[type="checkbox"]:not(:disabled)):hover::before {
|
|
3054
|
+
border-color: var(--color-primary-600);
|
|
3055
|
+
background: var(--color-surface-subtle);
|
|
3056
|
+
}
|
|
3072
3057
|
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3058
|
+
&:has(input[type="checkbox"]:checked:not(:disabled)):hover::before {
|
|
3059
|
+
background: var(--color-primary-700);
|
|
3060
|
+
border-color: var(--color-primary-700);
|
|
3061
|
+
}
|
|
3062
|
+
|
|
3063
|
+
&:has(input[type="checkbox"]:disabled) {
|
|
3064
|
+
opacity: 0.5;
|
|
3065
|
+
cursor: not-allowed;
|
|
3066
|
+
}
|
|
3077
3067
|
}
|
|
3078
3068
|
|
|
3079
3069
|
:where(fieldset) {
|