@keenmate/pure-admin-core 1.1.0 → 1.1.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.
- package/README.md +8 -0
- package/dist/css/main.css +197 -228
- package/package.json +1 -1
- package/snippets/buttons.html +12 -0
- package/snippets/forms.html +65 -8
- package/snippets/manifest.json +329 -169
- package/src/scss/core-components/_utilities.scss +10 -0
- package/src/scss/core-components/_web-components-theme.scss +14 -287
- package/src/scss/core-components/forms/_form-inputs.scss +29 -0
- package/src/scss/core-components/forms/_form-states.scss +26 -0
package/README.md
CHANGED
|
@@ -189,6 +189,14 @@ This enables dark mode support for web components like `@keenmate/web-grid` that
|
|
|
189
189
|
- `.pa-textarea` - Textareas
|
|
190
190
|
- `.pa-checkbox` - Checkboxes
|
|
191
191
|
- `.pa-radio` - Radio buttons
|
|
192
|
+
- **Size modifiers:** `--xs`, `--sm`, `--lg`, `--xl`
|
|
193
|
+
- **Validation states:** `--success`, `--warning`, `--error`
|
|
194
|
+
- **Color variants:** `--color-1` through `--color-9` (theme color slots)
|
|
195
|
+
- `.pa-form-group` - Form group wrapper
|
|
196
|
+
- `.pa-form-group--horizontal` - Horizontal label/input layout
|
|
197
|
+
- `.pa-form-help` - Help text below inputs
|
|
198
|
+
- `--success`, `--warning`, `--error` - Validation state colors
|
|
199
|
+
- `--color-1` through `--color-9` - Theme color variants
|
|
192
200
|
|
|
193
201
|
### Tables
|
|
194
202
|
- `.pa-table` - Base table
|
package/dist/css/main.css
CHANGED
|
@@ -8410,6 +8410,34 @@ a.pa-card p {
|
|
|
8410
8410
|
font-size: 1.8rem;
|
|
8411
8411
|
}
|
|
8412
8412
|
|
|
8413
|
+
.pa-textarea--xs {
|
|
8414
|
+
height: 4rem;
|
|
8415
|
+
min-height: 4rem;
|
|
8416
|
+
padding: 0.6rem 0.8rem;
|
|
8417
|
+
font-size: 1.2rem;
|
|
8418
|
+
}
|
|
8419
|
+
|
|
8420
|
+
.pa-textarea--sm {
|
|
8421
|
+
height: 6rem;
|
|
8422
|
+
min-height: 6rem;
|
|
8423
|
+
padding: 0.8rem 0.8rem;
|
|
8424
|
+
font-size: 1.4rem;
|
|
8425
|
+
}
|
|
8426
|
+
|
|
8427
|
+
.pa-textarea--lg {
|
|
8428
|
+
height: 12rem;
|
|
8429
|
+
min-height: 12rem;
|
|
8430
|
+
padding: 0.8rem 0.8rem;
|
|
8431
|
+
font-size: 1.6rem;
|
|
8432
|
+
}
|
|
8433
|
+
|
|
8434
|
+
.pa-textarea--xl {
|
|
8435
|
+
height: 16rem;
|
|
8436
|
+
min-height: 16rem;
|
|
8437
|
+
padding: 0.8rem 0.8rem;
|
|
8438
|
+
font-size: 1.8rem;
|
|
8439
|
+
}
|
|
8440
|
+
|
|
8413
8441
|
.pa-mode-dark input[type=date]::-webkit-calendar-picker-indicator,
|
|
8414
8442
|
.pa-mode-dark input[type=time]::-webkit-calendar-picker-indicator,
|
|
8415
8443
|
.pa-mode-dark input[type=datetime-local]::-webkit-calendar-picker-indicator,
|
|
@@ -8494,6 +8522,153 @@ a.pa-card p {
|
|
|
8494
8522
|
.pa-form-help--success {
|
|
8495
8523
|
color: var(--pa-success-bg);
|
|
8496
8524
|
}
|
|
8525
|
+
.pa-form-help--warning {
|
|
8526
|
+
color: var(--pa-warning-bg);
|
|
8527
|
+
}
|
|
8528
|
+
|
|
8529
|
+
.pa-form-help--color-1 {
|
|
8530
|
+
color: var(--pa-color-1);
|
|
8531
|
+
}
|
|
8532
|
+
|
|
8533
|
+
.pa-form-help--color-2 {
|
|
8534
|
+
color: var(--pa-color-2);
|
|
8535
|
+
}
|
|
8536
|
+
|
|
8537
|
+
.pa-form-help--color-3 {
|
|
8538
|
+
color: var(--pa-color-3);
|
|
8539
|
+
}
|
|
8540
|
+
|
|
8541
|
+
.pa-form-help--color-4 {
|
|
8542
|
+
color: var(--pa-color-4);
|
|
8543
|
+
}
|
|
8544
|
+
|
|
8545
|
+
.pa-form-help--color-5 {
|
|
8546
|
+
color: var(--pa-color-5);
|
|
8547
|
+
}
|
|
8548
|
+
|
|
8549
|
+
.pa-form-help--color-6 {
|
|
8550
|
+
color: var(--pa-color-6);
|
|
8551
|
+
}
|
|
8552
|
+
|
|
8553
|
+
.pa-form-help--color-7 {
|
|
8554
|
+
color: var(--pa-color-7);
|
|
8555
|
+
}
|
|
8556
|
+
|
|
8557
|
+
.pa-form-help--color-8 {
|
|
8558
|
+
color: var(--pa-color-8);
|
|
8559
|
+
}
|
|
8560
|
+
|
|
8561
|
+
.pa-form-help--color-9 {
|
|
8562
|
+
color: var(--pa-color-9);
|
|
8563
|
+
}
|
|
8564
|
+
|
|
8565
|
+
.pa-input--color-1,
|
|
8566
|
+
.pa-select--color-1,
|
|
8567
|
+
.pa-textarea--color-1 {
|
|
8568
|
+
border-color: var(--pa-color-1);
|
|
8569
|
+
}
|
|
8570
|
+
.pa-input--color-1:focus,
|
|
8571
|
+
.pa-select--color-1:focus,
|
|
8572
|
+
.pa-textarea--color-1:focus {
|
|
8573
|
+
border-color: var(--pa-color-1);
|
|
8574
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--pa-color-1) 25%, transparent);
|
|
8575
|
+
}
|
|
8576
|
+
|
|
8577
|
+
.pa-input--color-2,
|
|
8578
|
+
.pa-select--color-2,
|
|
8579
|
+
.pa-textarea--color-2 {
|
|
8580
|
+
border-color: var(--pa-color-2);
|
|
8581
|
+
}
|
|
8582
|
+
.pa-input--color-2:focus,
|
|
8583
|
+
.pa-select--color-2:focus,
|
|
8584
|
+
.pa-textarea--color-2:focus {
|
|
8585
|
+
border-color: var(--pa-color-2);
|
|
8586
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--pa-color-2) 25%, transparent);
|
|
8587
|
+
}
|
|
8588
|
+
|
|
8589
|
+
.pa-input--color-3,
|
|
8590
|
+
.pa-select--color-3,
|
|
8591
|
+
.pa-textarea--color-3 {
|
|
8592
|
+
border-color: var(--pa-color-3);
|
|
8593
|
+
}
|
|
8594
|
+
.pa-input--color-3:focus,
|
|
8595
|
+
.pa-select--color-3:focus,
|
|
8596
|
+
.pa-textarea--color-3:focus {
|
|
8597
|
+
border-color: var(--pa-color-3);
|
|
8598
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--pa-color-3) 25%, transparent);
|
|
8599
|
+
}
|
|
8600
|
+
|
|
8601
|
+
.pa-input--color-4,
|
|
8602
|
+
.pa-select--color-4,
|
|
8603
|
+
.pa-textarea--color-4 {
|
|
8604
|
+
border-color: var(--pa-color-4);
|
|
8605
|
+
}
|
|
8606
|
+
.pa-input--color-4:focus,
|
|
8607
|
+
.pa-select--color-4:focus,
|
|
8608
|
+
.pa-textarea--color-4:focus {
|
|
8609
|
+
border-color: var(--pa-color-4);
|
|
8610
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--pa-color-4) 25%, transparent);
|
|
8611
|
+
}
|
|
8612
|
+
|
|
8613
|
+
.pa-input--color-5,
|
|
8614
|
+
.pa-select--color-5,
|
|
8615
|
+
.pa-textarea--color-5 {
|
|
8616
|
+
border-color: var(--pa-color-5);
|
|
8617
|
+
}
|
|
8618
|
+
.pa-input--color-5:focus,
|
|
8619
|
+
.pa-select--color-5:focus,
|
|
8620
|
+
.pa-textarea--color-5:focus {
|
|
8621
|
+
border-color: var(--pa-color-5);
|
|
8622
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--pa-color-5) 25%, transparent);
|
|
8623
|
+
}
|
|
8624
|
+
|
|
8625
|
+
.pa-input--color-6,
|
|
8626
|
+
.pa-select--color-6,
|
|
8627
|
+
.pa-textarea--color-6 {
|
|
8628
|
+
border-color: var(--pa-color-6);
|
|
8629
|
+
}
|
|
8630
|
+
.pa-input--color-6:focus,
|
|
8631
|
+
.pa-select--color-6:focus,
|
|
8632
|
+
.pa-textarea--color-6:focus {
|
|
8633
|
+
border-color: var(--pa-color-6);
|
|
8634
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--pa-color-6) 25%, transparent);
|
|
8635
|
+
}
|
|
8636
|
+
|
|
8637
|
+
.pa-input--color-7,
|
|
8638
|
+
.pa-select--color-7,
|
|
8639
|
+
.pa-textarea--color-7 {
|
|
8640
|
+
border-color: var(--pa-color-7);
|
|
8641
|
+
}
|
|
8642
|
+
.pa-input--color-7:focus,
|
|
8643
|
+
.pa-select--color-7:focus,
|
|
8644
|
+
.pa-textarea--color-7:focus {
|
|
8645
|
+
border-color: var(--pa-color-7);
|
|
8646
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--pa-color-7) 25%, transparent);
|
|
8647
|
+
}
|
|
8648
|
+
|
|
8649
|
+
.pa-input--color-8,
|
|
8650
|
+
.pa-select--color-8,
|
|
8651
|
+
.pa-textarea--color-8 {
|
|
8652
|
+
border-color: var(--pa-color-8);
|
|
8653
|
+
}
|
|
8654
|
+
.pa-input--color-8:focus,
|
|
8655
|
+
.pa-select--color-8:focus,
|
|
8656
|
+
.pa-textarea--color-8:focus {
|
|
8657
|
+
border-color: var(--pa-color-8);
|
|
8658
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--pa-color-8) 25%, transparent);
|
|
8659
|
+
}
|
|
8660
|
+
|
|
8661
|
+
.pa-input--color-9,
|
|
8662
|
+
.pa-select--color-9,
|
|
8663
|
+
.pa-textarea--color-9 {
|
|
8664
|
+
border-color: var(--pa-color-9);
|
|
8665
|
+
}
|
|
8666
|
+
.pa-input--color-9:focus,
|
|
8667
|
+
.pa-select--color-9:focus,
|
|
8668
|
+
.pa-textarea--color-9:focus {
|
|
8669
|
+
border-color: var(--pa-color-9);
|
|
8670
|
+
box-shadow: 0 0 0 3px color-mix(in srgb, var(--pa-color-9) 25%, transparent);
|
|
8671
|
+
}
|
|
8497
8672
|
|
|
8498
8673
|
/* ========================================
|
|
8499
8674
|
Input Groups
|
|
@@ -9120,235 +9295,21 @@ input:indeterminate + .pa-checkbox__box::after {
|
|
|
9120
9295
|
* Maps Pure Admin SCSS variables to web component CSS custom properties
|
|
9121
9296
|
*
|
|
9122
9297
|
* @keenmate/web-multiselect: Uses --base-* variables from _base-css-variables.scss
|
|
9123
|
-
* @keenmate/web-daterangepicker: Uses --
|
|
9124
|
-
|
|
9125
|
-
|
|
9298
|
+
* @keenmate/web-daterangepicker: Uses --base-* variables from _base-css-variables.scss
|
|
9299
|
+
*
|
|
9300
|
+
* NOTE: Both components use the --base-* CSS variable system with built-in fallback chains:
|
|
9301
|
+
* 1. External override: --ms-accent-color: #custom
|
|
9302
|
+
* 2. Theme base value: var(--base-accent-color)
|
|
9303
|
+
* 3. Hardcoded default: #3b82f6
|
|
9304
|
+
*
|
|
9305
|
+
* This means Pure Admin only needs to set --base-* variables (via the
|
|
9306
|
+
* output-base-css-variables mixin) and the components will automatically
|
|
9307
|
+
* pick up the theme colors.
|
|
9126
9308
|
*/
|
|
9127
|
-
/*
|
|
9128
|
-
|
|
9129
|
-
|
|
9130
|
-
|
|
9131
|
-
NOTE: Variables set directly on web-daterangepicker
|
|
9132
|
-
element to pierce shadow DOM (custom properties
|
|
9133
|
-
cascade into shadow DOM when set on host element)
|
|
9134
|
-
======================================== */
|
|
9135
|
-
web-daterangepicker {
|
|
9136
|
-
/* ===== BASE PRIMITIVES ===== */
|
|
9137
|
-
/* Colors */
|
|
9138
|
-
--drp-accent-color: #007bff;
|
|
9139
|
-
--drp-primary-bg: #007bff;
|
|
9140
|
-
--drp-primary-bg-hover: rgb(51, 149.4, 255);
|
|
9141
|
-
--drp-text-primary: var(--pa-text-color-1);
|
|
9142
|
-
--drp-text-secondary: var(--pa-text-color-2);
|
|
9143
|
-
--drp-border-color: #e1e5e9;
|
|
9144
|
-
--drp-card-bg: var(--pa-card-bg);
|
|
9145
|
-
--drp-hover-bg: #f8f9fa;
|
|
9146
|
-
/* Spacing */
|
|
9147
|
-
--drp-spacing-xs: 0.4rem;
|
|
9148
|
-
--drp-spacing-sm: 0.8rem;
|
|
9149
|
-
--drp-spacing-md: 1.2rem;
|
|
9150
|
-
--drp-spacing-base: 1.6rem;
|
|
9151
|
-
--drp-spacing-lg: 2.4rem;
|
|
9152
|
-
--drp-spacing-xl: 3.2rem;
|
|
9153
|
-
/* Typography */
|
|
9154
|
-
--drp-font-size-xs: 1.2rem;
|
|
9155
|
-
--drp-font-size-sm: 1.4rem;
|
|
9156
|
-
--drp-font-size-base: 1.6rem;
|
|
9157
|
-
--drp-font-size-lg: 1.8rem;
|
|
9158
|
-
--drp-font-weight-normal: 400;
|
|
9159
|
-
--drp-font-weight-medium: 500;
|
|
9160
|
-
--drp-font-weight-semibold: 600;
|
|
9161
|
-
/* Animations */
|
|
9162
|
-
--drp-transition-fast: 0.1s;
|
|
9163
|
-
--drp-transition-normal: 0.15s;
|
|
9164
|
-
--drp-easing-snappy: ease-out;
|
|
9165
|
-
--drp-easing-smooth: ease;
|
|
9166
|
-
/* Shadows */
|
|
9167
|
-
--drp-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
9168
|
-
--drp-shadow-md: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
9169
|
-
--drp-shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
9170
|
-
--drp-shadow-xl: 0 0 60px rgba(0, 0, 0, 0.12);
|
|
9171
|
-
/* Border radius */
|
|
9172
|
-
--drp-border-radius: 4px;
|
|
9173
|
-
--drp-border-radius-sm: 2px;
|
|
9174
|
-
--drp-border-radius-lg: 8px;
|
|
9175
|
-
/* Border width */
|
|
9176
|
-
--drp-border-width-base: 1px;
|
|
9177
|
-
--drp-border-width-medium: 2px;
|
|
9178
|
-
/* ===== INPUT FIELD SEMANTIC VARIABLES ===== */
|
|
9179
|
-
/* Input colors */
|
|
9180
|
-
--drp-input-background: var(--pa-input-bg);
|
|
9181
|
-
--drp-input-color: var(--pa-text-color-1);
|
|
9182
|
-
--drp-input-border-color: #ced4da;
|
|
9183
|
-
--drp-input-border-color-hover: #007bff;
|
|
9184
|
-
--drp-input-border-color-focus: #007bff;
|
|
9185
|
-
--drp-input-placeholder-color: var(--pa-text-color-2);
|
|
9186
|
-
--drp-input-disabled-background: var(--pa-input-bg);
|
|
9187
|
-
--drp-input-disabled-color: var(--pa-text-color-2);
|
|
9188
|
-
/* Input focus effects */
|
|
9189
|
-
--drp-input-focus-shadow-color: rgba(0, 123, 255, 0.05);
|
|
9190
|
-
--drp-input-focus-shadow-size: 3px;
|
|
9191
|
-
/* Input icon */
|
|
9192
|
-
--drp-input-icon-color: var(--pa-text-color-2);
|
|
9193
|
-
--drp-input-icon-opacity: 1;
|
|
9194
|
-
/* Input size variants - matched to Pure Admin .pa-input sizes (10px base)
|
|
9195
|
-
Heights: xs=31px, sm=33px, md=35px, lg=38px, xl=41px */
|
|
9196
|
-
/* Extra Small (31px) */
|
|
9197
|
-
--drp-input-size-xs-font: 1.2rem;
|
|
9198
|
-
--drp-input-size-xs-padding-v: 0.8rem;
|
|
9199
|
-
--drp-input-size-xs-padding-h: 0.8rem;
|
|
9200
|
-
--drp-input-size-xs-height: 3.1rem; /* 31px (10px base) */
|
|
9201
|
-
--drp-input-size-xs-icon-size: 1.2rem; /* 12px (10px base) */
|
|
9202
|
-
/* Small (33px - same height as xs, slightly larger icon) */
|
|
9203
|
-
--drp-input-size-sm-font: 1.2rem;
|
|
9204
|
-
--drp-input-size-sm-padding-v: 0.8rem;
|
|
9205
|
-
--drp-input-size-sm-padding-h: 0.8rem;
|
|
9206
|
-
--drp-input-size-sm-height: 3.3rem; /* 33px (10px base) */
|
|
9207
|
-
--drp-input-size-sm-icon-size: 1.4rem; /* 14px (10px base) */
|
|
9208
|
-
/* Medium/Default (maps to pa-input: 35px) */
|
|
9209
|
-
--drp-input-size-md-font: 1.4rem;
|
|
9210
|
-
--drp-input-size-md-padding-v: 0.8rem;
|
|
9211
|
-
--drp-input-size-md-padding-h: 0.8rem;
|
|
9212
|
-
--drp-input-size-md-height: 3.5rem; /* 35px (10px base) */
|
|
9213
|
-
--drp-input-size-md-icon-size: 1.6rem; /* 16px (10px base) */
|
|
9214
|
-
/* Large (maps to pa-input--lg: 38px) */
|
|
9215
|
-
--drp-input-size-lg-font: 1.6rem;
|
|
9216
|
-
--drp-input-size-lg-padding-v: 0.8rem;
|
|
9217
|
-
--drp-input-size-lg-padding-h: 0.8rem;
|
|
9218
|
-
--drp-input-size-lg-height: 3.8rem; /* 38px (10px base) */
|
|
9219
|
-
--drp-input-size-lg-icon-size: 1.8rem; /* 18px (10px base) */
|
|
9220
|
-
/* Extra Large (maps to pa-input--xl: 41px) */
|
|
9221
|
-
--drp-input-size-xl-font: 1.8rem;
|
|
9222
|
-
--drp-input-size-xl-padding-v: 0.8rem;
|
|
9223
|
-
--drp-input-size-xl-padding-h: 0.8rem;
|
|
9224
|
-
--drp-input-size-xl-height: 4.1rem; /* 41px (10px base) */
|
|
9225
|
-
--drp-input-size-xl-icon-size: 2rem; /* 20px (10px base) */
|
|
9226
|
-
/* ===== CALENDAR CONTAINER ===== */
|
|
9227
|
-
--drp-calendar-bg: var(--pa-card-bg);
|
|
9228
|
-
--drp-calendar-border: #e1e5e9;
|
|
9229
|
-
--drp-calendar-shadow: 0 0 60px rgba(0, 0, 0, 0.12);
|
|
9230
|
-
--drp-calendar-border-radius: 4px;
|
|
9231
|
-
--drp-calendar-padding: 1.6rem;
|
|
9232
|
-
--drp-calendar-z-index: 1000;
|
|
9233
|
-
/* ===== HEADER ===== */
|
|
9234
|
-
--drp-header-padding: 0.8rem 1.2rem;
|
|
9235
|
-
--drp-header-font-size: 1.6rem;
|
|
9236
|
-
--drp-header-font-weight: 600;
|
|
9237
|
-
--drp-header-text-color: var(--pa-text-color-1);
|
|
9238
|
-
--drp-header-bg-hover: rgba(0, 123, 255, 0.12);
|
|
9239
|
-
--drp-header-bg-active: rgba(0, 123, 255, 0.05);
|
|
9240
|
-
/* ===== NAVIGATION ===== */
|
|
9241
|
-
--drp-nav-btn-size: 3.2rem; /* 32px (10px base) */
|
|
9242
|
-
--drp-nav-text-color: var(--pa-text-color-1);
|
|
9243
|
-
--drp-nav-border-color: #e1e5e9;
|
|
9244
|
-
--drp-nav-bg-hover: rgba(0, 123, 255, 0.12);
|
|
9245
|
-
--drp-nav-bg-active: rgba(0, 123, 255, 0.05);
|
|
9246
|
-
--drp-nav-border-hover: #007bff;
|
|
9247
|
-
/* ===== WEEKDAY HEADER ===== */
|
|
9248
|
-
--drp-weekday-font-size: 1.2rem;
|
|
9249
|
-
--drp-weekday-font-weight: 600;
|
|
9250
|
-
--drp-weekday-color: var(--pa-text-color-2);
|
|
9251
|
-
--drp-weekday-padding: 0.4rem;
|
|
9252
|
-
/* ===== CALENDAR GRID ===== */
|
|
9253
|
-
--drp-day-size: 3.6rem; /* 36px (10px base) */
|
|
9254
|
-
--drp-day-font-size: 1.4rem;
|
|
9255
|
-
--drp-day-border-radius: 2px;
|
|
9256
|
-
/* Day states */
|
|
9257
|
-
--drp-day-text-color: var(--pa-text-color-1);
|
|
9258
|
-
--drp-day-bg-hover: rgba(0, 123, 255, 0.12);
|
|
9259
|
-
--drp-day-border-hover: transparent;
|
|
9260
|
-
/* Today indicator */
|
|
9261
|
-
--drp-day-today-border: #007bff;
|
|
9262
|
-
/* Selected state */
|
|
9263
|
-
--drp-day-selected-bg: #007bff;
|
|
9264
|
-
--drp-day-selected-color: #ffffff;
|
|
9265
|
-
/* Range state */
|
|
9266
|
-
--drp-day-range-bg: rgba(0, 123, 255, 0.05);
|
|
9267
|
-
--drp-day-range-text: var(--pa-text-color-1);
|
|
9268
|
-
/* Focused state */
|
|
9269
|
-
--drp-day-focused-outline: #007bff;
|
|
9270
|
-
/* Disabled state */
|
|
9271
|
-
--drp-day-disabled-color: var(--pa-text-color-2);
|
|
9272
|
-
--drp-day-disabled-opacity: 0.65;
|
|
9273
|
-
/* Other month */
|
|
9274
|
-
--drp-day-other-month-color: var(--pa-text-color-2);
|
|
9275
|
-
--drp-day-other-month-opacity: 0.5;
|
|
9276
|
-
/* ===== BADGES ===== */
|
|
9277
|
-
/* Dot badges (original style) */
|
|
9278
|
-
--drp-badge-size: 0.6rem; /* 6px (10px base) */
|
|
9279
|
-
--drp-badge-primary: #007bff;
|
|
9280
|
-
--drp-badge-success: #28a745;
|
|
9281
|
-
--drp-badge-warning: #ffc107;
|
|
9282
|
-
--drp-badge-danger: #dc3545;
|
|
9283
|
-
--drp-badge-info: #17a2b8;
|
|
9284
|
-
/* Number badges */
|
|
9285
|
-
--drp-badge-number-bg: #dc3545;
|
|
9286
|
-
--drp-badge-number-color: #ffffff;
|
|
9287
|
-
/* Count badges */
|
|
9288
|
-
--drp-badge-count-bg: #007bff;
|
|
9289
|
-
--drp-badge-count-color: #ffffff;
|
|
9290
|
-
/* Text badges */
|
|
9291
|
-
--drp-badge-text-bg: rgba(0, 123, 255, 0.05);
|
|
9292
|
-
--drp-badge-text-color: var(--pa-text-color-1);
|
|
9293
|
-
/* ===== SUMMARY BAR ===== */
|
|
9294
|
-
--drp-summary-bg: #f8f9fa;
|
|
9295
|
-
--drp-summary-border-color: #e1e5e9;
|
|
9296
|
-
--drp-summary-text-color: var(--pa-text-color-1);
|
|
9297
|
-
--drp-summary-count-color: #007bff;
|
|
9298
|
-
--drp-summary-padding: 0.8rem 1.2rem;
|
|
9299
|
-
--drp-summary-font-size: 1.4rem;
|
|
9300
|
-
--drp-summary-font-weight: 500;
|
|
9301
|
-
/* ===== BUTTONS ===== */
|
|
9302
|
-
/* Today button */
|
|
9303
|
-
--drp-button-today-bg: #6c757d;
|
|
9304
|
-
--drp-button-today-bg-hover: #545b62;
|
|
9305
|
-
--drp-button-today-color: #ffffff;
|
|
9306
|
-
--drp-button-today-border: #e1e5e9;
|
|
9307
|
-
/* Clear button */
|
|
9308
|
-
--drp-button-clear-bg: #6c757d;
|
|
9309
|
-
--drp-button-clear-bg-hover: #545b62;
|
|
9310
|
-
--drp-button-clear-color: #ffffff;
|
|
9311
|
-
--drp-button-clear-border: #e1e5e9;
|
|
9312
|
-
/* Cancel button */
|
|
9313
|
-
--drp-button-cancel-bg: #6c757d;
|
|
9314
|
-
--drp-button-cancel-bg-hover: #545b62;
|
|
9315
|
-
--drp-button-cancel-color: #ffffff;
|
|
9316
|
-
--drp-button-cancel-border: #e1e5e9;
|
|
9317
|
-
/* Apply button */
|
|
9318
|
-
--drp-button-apply-bg: #007bff;
|
|
9319
|
-
--drp-button-apply-bg-hover: rgb(51, 149.4, 255);
|
|
9320
|
-
--drp-button-apply-color: #ffffff;
|
|
9321
|
-
--drp-button-apply-border: #007bff;
|
|
9322
|
-
/* Button sizing */
|
|
9323
|
-
--drp-button-padding: 0.8rem 1rem;
|
|
9324
|
-
--drp-button-font-size: 1.4rem;
|
|
9325
|
-
--drp-button-border-radius: 4px;
|
|
9326
|
-
--drp-button-gap: 0.8rem;
|
|
9327
|
-
/* ===== UNIFIED NAVIGATION ===== */
|
|
9328
|
-
/* Range selectors in unified nav */
|
|
9329
|
-
--drp-unified-range-text-color: var(--pa-text-color-1);
|
|
9330
|
-
--drp-unified-range-bg-hover: rgba(0, 123, 255, 0.12);
|
|
9331
|
-
--drp-unified-range-bg-active: rgba(0, 123, 255, 0.05);
|
|
9332
|
-
/* Month/Year display */
|
|
9333
|
-
--drp-unified-month-color: var(--pa-text-color-1);
|
|
9334
|
-
/* Rolling selector disabled state */
|
|
9335
|
-
--drp-unified-rolling-disabled-color: var(--pa-text-color-2);
|
|
9336
|
-
/* ===== ROLLING SELECTOR ===== */
|
|
9337
|
-
--drp-rolling-bg: var(--pa-card-bg);
|
|
9338
|
-
--drp-rolling-border: #e1e5e9;
|
|
9339
|
-
--drp-rolling-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
9340
|
-
--drp-rolling-item-hover-bg: rgba(0, 123, 255, 0.12);
|
|
9341
|
-
--drp-rolling-item-selected-bg: #007bff;
|
|
9342
|
-
--drp-rolling-item-selected-text: #ffffff;
|
|
9343
|
-
--drp-rolling-font-size: 1.4rem;
|
|
9344
|
-
--drp-rolling-item-text-color: var(--pa-text-color-1);
|
|
9345
|
-
--drp-rolling-item-disabled-color: var(--pa-text-color-2);
|
|
9346
|
-
/* ===== LOADING OVERLAY ===== */
|
|
9347
|
-
--drp-loading-bg: rgba(255, 255, 255, 0.8);
|
|
9348
|
-
--drp-loading-spinner-color: #007bff;
|
|
9349
|
-
--drp-loading-spinner-size: 1.6rem;
|
|
9350
|
-
/* ===== MULTIPLE MONTHS ===== */
|
|
9351
|
-
--drp-months-gap: 2.4rem;
|
|
9309
|
+
/* Web Multiselect - Group label styling */
|
|
9310
|
+
web-multiselect {
|
|
9311
|
+
--ms-group-label-color: var(--base-text-color-1);
|
|
9312
|
+
--ms-group-label-font-weight: 600;
|
|
9352
9313
|
}
|
|
9353
9314
|
|
|
9354
9315
|
.pa-file-input {
|
|
@@ -13816,6 +13777,14 @@ html.font-size-4xl {
|
|
|
13816
13777
|
white-space: nowrap;
|
|
13817
13778
|
}
|
|
13818
13779
|
|
|
13780
|
+
.pa-link {
|
|
13781
|
+
color: #007bff;
|
|
13782
|
+
text-decoration: none;
|
|
13783
|
+
}
|
|
13784
|
+
.pa-link:hover {
|
|
13785
|
+
text-decoration: underline;
|
|
13786
|
+
}
|
|
13787
|
+
|
|
13819
13788
|
.component-showcase {
|
|
13820
13789
|
display: flex;
|
|
13821
13790
|
flex-wrap: wrap;
|
package/package.json
CHANGED
package/snippets/buttons.html
CHANGED
|
@@ -248,6 +248,18 @@
|
|
|
248
248
|
Continue
|
|
249
249
|
</button>
|
|
250
250
|
|
|
251
|
+
<!-- Fixed Width with Truncation -->
|
|
252
|
+
<!-- Use minwr-* + maxwr-* to constrain width, text-truncate on inner span for ellipsis -->
|
|
253
|
+
<button class="pa-btn pa-btn--primary minwr-10 maxwr-10">
|
|
254
|
+
<span class="pa-btn__icon">✓</span>
|
|
255
|
+
<span class="text-truncate">Save All Changes</span>
|
|
256
|
+
</button>
|
|
257
|
+
|
|
258
|
+
<button class="pa-btn pa-btn--secondary minwr-10 maxwr-10">
|
|
259
|
+
<span class="pa-btn__icon">×</span>
|
|
260
|
+
<span class="text-truncate">Cancel and Go Back</span>
|
|
261
|
+
</button>
|
|
262
|
+
|
|
251
263
|
|
|
252
264
|
<!-- BUTTON ALIGNMENT -->
|
|
253
265
|
|
package/snippets/forms.html
CHANGED
|
@@ -78,15 +78,62 @@
|
|
|
78
78
|
<!-- Success State -->
|
|
79
79
|
<div class="pa-form-group pa-form-group--success">
|
|
80
80
|
<label class="pa-form-label" for="valid-input">Valid Input</label>
|
|
81
|
-
<input type="text" class="pa-input
|
|
82
|
-
<small class="pa-form-
|
|
81
|
+
<input type="text" class="pa-input" id="valid-input" value="Valid value">
|
|
82
|
+
<small class="pa-form-help pa-form-help--success">Looks good!</small>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
<!-- Warning State -->
|
|
86
|
+
<div class="pa-form-group pa-form-group--warning">
|
|
87
|
+
<label class="pa-form-label" for="warning-input">Warning Input</label>
|
|
88
|
+
<input type="text" class="pa-input" id="warning-input" value="Check this">
|
|
89
|
+
<small class="pa-form-help pa-form-help--warning">Please verify this field.</small>
|
|
83
90
|
</div>
|
|
84
91
|
|
|
85
92
|
<!-- Error State -->
|
|
86
93
|
<div class="pa-form-group pa-form-group--error">
|
|
87
94
|
<label class="pa-form-label" for="invalid-input">Invalid Input</label>
|
|
88
|
-
<input type="text" class="pa-input
|
|
89
|
-
<small class="pa-form-
|
|
95
|
+
<input type="text" class="pa-input" id="invalid-input" value="Invalid value">
|
|
96
|
+
<small class="pa-form-help pa-form-help--error">Please provide a valid value.</small>
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
<!-- THEME COLOR VARIANTS -->
|
|
101
|
+
<!-- Use --pa-color-1 through --pa-color-9 CSS variables (set by theme) -->
|
|
102
|
+
|
|
103
|
+
<!-- Color 1 with matching help text -->
|
|
104
|
+
<div class="pa-form-group">
|
|
105
|
+
<label class="pa-form-label" for="color1-input">Color 1</label>
|
|
106
|
+
<input type="text" class="pa-input pa-input--color-1" id="color1-input" value="Color 1 input">
|
|
107
|
+
<small class="pa-form-help pa-form-help--color-1">Colored help text</small>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<!-- Color 2 with matching help text -->
|
|
111
|
+
<div class="pa-form-group">
|
|
112
|
+
<label class="pa-form-label" for="color2-input">Color 2</label>
|
|
113
|
+
<input type="text" class="pa-input pa-input--color-2" id="color2-input" value="Color 2 input">
|
|
114
|
+
<small class="pa-form-help pa-form-help--color-2">Colored help text</small>
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<!-- Color 3 with gray help text (no color class) -->
|
|
118
|
+
<div class="pa-form-group">
|
|
119
|
+
<label class="pa-form-label" for="color3-input">Color 3</label>
|
|
120
|
+
<input type="text" class="pa-input pa-input--color-3" id="color3-input" value="Color 3 input">
|
|
121
|
+
<small class="pa-form-help">Gray help text (no color class)</small>
|
|
122
|
+
</div>
|
|
123
|
+
|
|
124
|
+
<!-- Select with color variant -->
|
|
125
|
+
<div class="pa-form-group">
|
|
126
|
+
<label class="pa-form-label" for="color-select">Color Select</label>
|
|
127
|
+
<select class="pa-select pa-select--color-1" id="color-select">
|
|
128
|
+
<option>Option 1</option>
|
|
129
|
+
<option>Option 2</option>
|
|
130
|
+
</select>
|
|
131
|
+
</div>
|
|
132
|
+
|
|
133
|
+
<!-- Textarea with color variant -->
|
|
134
|
+
<div class="pa-form-group">
|
|
135
|
+
<label class="pa-form-label" for="color-textarea">Color Textarea</label>
|
|
136
|
+
<textarea class="pa-textarea pa-textarea--color-2" id="color-textarea">Color 2 textarea</textarea>
|
|
90
137
|
</div>
|
|
91
138
|
|
|
92
139
|
|
|
@@ -433,19 +480,27 @@ FORM ELEMENTS:
|
|
|
433
480
|
- .pa-form-group--required: Shows required indicator
|
|
434
481
|
- .pa-form-group--horizontal: Label-left, input-right layout
|
|
435
482
|
- .pa-form-group--success: Success validation state
|
|
483
|
+
- .pa-form-group--warning: Warning validation state
|
|
436
484
|
- .pa-form-group--error: Error validation state
|
|
437
485
|
- .pa-form-label: Form label
|
|
438
486
|
|
|
439
487
|
INPUTS:
|
|
440
488
|
- .pa-input: Text input base class
|
|
441
489
|
- .pa-input--xs, --sm, --lg, --xl: Size variants
|
|
442
|
-
- .pa-input--success, --error: Validation states
|
|
490
|
+
- .pa-input--success, --warning, --error: Validation states
|
|
491
|
+
- .pa-input--color-1 through --color-9: Theme color variants
|
|
443
492
|
|
|
444
493
|
TEXTAREA:
|
|
445
494
|
- .pa-textarea: Textarea element
|
|
495
|
+
- .pa-textarea--xs, --sm, --lg, --xl: Size variants
|
|
496
|
+
- .pa-textarea--success, --warning, --error: Validation states
|
|
497
|
+
- .pa-textarea--color-1 through --color-9: Theme color variants
|
|
446
498
|
|
|
447
499
|
SELECT:
|
|
448
500
|
- .pa-select: Select dropdown
|
|
501
|
+
- .pa-select--xs, --sm, --lg, --xl: Size variants
|
|
502
|
+
- .pa-select--success, --warning, --error: Validation states
|
|
503
|
+
- .pa-select--color-1 through --color-9: Theme color variants
|
|
449
504
|
|
|
450
505
|
CHECKBOXES (custom tri-state):
|
|
451
506
|
- .pa-checkbox: Checkbox wrapper label
|
|
@@ -466,9 +521,11 @@ INPUT GROUPS:
|
|
|
466
521
|
- .pa-input-group__button: Button addon
|
|
467
522
|
|
|
468
523
|
HELP TEXT:
|
|
469
|
-
- .pa-form-
|
|
470
|
-
- .pa-form-
|
|
471
|
-
- .pa-form-
|
|
524
|
+
- .pa-form-help: Help/hint text below inputs
|
|
525
|
+
- .pa-form-help--success: Success message
|
|
526
|
+
- .pa-form-help--warning: Warning message
|
|
527
|
+
- .pa-form-help--error: Error message
|
|
528
|
+
- .pa-form-help--color-1 through --color-9: Theme color variants
|
|
472
529
|
|
|
473
530
|
GRID LAYOUT (for multi-column forms):
|
|
474
531
|
- .pa-row: Row container (flexbox)
|