@design.estate/dees-catalog 3.76.0 → 3.77.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.
Files changed (39) hide show
  1. package/dist_bundle/bundle.js +477 -451
  2. package/dist_ts_web/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.js +28 -3
  4. package/dist_ts_web/elements/00group-dataview/dees-table/styles.js +28 -1
  5. package/dist_ts_web/elements/00group-dataview/dees-table/types.d.ts +15 -0
  6. package/dist_ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.demo.js +96 -94
  7. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.js +27 -31
  8. package/dist_ts_web/elements/00group-input/dees-input-fileupload/demo.js +36 -36
  9. package/dist_ts_web/elements/00group-input/dees-input-iban/dees-input-iban.demo.js +20 -24
  10. package/dist_ts_web/elements/00group-input/dees-input-list/dees-input-list.demo.js +22 -20
  11. package/dist_ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.demo.js +67 -65
  12. package/dist_ts_web/elements/00group-input/dees-input-phone/dees-input-phone.demo.js +20 -24
  13. package/dist_ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.demo.js +5 -11
  14. package/dist_ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.demo.js +54 -54
  15. package/dist_ts_web/elements/00group-input/dees-input-tags/dees-input-tags.demo.js +21 -19
  16. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.js +37 -41
  17. package/dist_ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.demo.js +35 -33
  18. package/dist_ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.demo.js +19 -25
  19. package/dist_watch/bundle.js +442 -449
  20. package/dist_watch/bundle.js.map +2 -2
  21. package/package.json +1 -1
  22. package/readme.md +19 -12
  23. package/ts_web/00_commitinfo_data.ts +1 -1
  24. package/ts_web/elements/00group-dataview/dees-table/dees-table.ts +28 -2
  25. package/ts_web/elements/00group-dataview/dees-table/styles.ts +33 -0
  26. package/ts_web/elements/00group-dataview/dees-table/types.ts +19 -0
  27. package/ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.demo.ts +95 -93
  28. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.ts +40 -44
  29. package/ts_web/elements/00group-input/dees-input-fileupload/demo.ts +35 -35
  30. package/ts_web/elements/00group-input/dees-input-iban/dees-input-iban.demo.ts +19 -23
  31. package/ts_web/elements/00group-input/dees-input-list/dees-input-list.demo.ts +21 -19
  32. package/ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.demo.ts +66 -64
  33. package/ts_web/elements/00group-input/dees-input-phone/dees-input-phone.demo.ts +19 -23
  34. package/ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.demo.ts +4 -10
  35. package/ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.demo.ts +53 -53
  36. package/ts_web/elements/00group-input/dees-input-tags/dees-input-tags.demo.ts +20 -18
  37. package/ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.ts +36 -40
  38. package/ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.demo.ts +34 -32
  39. package/ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.demo.ts +18 -24
@@ -144091,90 +144091,92 @@ var demoFunc8 = /* @__PURE__ */ __name(() => b2`
144091
144091
 
144092
144092
  <div class="demo-container">
144093
144093
  <dees-panel .title=${"Basic Checkboxes"} .subtitle=${"Simple checkbox examples with various labels"}>
144094
- <div class="checkbox-group">
144095
- <dees-input-checkbox
144096
- .label=${"I agree to the Terms and Conditions"}
144094
+ <dees-form>
144095
+ <dees-input-checkbox
144096
+ .label=${"I agree to the Terms and Conditions"}
144097
144097
  .value=${true}
144098
144098
  .key=${"terms"}
144099
144099
  ></dees-input-checkbox>
144100
-
144101
- <dees-input-checkbox
144102
- .label=${"Subscribe to newsletter"}
144100
+
144101
+ <dees-input-checkbox
144102
+ .label=${"Subscribe to newsletter"}
144103
144103
  .value=${false}
144104
144104
  .key=${"newsletter"}
144105
144105
  ></dees-input-checkbox>
144106
-
144107
- <dees-input-checkbox
144108
- .label=${"Enable notifications"}
144106
+
144107
+ <dees-input-checkbox
144108
+ .label=${"Enable notifications"}
144109
144109
  .value=${false}
144110
144110
  .description=${"Receive email updates about your account"}
144111
144111
  .key=${"notifications"}
144112
144112
  ></dees-input-checkbox>
144113
- </div>
144113
+ </dees-form>
144114
144114
  </dees-panel>
144115
144115
 
144116
144116
  <dees-panel .title=${"Checkbox States"} .subtitle=${"Different checkbox states and configurations"}>
144117
- <div class="checkbox-group">
144118
- <dees-input-checkbox
144119
- .label=${"Default state"}
144117
+ <dees-form>
144118
+ <dees-input-checkbox
144119
+ .label=${"Default state"}
144120
144120
  .value=${false}
144121
144121
  ></dees-input-checkbox>
144122
-
144123
- <dees-input-checkbox
144124
- .label=${"Checked state"}
144122
+
144123
+ <dees-input-checkbox
144124
+ .label=${"Checked state"}
144125
144125
  .value=${true}
144126
144126
  ></dees-input-checkbox>
144127
-
144128
- <dees-input-checkbox
144129
- .label=${"Disabled unchecked"}
144127
+
144128
+ <dees-input-checkbox
144129
+ .label=${"Disabled unchecked"}
144130
144130
  .value=${false}
144131
144131
  .disabled=${true}
144132
144132
  ></dees-input-checkbox>
144133
-
144134
- <dees-input-checkbox
144135
- .label=${"Disabled checked"}
144133
+
144134
+ <dees-input-checkbox
144135
+ .label=${"Disabled checked"}
144136
144136
  .value=${true}
144137
144137
  .disabled=${true}
144138
144138
  ></dees-input-checkbox>
144139
-
144140
- <dees-input-checkbox
144141
- .label=${"Required checkbox"}
144139
+
144140
+ <dees-input-checkbox
144141
+ .label=${"Required checkbox"}
144142
144142
  .required=${true}
144143
144143
  .key=${"required"}
144144
144144
  ></dees-input-checkbox>
144145
- </div>
144145
+ </dees-form>
144146
144146
  </dees-panel>
144147
144147
 
144148
144148
  <dees-panel .title=${"Horizontal Layout"} .subtitle=${"Checkboxes arranged horizontally for compact forms"}>
144149
- <div class="horizontal-checkboxes">
144150
- <dees-input-checkbox
144151
- .label=${"Option A"}
144152
- .value=${false}
144153
- .layoutMode=${"horizontal"}
144154
- .key=${"optionA"}
144155
- ></dees-input-checkbox>
144156
-
144157
- <dees-input-checkbox
144158
- .label=${"Option B"}
144159
- .value=${true}
144160
- .layoutMode=${"horizontal"}
144161
- .key=${"optionB"}
144162
- ></dees-input-checkbox>
144163
-
144164
- <dees-input-checkbox
144165
- .label=${"Option C"}
144166
- .value=${false}
144167
- .layoutMode=${"horizontal"}
144168
- .key=${"optionC"}
144169
- ></dees-input-checkbox>
144170
-
144171
- <dees-input-checkbox
144172
- .label=${"Option D"}
144173
- .value=${true}
144174
- .layoutMode=${"horizontal"}
144175
- .key=${"optionD"}
144176
- ></dees-input-checkbox>
144177
- </div>
144149
+ <dees-form>
144150
+ <div class="horizontal-checkboxes">
144151
+ <dees-input-checkbox
144152
+ .label=${"Option A"}
144153
+ .value=${false}
144154
+ .layoutMode=${"horizontal"}
144155
+ .key=${"optionA"}
144156
+ ></dees-input-checkbox>
144157
+
144158
+ <dees-input-checkbox
144159
+ .label=${"Option B"}
144160
+ .value=${true}
144161
+ .layoutMode=${"horizontal"}
144162
+ .key=${"optionB"}
144163
+ ></dees-input-checkbox>
144164
+
144165
+ <dees-input-checkbox
144166
+ .label=${"Option C"}
144167
+ .value=${false}
144168
+ .layoutMode=${"horizontal"}
144169
+ .key=${"optionC"}
144170
+ ></dees-input-checkbox>
144171
+
144172
+ <dees-input-checkbox
144173
+ .label=${"Option D"}
144174
+ .value=${true}
144175
+ .layoutMode=${"horizontal"}
144176
+ .key=${"optionD"}
144177
+ ></dees-input-checkbox>
144178
+ </div>
144179
+ </dees-form>
144178
144180
  </dees-panel>
144179
144181
 
144180
144182
  <dees-panel .title=${"Feature Selection Example"} .subtitle=${"Common use case for feature toggles with batch operations"}>
@@ -144184,76 +144186,76 @@ var demoFunc8 = /* @__PURE__ */ __name(() => b2`
144184
144186
  </div>
144185
144187
 
144186
144188
  <div class="feature-list">
144187
- <div class="checkbox-group">
144188
- <dees-input-checkbox
144189
- .label=${"Dark Mode Support"}
144189
+ <dees-form>
144190
+ <dees-input-checkbox
144191
+ .label=${"Dark Mode Support"}
144190
144192
  .value=${true}
144191
144193
  .key=${"feature1"}
144192
144194
  ></dees-input-checkbox>
144193
-
144194
- <dees-input-checkbox
144195
- .label=${"Email Notifications"}
144195
+
144196
+ <dees-input-checkbox
144197
+ .label=${"Email Notifications"}
144196
144198
  .value=${true}
144197
144199
  .key=${"feature2"}
144198
144200
  ></dees-input-checkbox>
144199
-
144200
- <dees-input-checkbox
144201
- .label=${"Two-Factor Authentication"}
144201
+
144202
+ <dees-input-checkbox
144203
+ .label=${"Two-Factor Authentication"}
144202
144204
  .value=${false}
144203
144205
  .key=${"feature3"}
144204
144206
  ></dees-input-checkbox>
144205
-
144206
- <dees-input-checkbox
144207
- .label=${"API Access"}
144207
+
144208
+ <dees-input-checkbox
144209
+ .label=${"API Access"}
144208
144210
  .value=${true}
144209
144211
  .key=${"feature4"}
144210
144212
  ></dees-input-checkbox>
144211
-
144212
- <dees-input-checkbox
144213
- .label=${"Advanced Analytics"}
144213
+
144214
+ <dees-input-checkbox
144215
+ .label=${"Advanced Analytics"}
144214
144216
  .value=${false}
144215
144217
  .key=${"feature5"}
144216
144218
  ></dees-input-checkbox>
144217
- </div>
144219
+ </dees-form>
144218
144220
  </div>
144219
144221
  </dees-panel>
144220
144222
 
144221
144223
  <dees-panel .title=${"Privacy Settings Example"} .subtitle=${"Checkboxes in a typical form context"}>
144222
144224
  <div class="form-section">
144223
144225
  <h4 class="section-title">Privacy Preferences</h4>
144224
-
144225
- <div class="checkbox-group">
144226
- <dees-input-checkbox
144227
- .label=${"Share analytics data"}
144226
+
144227
+ <dees-form>
144228
+ <dees-input-checkbox
144229
+ .label=${"Share analytics data"}
144228
144230
  .value=${true}
144229
144231
  .description=${"Help us improve by sharing anonymous usage data"}
144230
144232
  ></dees-input-checkbox>
144231
-
144232
- <dees-input-checkbox
144233
- .label=${"Personalized recommendations"}
144233
+
144234
+ <dees-input-checkbox
144235
+ .label=${"Personalized recommendations"}
144234
144236
  .value=${true}
144235
144237
  .description=${"Get suggestions based on your activity"}
144236
144238
  ></dees-input-checkbox>
144237
-
144238
- <dees-input-checkbox
144239
- .label=${"Marketing communications"}
144239
+
144240
+ <dees-input-checkbox
144241
+ .label=${"Marketing communications"}
144240
144242
  .value=${false}
144241
144243
  .description=${"Receive promotional emails and special offers"}
144242
144244
  ></dees-input-checkbox>
144243
-
144244
- <dees-input-checkbox
144245
- .label=${"Third-party integrations"}
144245
+
144246
+ <dees-input-checkbox
144247
+ .label=${"Third-party integrations"}
144246
144248
  .value=${false}
144247
144249
  .description=${"Allow approved partners to access your data"}
144248
144250
  ></dees-input-checkbox>
144249
- </div>
144251
+ </dees-form>
144250
144252
  </div>
144251
144253
  </dees-panel>
144252
144254
 
144253
144255
  <dees-panel .title=${"Interactive Example"} .subtitle=${"Click checkboxes to see value changes"}>
144254
- <div class="checkbox-group">
144255
- <dees-input-checkbox
144256
- .label=${"Feature toggle"}
144256
+ <dees-form>
144257
+ <dees-input-checkbox
144258
+ .label=${"Feature toggle"}
144257
144259
  .value=${false}
144258
144260
  @changeSubject=${(event) => {
144259
144261
  const output = document.querySelector("#checkbox-output");
@@ -144263,9 +144265,9 @@ var demoFunc8 = /* @__PURE__ */ __name(() => b2`
144263
144265
  }
144264
144266
  }}
144265
144267
  ></dees-input-checkbox>
144266
-
144267
- <dees-input-checkbox
144268
- .label=${"Debug mode"}
144268
+
144269
+ <dees-input-checkbox
144270
+ .label=${"Debug mode"}
144269
144271
  .value=${false}
144270
144272
  @changeSubject=${(event) => {
144271
144273
  const output = document.querySelector("#debug-output");
@@ -144275,8 +144277,8 @@ var demoFunc8 = /* @__PURE__ */ __name(() => b2`
144275
144277
  }
144276
144278
  }}
144277
144279
  ></dees-input-checkbox>
144278
- </div>
144279
-
144280
+ </dees-form>
144281
+
144280
144282
  <div class="interactive-section">
144281
144283
  <div id="checkbox-output" class="output-text">Feature is disabled</div>
144282
144284
  <div id="debug-output" class="output-text" style="margin-top: 8px;">Debug mode: OFF</div>
@@ -148418,12 +148420,6 @@ var demoFunc13 = /* @__PURE__ */ __name(() => b2`
148418
148420
  flex-wrap: wrap;
148419
148421
  }
148420
148422
 
148421
- .input-group {
148422
- display: flex;
148423
- flex-direction: column;
148424
- gap: 16px;
148425
- }
148426
-
148427
148423
  .grid-layout {
148428
148424
  display: grid;
148429
148425
  grid-template-columns: 1fr 1fr;
@@ -148472,7 +148468,7 @@ var demoFunc13 = /* @__PURE__ */ __name(() => b2`
148472
148468
  }
148473
148469
  }}>
148474
148470
  <dees-panel .title=${"Basic Text Inputs"} .subtitle=${"Standard text inputs with labels and descriptions"}>
148475
- <div class="input-group">
148471
+ <dees-form>
148476
148472
  <dees-input-text
148477
148473
  .label=${"Username"}
148478
148474
  .value=${"johndoe"}
@@ -148493,7 +148489,7 @@ var demoFunc13 = /* @__PURE__ */ __name(() => b2`
148493
148489
  .value=${"secret123"}
148494
148490
  .key=${"password"}
148495
148491
  ></dees-input-text>
148496
- </div>
148492
+ </dees-form>
148497
148493
  </dees-panel>
148498
148494
  </dees-demowrapper>
148499
148495
 
@@ -148516,28 +148512,30 @@ var demoFunc13 = /* @__PURE__ */ __name(() => b2`
148516
148512
  }
148517
148513
  }}>
148518
148514
  <dees-panel .title=${"Horizontal Layout"} .subtitle=${"Multiple inputs arranged horizontally for compact forms"}>
148519
- <div class="horizontal-group">
148520
- <dees-input-text
148521
- .label=${"First Name"}
148522
- .value=${"John"}
148523
- .layoutMode=${"horizontal"}
148524
- .key=${"firstName"}
148525
- ></dees-input-text>
148526
-
148527
- <dees-input-text
148528
- .label=${"Last Name"}
148529
- .value=${"Doe"}
148530
- .layoutMode=${"horizontal"}
148531
- .key=${"lastName"}
148532
- ></dees-input-text>
148533
-
148534
- <dees-input-text
148535
- .label=${"Age"}
148536
- .value=${"28"}
148537
- .layoutMode=${"horizontal"}
148538
- .key=${"age"}
148539
- ></dees-input-text>
148540
- </div>
148515
+ <dees-form>
148516
+ <div class="horizontal-group">
148517
+ <dees-input-text
148518
+ .label=${"First Name"}
148519
+ .value=${"John"}
148520
+ .layoutMode=${"horizontal"}
148521
+ .key=${"firstName"}
148522
+ ></dees-input-text>
148523
+
148524
+ <dees-input-text
148525
+ .label=${"Last Name"}
148526
+ .value=${"Doe"}
148527
+ .layoutMode=${"horizontal"}
148528
+ .key=${"lastName"}
148529
+ ></dees-input-text>
148530
+
148531
+ <dees-input-text
148532
+ .label=${"Age"}
148533
+ .value=${"28"}
148534
+ .layoutMode=${"horizontal"}
148535
+ .key=${"age"}
148536
+ ></dees-input-text>
148537
+ </div>
148538
+ </dees-form>
148541
148539
  </dees-panel>
148542
148540
  </dees-demowrapper>
148543
148541
 
@@ -148553,7 +148551,7 @@ var demoFunc13 = /* @__PURE__ */ __name(() => b2`
148553
148551
  }
148554
148552
  }}>
148555
148553
  <dees-panel .title=${"Label Positions"} .subtitle=${"Different label positioning options for various layouts"}>
148556
- <div class="input-group">
148554
+ <dees-form>
148557
148555
  <dees-input-text
148558
148556
  .label=${"Label on Top (Default)"}
148559
148557
  .value=${"Standard layout"}
@@ -148567,25 +148565,25 @@ var demoFunc13 = /* @__PURE__ */ __name(() => b2`
148567
148565
  ></dees-input-text>
148568
148566
 
148569
148567
  <div class="grid-layout">
148570
- <dees-input-text
148571
- .label=${"City"}
148572
- .value=${"New York"}
148568
+ <dees-input-text
148569
+ .label=${"City"}
148570
+ .value=${"New York"}
148573
148571
  .labelPosition=${"left"}
148574
148572
  ></dees-input-text>
148575
-
148573
+
148576
148574
  <dees-input-text
148577
148575
  .label=${"ZIP Code"}
148578
148576
  .value=${"10001"}
148579
148577
  .labelPosition=${"left"}
148580
148578
  ></dees-input-text>
148581
148579
  </div>
148582
- </div>
148580
+ </dees-form>
148583
148581
  </dees-panel>
148584
148582
  </dees-demowrapper>
148585
148583
 
148586
148584
  <dees-demowrapper>
148587
148585
  <dees-panel .title=${"Validation & States"} .subtitle=${"Different validation states and input configurations"}>
148588
- <div class="input-group">
148586
+ <dees-form>
148589
148587
  <dees-input-text
148590
148588
  .label=${"Required Field"}
148591
148589
  .required=${true}
@@ -148609,7 +148607,7 @@ var demoFunc13 = /* @__PURE__ */ __name(() => b2`
148609
148607
  return { valid: false, message: "Please enter a valid email address" };
148610
148608
  }}
148611
148609
  ></dees-input-text>
148612
- </div>
148610
+ </dees-form>
148613
148611
  </dees-panel>
148614
148612
  </dees-demowrapper>
148615
148613
 
@@ -148633,7 +148631,7 @@ var demoFunc13 = /* @__PURE__ */ __name(() => b2`
148633
148631
  });
148634
148632
  }}>
148635
148633
  <dees-panel .title=${"Advanced Features"} .subtitle=${"Password visibility toggle and other advanced features"}>
148636
- <div class="input-group">
148634
+ <dees-form>
148637
148635
  <dees-input-text
148638
148636
  .label=${"Password with Toggle"}
148639
148637
  .isPasswordBool=${true}
@@ -148647,7 +148645,7 @@ var demoFunc13 = /* @__PURE__ */ __name(() => b2`
148647
148645
  .value=${"sk-1234567890abcdef"}
148648
148646
  .infoText=${"Keep this key secure and never share it"}
148649
148647
  ></dees-input-text>
148650
- </div>
148648
+ </dees-form>
148651
148649
  </dees-panel>
148652
148650
  </dees-demowrapper>
148653
148651
 
@@ -149737,12 +149735,6 @@ var demoFunc15 = /* @__PURE__ */ __name(() => b2`
149737
149735
  margin: 0 auto;
149738
149736
  }
149739
149737
 
149740
- .input-group {
149741
- display: flex;
149742
- flex-direction: column;
149743
- gap: 16px;
149744
- }
149745
-
149746
149738
  .shopping-grid {
149747
149739
  display: grid;
149748
149740
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
@@ -149789,7 +149781,7 @@ var demoFunc15 = /* @__PURE__ */ __name(() => b2`
149789
149781
 
149790
149782
  <div class="demo-container">
149791
149783
  <dees-panel .title=${"Basic Quantity Selector"} .subtitle=${"Simple quantity input with increment/decrement buttons"}>
149792
- <div class="input-group">
149784
+ <dees-form>
149793
149785
  <dees-input-quantityselector
149794
149786
  .label=${"Quantity"}
149795
149787
  .infoText=${"Select the desired quantity"}
@@ -149802,7 +149794,7 @@ var demoFunc15 = /* @__PURE__ */ __name(() => b2`
149802
149794
  .infoText=${"Adjust the quantity of items"}
149803
149795
  .value=${3}
149804
149796
  ></dees-input-quantityselector>
149805
- </div>
149797
+ </dees-form>
149806
149798
  </dees-panel>
149807
149799
 
149808
149800
  <dees-panel .title=${"Shopping Cart"} .subtitle=${"Modern e-commerce product cards with interactive quantity selectors"} .runAfterRender=${async (elementArg) => {
@@ -149894,7 +149886,7 @@ var demoFunc15 = /* @__PURE__ */ __name(() => b2`
149894
149886
  </dees-panel>
149895
149887
 
149896
149888
  <dees-panel .title=${"Required & Disabled States"} .subtitle=${"Different states for validation and restrictions"}>
149897
- <div class="input-group">
149889
+ <dees-form>
149898
149890
  <dees-input-quantityselector
149899
149891
  .label=${"Number of Licenses"}
149900
149892
  .infoText=${"Select how many licenses you need"}
@@ -149908,7 +149900,7 @@ var demoFunc15 = /* @__PURE__ */ __name(() => b2`
149908
149900
  .disabled=${true}
149909
149901
  .value=${5}
149910
149902
  ></dees-input-quantityselector>
149911
- </div>
149903
+ </dees-form>
149912
149904
  </dees-panel>
149913
149905
 
149914
149906
  <dees-panel .title=${"Order Form"} .subtitle=${"Complete order form with quantity selection"}>
@@ -150144,12 +150136,6 @@ var demoFunc16 = /* @__PURE__ */ __name(() => b2`
150144
150136
  margin-bottom: 0;
150145
150137
  }
150146
150138
 
150147
- .input-group {
150148
- display: flex;
150149
- flex-direction: column;
150150
- gap: 16px;
150151
- }
150152
-
150153
150139
  .demo-grid {
150154
150140
  display: grid;
150155
150141
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
@@ -150169,25 +150155,27 @@ var demoFunc16 = /* @__PURE__ */ __name(() => b2`
150169
150155
 
150170
150156
  <div class="demo-container">
150171
150157
  <dees-panel .title=${"1. Basic Radio Groups"} .subtitle=${"Simple string options for common use cases"}>
150172
- <div class="demo-grid">
150173
- <dees-input-radiogroup
150174
- .label=${"Subscription Plan"}
150175
- .options=${["Basic - $9/month", "Pro - $29/month", "Enterprise - $99/month"]}
150176
- .selectedOption=${"Pro - $29/month"}
150177
- .description=${"Choose your subscription tier"}
150178
- ></dees-input-radiogroup>
150179
-
150180
- <dees-input-radiogroup
150181
- .label=${"Priority Level"}
150182
- .options=${["High", "Medium", "Low"]}
150183
- .selectedOption=${"Medium"}
150184
- .required=${true}
150185
- ></dees-input-radiogroup>
150186
- </div>
150158
+ <dees-form>
150159
+ <div class="demo-grid">
150160
+ <dees-input-radiogroup
150161
+ .label=${"Subscription Plan"}
150162
+ .options=${["Basic - $9/month", "Pro - $29/month", "Enterprise - $99/month"]}
150163
+ .selectedOption=${"Pro - $29/month"}
150164
+ .description=${"Choose your subscription tier"}
150165
+ ></dees-input-radiogroup>
150166
+
150167
+ <dees-input-radiogroup
150168
+ .label=${"Priority Level"}
150169
+ .options=${["High", "Medium", "Low"]}
150170
+ .selectedOption=${"Medium"}
150171
+ .required=${true}
150172
+ ></dees-input-radiogroup>
150173
+ </div>
150174
+ </dees-form>
150187
150175
  </dees-panel>
150188
150176
 
150189
150177
  <dees-panel .title=${"2. Horizontal Layout"} .subtitle=${"Radio groups with horizontal arrangement"}>
150190
- <div class="input-group">
150178
+ <dees-form>
150191
150179
  <dees-input-radiogroup
150192
150180
  .label=${"Do you agree with the terms?"}
150193
150181
  .options=${["Yes", "No", "Maybe"]}
@@ -150202,7 +150190,7 @@ var demoFunc16 = /* @__PURE__ */ __name(() => b2`
150202
150190
  .selectedOption=${"Intermediate"}
150203
150191
  .description=${"Select your experience level with web development"}
150204
150192
  ></dees-input-radiogroup>
150205
- </div>
150193
+ </dees-form>
150206
150194
  </dees-panel>
150207
150195
 
150208
150196
  <dees-panel .title=${"3. Advanced Options"} .subtitle=${"Using object format with keys and payloads"}>
@@ -150227,41 +150215,45 @@ var demoFunc16 = /* @__PURE__ */ __name(() => b2`
150227
150215
  </dees-panel>
150228
150216
 
150229
150217
  <dees-panel .title=${"4. Survey Example"} .subtitle=${"Multiple radio groups for surveys and forms"}>
150230
- <div class="demo-grid">
150231
- <dees-input-radiogroup
150232
- .label=${"How satisfied are you?"}
150233
- .options=${["Very Satisfied", "Satisfied", "Neutral", "Dissatisfied", "Very Dissatisfied"]}
150234
- .selectedOption=${"Satisfied"}
150235
- ></dees-input-radiogroup>
150236
-
150237
- <dees-input-radiogroup
150238
- .label=${"Would you recommend us?"}
150239
- .options=${["Definitely", "Probably", "Not Sure", "Probably Not", "Definitely Not"]}
150240
- .selectedOption=${"Probably"}
150241
- ></dees-input-radiogroup>
150242
- </div>
150218
+ <dees-form>
150219
+ <div class="demo-grid">
150220
+ <dees-input-radiogroup
150221
+ .label=${"How satisfied are you?"}
150222
+ .options=${["Very Satisfied", "Satisfied", "Neutral", "Dissatisfied", "Very Dissatisfied"]}
150223
+ .selectedOption=${"Satisfied"}
150224
+ ></dees-input-radiogroup>
150225
+
150226
+ <dees-input-radiogroup
150227
+ .label=${"Would you recommend us?"}
150228
+ .options=${["Definitely", "Probably", "Not Sure", "Probably Not", "Definitely Not"]}
150229
+ .selectedOption=${"Probably"}
150230
+ ></dees-input-radiogroup>
150231
+ </div>
150232
+ </dees-form>
150243
150233
  </dees-panel>
150244
150234
 
150245
150235
  <dees-panel .title=${"5. States & Validation"} .subtitle=${"Different states and validation examples"}>
150246
- <div class="demo-grid">
150247
- <dees-input-radiogroup
150248
- .label=${"Required Selection"}
150249
- .options=${["Option A", "Option B", "Option C"]}
150250
- .required=${true}
150251
- .description=${"This field is required"}
150252
- ></dees-input-radiogroup>
150253
-
150254
- <dees-input-radiogroup
150255
- .label=${"Disabled State"}
150256
- .options=${["Disabled Option 1", "Disabled Option 2", "Disabled Option 3"]}
150257
- .selectedOption=${"Disabled Option 2"}
150258
- .disabled=${true}
150259
- ></dees-input-radiogroup>
150260
- </div>
150236
+ <dees-form>
150237
+ <div class="demo-grid">
150238
+ <dees-input-radiogroup
150239
+ .label=${"Required Selection"}
150240
+ .options=${["Option A", "Option B", "Option C"]}
150241
+ .required=${true}
150242
+ .description=${"This field is required"}
150243
+ ></dees-input-radiogroup>
150244
+
150245
+ <dees-input-radiogroup
150246
+ .label=${"Disabled State"}
150247
+ .options=${["Disabled Option 1", "Disabled Option 2", "Disabled Option 3"]}
150248
+ .selectedOption=${"Disabled Option 2"}
150249
+ .disabled=${true}
150250
+ ></dees-input-radiogroup>
150251
+ </div>
150252
+ </dees-form>
150261
150253
  </dees-panel>
150262
150254
 
150263
150255
  <dees-panel .title=${"6. Settings Example"} .subtitle=${"Common patterns in application settings"}>
150264
- <div class="input-group">
150256
+ <dees-form>
150265
150257
  <dees-input-radiogroup
150266
150258
  .label=${"Theme Preference"}
150267
150259
  .options=${[
@@ -150286,7 +150278,7 @@ var demoFunc16 = /* @__PURE__ */ __name(() => b2`
150286
150278
  .selectedOption=${"English"}
150287
150279
  .direction=${"horizontal"}
150288
150280
  ></dees-input-radiogroup>
150289
- </div>
150281
+ </dees-form>
150290
150282
  </dees-panel>
150291
150283
 
150292
150284
  <dees-panel .title=${"7. Form Integration"} .subtitle=${"Works seamlessly with dees-form"}>
@@ -150854,12 +150846,6 @@ var demoFunc18 = /* @__PURE__ */ __name(() => b2`
150854
150846
  flex-wrap: wrap;
150855
150847
  }
150856
150848
 
150857
- .input-group {
150858
- display: flex;
150859
- flex-direction: column;
150860
- gap: 16px;
150861
- }
150862
-
150863
150849
  .spacer {
150864
150850
  height: 200px;
150865
150851
  display: flex;
@@ -150887,7 +150873,7 @@ var demoFunc18 = /* @__PURE__ */ __name(() => b2`
150887
150873
  }
150888
150874
  }}>
150889
150875
  <dees-panel .title=${"1. Basic Dropdowns"} .subtitle=${"Standard dropdown with search functionality and various options"}>
150890
- <div class="input-group">
150876
+ <dees-form>
150891
150877
  <dees-input-dropdown
150892
150878
  .label=${"Select Country"}
150893
150879
  .description=${"Choose the country where your business is registered"}
@@ -150913,7 +150899,7 @@ var demoFunc18 = /* @__PURE__ */ __name(() => b2`
150913
150899
  { option: "Guest", key: "guest" }
150914
150900
  ]}
150915
150901
  ></dees-input-dropdown>
150916
- </div>
150902
+ </dees-form>
150917
150903
  </dees-panel>
150918
150904
  </dees-demowrapper>
150919
150905
 
@@ -150949,40 +150935,42 @@ var demoFunc18 = /* @__PURE__ */ __name(() => b2`
150949
150935
  });
150950
150936
  }}>
150951
150937
  <dees-panel .title=${"3. Horizontal Layout"} .subtitle=${"Multiple dropdowns in a horizontal layout for compact forms"}>
150952
- <div class="horizontal-group">
150953
- <dees-input-dropdown
150954
- .label=${"Department"}
150955
- .layoutMode=${"horizontal"}
150956
- .options=${[
150938
+ <dees-form>
150939
+ <div class="horizontal-group">
150940
+ <dees-input-dropdown
150941
+ .label=${"Department"}
150942
+ .layoutMode=${"horizontal"}
150943
+ .options=${[
150957
150944
  { option: "Engineering", key: "eng" },
150958
150945
  { option: "Design", key: "design" },
150959
150946
  { option: "Marketing", key: "marketing" },
150960
150947
  { option: "Sales", key: "sales" }
150961
150948
  ]}
150962
- ></dees-input-dropdown>
150963
-
150964
- <dees-input-dropdown
150965
- .label=${"Team Size"}
150966
- .layoutMode=${"horizontal"}
150967
- .enableSearch=${false}
150968
- .options=${[
150949
+ ></dees-input-dropdown>
150950
+
150951
+ <dees-input-dropdown
150952
+ .label=${"Team Size"}
150953
+ .layoutMode=${"horizontal"}
150954
+ .enableSearch=${false}
150955
+ .options=${[
150969
150956
  { option: "1-5", key: "small" },
150970
150957
  { option: "6-20", key: "medium" },
150971
150958
  { option: "21-50", key: "large" },
150972
150959
  { option: "50+", key: "xlarge" }
150973
150960
  ]}
150974
- ></dees-input-dropdown>
150975
-
150976
- <dees-input-dropdown
150977
- .label=${"Location"}
150978
- .layoutMode=${"horizontal"}
150979
- .options=${[
150961
+ ></dees-input-dropdown>
150962
+
150963
+ <dees-input-dropdown
150964
+ .label=${"Location"}
150965
+ .layoutMode=${"horizontal"}
150966
+ .options=${[
150980
150967
  { option: "Remote", key: "remote" },
150981
150968
  { option: "On-site", key: "onsite" },
150982
150969
  { option: "Hybrid", key: "hybrid" }
150983
150970
  ]}
150984
- ></dees-input-dropdown>
150985
- </div>
150971
+ ></dees-input-dropdown>
150972
+ </div>
150973
+ </dees-form>
150986
150974
  </dees-panel>
150987
150975
  </dees-demowrapper>
150988
150976
 
@@ -150995,7 +150983,7 @@ var demoFunc18 = /* @__PURE__ */ __name(() => b2`
150995
150983
  }
150996
150984
  }}>
150997
150985
  <dees-panel .title=${"4. States"} .subtitle=${"Different states and configurations"}>
150998
- <div class="input-group">
150986
+ <dees-form>
150999
150987
  <dees-input-dropdown
151000
150988
  .label=${"Required Field"}
151001
150989
  .required=${true}
@@ -151014,7 +151002,7 @@ var demoFunc18 = /* @__PURE__ */ __name(() => b2`
151014
151002
  ]}
151015
151003
  .selectedOption=${{ option: "Cannot Select", key: "disabled" }}
151016
151004
  ></dees-input-dropdown>
151017
- </div>
151005
+ </dees-form>
151018
151006
  </dees-panel>
151019
151007
  </dees-demowrapper>
151020
151008
 
@@ -151787,41 +151775,43 @@ var demoFunc19 = /* @__PURE__ */ __name(() => b2`
151787
151775
  .title=${"Modern file uploader"}
151788
151776
  .subtitle=${"Shadcn-inspired layout with drag & drop, previews and validation"}
151789
151777
  >
151790
- <div class="demo-grid demo-grid--two">
151791
- <div class="demo-stack">
151792
- <dees-input-fileupload
151793
- .label=${"Attachments"}
151794
- .infoText=${"Upload supporting documents for your request"}
151795
- .description=${"Accepted formats: images, PDF, and ZIP archives up to 10MB"}
151796
- .accept=${"image/*,.pdf,.zip"}
151797
- .maxSize=${10 * 1024 * 1024}
151798
- ></dees-input-fileupload>
151799
-
151800
- <dees-input-fileupload
151801
- .label=${"Brand assets"}
151802
- .infoText=${"Upload high-resolution imagery (JPG/PNG)"}
151803
- .accept=${"image/jpeg,image/png"}
151804
- .multiple=${false}
151805
- .maxSize=${5 * 1024 * 1024}
151806
- .buttonText=${"Select cover image"}
151807
- ></dees-input-fileupload>
151808
- </div>
151778
+ <dees-form>
151779
+ <div class="demo-grid demo-grid--two">
151780
+ <div class="demo-stack">
151781
+ <dees-input-fileupload
151782
+ .label=${"Attachments"}
151783
+ .infoText=${"Upload supporting documents for your request"}
151784
+ .description=${"Accepted formats: images, PDF, and ZIP archives up to 10MB"}
151785
+ .accept=${"image/*,.pdf,.zip"}
151786
+ .maxSize=${10 * 1024 * 1024}
151787
+ ></dees-input-fileupload>
151809
151788
 
151810
- <div class="demo-stack">
151811
- <dees-input-fileupload
151812
- .label=${"Audio uploads"}
151813
- .infoText=${"Share podcast drafts (MP3/WAV, max 25MB each)"}
151814
- .accept=${"audio/*"}
151815
- .maxSize=${25 * 1024 * 1024}
151816
- ></dees-input-fileupload>
151817
-
151818
- <dees-input-fileupload
151819
- .label=${"Disabled example"}
151820
- .infoText=${"Uploader is disabled while moderation is pending"}
151821
- .disabled=${true}
151822
- ></dees-input-fileupload>
151789
+ <dees-input-fileupload
151790
+ .label=${"Brand assets"}
151791
+ .infoText=${"Upload high-resolution imagery (JPG/PNG)"}
151792
+ .accept=${"image/jpeg,image/png"}
151793
+ .multiple=${false}
151794
+ .maxSize=${5 * 1024 * 1024}
151795
+ .buttonText=${"Select cover image"}
151796
+ ></dees-input-fileupload>
151797
+ </div>
151798
+
151799
+ <div class="demo-stack">
151800
+ <dees-input-fileupload
151801
+ .label=${"Audio uploads"}
151802
+ .infoText=${"Share podcast drafts (MP3/WAV, max 25MB each)"}
151803
+ .accept=${"audio/*"}
151804
+ .maxSize=${25 * 1024 * 1024}
151805
+ ></dees-input-fileupload>
151806
+
151807
+ <dees-input-fileupload
151808
+ .label=${"Disabled example"}
151809
+ .infoText=${"Uploader is disabled while moderation is pending"}
151810
+ .disabled=${true}
151811
+ ></dees-input-fileupload>
151812
+ </div>
151823
151813
  </div>
151824
- </div>
151814
+ </dees-form>
151825
151815
  </dees-panel>
151826
151816
 
151827
151817
  <dees-panel
@@ -151830,7 +151820,6 @@ var demoFunc19 = /* @__PURE__ */ __name(() => b2`
151830
151820
  >
151831
151821
  <div class="demo-grid">
151832
151822
  <dees-form>
151833
- <div class="demo-stack">
151834
151823
  <dees-input-text
151835
151824
  .label=${"Project name"}
151836
151825
  .infoText=${"How should we refer to this project internally?"}
@@ -151872,7 +151861,6 @@ var demoFunc19 = /* @__PURE__ */ __name(() => b2`
151872
151861
  ></dees-input-text>
151873
151862
 
151874
151863
  <dees-form-submit .text=${"Submit briefing"}></dees-form-submit>
151875
- </div>
151876
151864
  </dees-form>
151877
151865
 
151878
151866
  <div class="demo-note">
@@ -154114,12 +154102,6 @@ var demoFunc20 = /* @__PURE__ */ __name(() => b2`
154114
154102
  margin: 0 auto;
154115
154103
  }
154116
154104
 
154117
- .input-group {
154118
- display: flex;
154119
- flex-direction: column;
154120
- gap: 16px;
154121
- }
154122
-
154123
154105
  .payment-group {
154124
154106
  display: flex;
154125
154107
  align-items: center;
@@ -154131,7 +154113,7 @@ var demoFunc20 = /* @__PURE__ */ __name(() => b2`
154131
154113
 
154132
154114
  <div class="demo-container">
154133
154115
  <dees-panel .title=${"Basic IBAN Input"} .subtitle=${"International Bank Account Number with automatic formatting"}>
154134
- <div class="input-group">
154116
+ <dees-form>
154135
154117
  <dees-input-iban
154136
154118
  .label=${"Bank Account IBAN"}
154137
154119
  .infoText=${"Enter your International Bank Account Number"}
@@ -154143,27 +154125,29 @@ var demoFunc20 = /* @__PURE__ */ __name(() => b2`
154143
154125
  .infoText=${"This IBAN has been verified"}
154144
154126
  .value=${"DE89370400440532013000"}
154145
154127
  ></dees-input-iban>
154146
- </div>
154128
+ </dees-form>
154147
154129
  </dees-panel>
154148
154130
 
154149
154131
  <dees-panel .title=${"Payment Information"} .subtitle=${"IBAN input with horizontal layout for payment forms"}>
154150
- <div class="payment-group">
154151
- <dees-input-text
154152
- .label=${"Account Holder"}
154153
- .layoutMode=${"horizontal"}
154154
- .value=${"John Doe"}
154155
- ></dees-input-text>
154156
-
154157
- <dees-input-iban
154158
- .label=${"IBAN"}
154159
- .layoutMode=${"horizontal"}
154160
- .value=${"GB82WEST12345698765432"}
154161
- ></dees-input-iban>
154162
- </div>
154132
+ <dees-form>
154133
+ <div class="payment-group">
154134
+ <dees-input-text
154135
+ .label=${"Account Holder"}
154136
+ .layoutMode=${"horizontal"}
154137
+ .value=${"John Doe"}
154138
+ ></dees-input-text>
154139
+
154140
+ <dees-input-iban
154141
+ .label=${"IBAN"}
154142
+ .layoutMode=${"horizontal"}
154143
+ .value=${"GB82WEST12345698765432"}
154144
+ ></dees-input-iban>
154145
+ </div>
154146
+ </dees-form>
154163
154147
  </dees-panel>
154164
154148
 
154165
154149
  <dees-panel .title=${"Validation & States"} .subtitle=${"Required fields and disabled states"}>
154166
- <div class="input-group">
154150
+ <dees-form>
154167
154151
  <dees-input-iban
154168
154152
  .label=${"Payment Account"}
154169
154153
  .infoText=${"Required for processing payments"}
@@ -154176,7 +154160,7 @@ var demoFunc20 = /* @__PURE__ */ __name(() => b2`
154176
154160
  .value=${"FR1420041010050500013M02606"}
154177
154161
  .disabled=${true}
154178
154162
  ></dees-input-iban>
154179
- </div>
154163
+ </dees-form>
154180
154164
  </dees-panel>
154181
154165
 
154182
154166
  <dees-panel .title=${"Bank Transfer Form"} .subtitle=${"Complete form example with IBAN validation"}>
@@ -154340,81 +154324,83 @@ var demoFunc21 = /* @__PURE__ */ __name(() => b2`
154340
154324
  <div class="section">
154341
154325
  <div class="section-title">Multi-Option Toggle</div>
154342
154326
  <div class="section-description">Select from multiple options with a smooth sliding indicator animation.</div>
154343
-
154344
- <dees-input-multitoggle
154345
- .label=${"Display Mode"}
154346
- .infoText=${"Choose how content is displayed"}
154347
- .description=${"This setting affects how items appear on your dashboard"}
154348
- .options=${["List View", "Grid View", "Compact"]}
154349
- .selectedOption=${"Grid View"}
154350
- ></dees-input-multitoggle>
154351
-
154352
- <br><br>
154353
-
154354
- <dees-input-multitoggle
154355
- .label=${"T-Shirt Size"}
154356
- .infoText=${"Select your preferred size"}
154357
- .options=${["XS", "S", "M", "L", "XL", "XXL"]}
154358
- .selectedOption=${"M"}
154359
- ></dees-input-multitoggle>
154327
+
154328
+ <dees-form>
154329
+ <dees-input-multitoggle
154330
+ .label=${"Display Mode"}
154331
+ .infoText=${"Choose how content is displayed"}
154332
+ .description=${"This setting affects how items appear on your dashboard"}
154333
+ .options=${["List View", "Grid View", "Compact"]}
154334
+ .selectedOption=${"Grid View"}
154335
+ ></dees-input-multitoggle>
154336
+
154337
+ <dees-input-multitoggle
154338
+ .label=${"T-Shirt Size"}
154339
+ .infoText=${"Select your preferred size"}
154340
+ .options=${["XS", "S", "M", "L", "XL", "XXL"]}
154341
+ .selectedOption=${"M"}
154342
+ ></dees-input-multitoggle>
154343
+ </dees-form>
154360
154344
  </div>
154361
154345
 
154362
154346
  <div class="section">
154363
154347
  <div class="section-title">Boolean Toggle</div>
154364
154348
  <div class="section-description">Simple on/off switches with customizable labels for clearer context.</div>
154365
-
154366
- <dees-input-multitoggle
154367
- .label=${"Notifications"}
154368
- .infoText=${"Enable or disable push notifications"}
154369
- .type=${"boolean"}
154370
- .selectedOption=${"true"}
154371
- ></dees-input-multitoggle>
154372
-
154373
- <br><br>
154374
-
154375
- <dees-input-multitoggle
154376
- .label=${"Theme Mode"}
154377
- .infoText=${"Switch between light and dark theme"}
154378
- .type=${"boolean"}
154379
- .booleanTrueName=${"Dark"}
154380
- .booleanFalseName=${"Light"}
154381
- .selectedOption=${"Dark"}
154382
- ></dees-input-multitoggle>
154383
- </div>
154384
-
154385
- <div class="section">
154386
- <div class="section-title">Settings Grid</div>
154387
- <div class="section-description">Configuration options arranged in a responsive grid layout.</div>
154388
-
154389
- <div class="settings-grid">
154349
+
154350
+ <dees-form>
154390
154351
  <dees-input-multitoggle
154391
- .label=${"Auto-Save"}
154352
+ .label=${"Notifications"}
154353
+ .infoText=${"Enable or disable push notifications"}
154392
154354
  .type=${"boolean"}
154393
- .booleanTrueName=${"Enabled"}
154394
- .booleanFalseName=${"Disabled"}
154395
- .selectedOption=${"Enabled"}
154396
- ></dees-input-multitoggle>
154397
-
154398
- <dees-input-multitoggle
154399
- .label=${"Language"}
154400
- .options=${["English", "German", "French", "Spanish"]}
154401
- .selectedOption=${"English"}
154402
- ></dees-input-multitoggle>
154403
-
154404
- <dees-input-multitoggle
154405
- .label=${"Quality"}
154406
- .options=${["Low", "Medium", "High", "Ultra"]}
154407
- .selectedOption=${"High"}
154355
+ .selectedOption=${"true"}
154408
154356
  ></dees-input-multitoggle>
154409
-
154357
+
154410
154358
  <dees-input-multitoggle
154411
- .label=${"Privacy"}
154359
+ .label=${"Theme Mode"}
154360
+ .infoText=${"Switch between light and dark theme"}
154412
154361
  .type=${"boolean"}
154413
- .booleanTrueName=${"Private"}
154414
- .booleanFalseName=${"Public"}
154415
- .selectedOption=${"Private"}
154362
+ .booleanTrueName=${"Dark"}
154363
+ .booleanFalseName=${"Light"}
154364
+ .selectedOption=${"Dark"}
154416
154365
  ></dees-input-multitoggle>
154417
- </div>
154366
+ </dees-form>
154367
+ </div>
154368
+
154369
+ <div class="section">
154370
+ <div class="section-title">Settings Grid</div>
154371
+ <div class="section-description">Configuration options arranged in a responsive grid layout.</div>
154372
+
154373
+ <dees-form>
154374
+ <div class="settings-grid">
154375
+ <dees-input-multitoggle
154376
+ .label=${"Auto-Save"}
154377
+ .type=${"boolean"}
154378
+ .booleanTrueName=${"Enabled"}
154379
+ .booleanFalseName=${"Disabled"}
154380
+ .selectedOption=${"Enabled"}
154381
+ ></dees-input-multitoggle>
154382
+
154383
+ <dees-input-multitoggle
154384
+ .label=${"Language"}
154385
+ .options=${["English", "German", "French", "Spanish"]}
154386
+ .selectedOption=${"English"}
154387
+ ></dees-input-multitoggle>
154388
+
154389
+ <dees-input-multitoggle
154390
+ .label=${"Quality"}
154391
+ .options=${["Low", "Medium", "High", "Ultra"]}
154392
+ .selectedOption=${"High"}
154393
+ ></dees-input-multitoggle>
154394
+
154395
+ <dees-input-multitoggle
154396
+ .label=${"Privacy"}
154397
+ .type=${"boolean"}
154398
+ .booleanTrueName=${"Private"}
154399
+ .booleanFalseName=${"Public"}
154400
+ .selectedOption=${"Private"}
154401
+ ></dees-input-multitoggle>
154402
+ </div>
154403
+ </dees-form>
154418
154404
  </div>
154419
154405
 
154420
154406
  <div class="section">
@@ -154693,12 +154679,6 @@ var demoFunc22 = /* @__PURE__ */ __name(() => b2`
154693
154679
  margin: 0 auto;
154694
154680
  }
154695
154681
 
154696
- .input-group {
154697
- display: flex;
154698
- flex-direction: column;
154699
- gap: 16px;
154700
- }
154701
-
154702
154682
  .horizontal-group {
154703
154683
  display: flex;
154704
154684
  align-items: center;
@@ -154710,7 +154690,7 @@ var demoFunc22 = /* @__PURE__ */ __name(() => b2`
154710
154690
 
154711
154691
  <div class="demo-container">
154712
154692
  <dees-panel .title=${"Basic Phone Input"} .subtitle=${"Automatic formatting for phone numbers"}>
154713
- <div class="input-group">
154693
+ <dees-form>
154714
154694
  <dees-input-phone
154715
154695
  .label=${"Phone Number"}
154716
154696
  .infoText=${"Enter your phone number with country code"}
@@ -154724,27 +154704,29 @@ var demoFunc22 = /* @__PURE__ */ __name(() => b2`
154724
154704
  .required=${true}
154725
154705
  .placeholder=${"+1 (555) 000-0000"}
154726
154706
  ></dees-input-phone>
154727
- </div>
154707
+ </dees-form>
154728
154708
  </dees-panel>
154729
154709
 
154730
154710
  <dees-panel .title=${"Horizontal Layout"} .subtitle=${"Phone inputs arranged horizontally"}>
154731
- <div class="horizontal-group">
154732
- <dees-input-phone
154733
- .label=${"Mobile"}
154734
- .layoutMode=${"horizontal"}
154735
- .value=${"4155551234"}
154736
- ></dees-input-phone>
154737
-
154738
- <dees-input-phone
154739
- .label=${"Office"}
154740
- .layoutMode=${"horizontal"}
154741
- .placeholder=${"+1 (800) 555-0000"}
154742
- ></dees-input-phone>
154743
- </div>
154711
+ <dees-form>
154712
+ <div class="horizontal-group">
154713
+ <dees-input-phone
154714
+ .label=${"Mobile"}
154715
+ .layoutMode=${"horizontal"}
154716
+ .value=${"4155551234"}
154717
+ ></dees-input-phone>
154718
+
154719
+ <dees-input-phone
154720
+ .label=${"Office"}
154721
+ .layoutMode=${"horizontal"}
154722
+ .placeholder=${"+1 (800) 555-0000"}
154723
+ ></dees-input-phone>
154724
+ </div>
154725
+ </dees-form>
154744
154726
  </dees-panel>
154745
154727
 
154746
154728
  <dees-panel .title=${"International Numbers"} .subtitle=${"Supports formatting for numbers with country codes"}>
154747
- <div class="input-group">
154729
+ <dees-form>
154748
154730
  <dees-input-phone
154749
154731
  .label=${"International Contact"}
154750
154732
  .infoText=${"Automatically formats international numbers"}
@@ -154756,7 +154738,7 @@ var demoFunc22 = /* @__PURE__ */ __name(() => b2`
154756
154738
  .value=${"911"}
154757
154739
  .disabled=${true}
154758
154740
  ></dees-input-phone>
154759
- </div>
154741
+ </dees-form>
154760
154742
  </dees-panel>
154761
154743
 
154762
154744
  <dees-panel .title=${"Form Integration"} .subtitle=${"Phone input as part of a contact form"}>
@@ -154988,7 +154970,7 @@ var demoFunc23 = /* @__PURE__ */ __name(() => b2`
154988
154970
 
154989
154971
  <div class="demo-container">
154990
154972
  <dees-panel .title=${"Basic Toggle"} .subtitle=${"Simple on/off toggle switch with drag support"}>
154991
- <div class="toggle-group">
154973
+ <dees-form>
154992
154974
  <dees-input-toggle
154993
154975
  .label=${"Enable feature"}
154994
154976
  .value=${false}
@@ -155007,12 +154989,12 @@ var demoFunc23 = /* @__PURE__ */ __name(() => b2`
155007
154989
  .description=${"This toggle has additional helper text explaining its purpose"}
155008
154990
  .key=${"withDesc"}
155009
154991
  ></dees-input-toggle>
155010
- </div>
154992
+ </dees-form>
155011
154993
  <p class="drag-hint">Tip: You can drag the toggle knob to switch states</p>
155012
154994
  </dees-panel>
155013
154995
 
155014
154996
  <dees-panel .title=${"Toggle States"} .subtitle=${"Different toggle states and configurations"}>
155015
- <div class="toggle-group">
154997
+ <dees-form>
155016
154998
  <dees-input-toggle
155017
154999
  .label=${"Default (off)"}
155018
155000
  .value=${false}
@@ -155041,42 +155023,44 @@ var demoFunc23 = /* @__PURE__ */ __name(() => b2`
155041
155023
  .required=${true}
155042
155024
  .description=${"This toggle cannot be turned off"}
155043
155025
  ></dees-input-toggle>
155044
- </div>
155026
+ </dees-form>
155045
155027
  </dees-panel>
155046
155028
 
155047
155029
  <dees-panel .title=${"Horizontal Layout"} .subtitle=${"Toggles arranged horizontally for compact interfaces"}>
155048
- <div class="horizontal-toggles">
155049
- <dees-input-toggle
155050
- .label=${"WiFi"}
155051
- .value=${true}
155052
- .layoutMode=${"horizontal"}
155053
- ></dees-input-toggle>
155030
+ <dees-form>
155031
+ <div class="horizontal-toggles">
155032
+ <dees-input-toggle
155033
+ .label=${"WiFi"}
155034
+ .value=${true}
155035
+ .layoutMode=${"horizontal"}
155036
+ ></dees-input-toggle>
155054
155037
 
155055
- <dees-input-toggle
155056
- .label=${"Bluetooth"}
155057
- .value=${false}
155058
- .layoutMode=${"horizontal"}
155059
- ></dees-input-toggle>
155038
+ <dees-input-toggle
155039
+ .label=${"Bluetooth"}
155040
+ .value=${false}
155041
+ .layoutMode=${"horizontal"}
155042
+ ></dees-input-toggle>
155060
155043
 
155061
- <dees-input-toggle
155062
- .label=${"GPS"}
155063
- .value=${true}
155064
- .layoutMode=${"horizontal"}
155065
- ></dees-input-toggle>
155044
+ <dees-input-toggle
155045
+ .label=${"GPS"}
155046
+ .value=${true}
155047
+ .layoutMode=${"horizontal"}
155048
+ ></dees-input-toggle>
155066
155049
 
155067
- <dees-input-toggle
155068
- .label=${"NFC"}
155069
- .value=${false}
155070
- .layoutMode=${"horizontal"}
155071
- ></dees-input-toggle>
155072
- </div>
155050
+ <dees-input-toggle
155051
+ .label=${"NFC"}
155052
+ .value=${false}
155053
+ .layoutMode=${"horizontal"}
155054
+ ></dees-input-toggle>
155055
+ </div>
155056
+ </dees-form>
155073
155057
  </dees-panel>
155074
155058
 
155075
155059
  <dees-panel .title=${"Settings Example"} .subtitle=${"Toggles in a typical settings context"}>
155076
155060
  <div class="settings-section">
155077
155061
  <h4 class="section-title">Notification Settings</h4>
155078
155062
 
155079
- <div class="toggle-group">
155063
+ <dees-form>
155080
155064
  <dees-input-toggle
155081
155065
  .label=${"Push notifications"}
155082
155066
  .value=${true}
@@ -155104,7 +155088,7 @@ var demoFunc23 = /* @__PURE__ */ __name(() => b2`
155104
155088
  .description=${"Vibrate for notifications"}
155105
155089
  .key=${"vibration"}
155106
155090
  ></dees-input-toggle>
155107
- </div>
155091
+ </dees-form>
155108
155092
  </div>
155109
155093
  </dees-panel>
155110
155094
 
@@ -155115,7 +155099,7 @@ var demoFunc23 = /* @__PURE__ */ __name(() => b2`
155115
155099
  </div>
155116
155100
 
155117
155101
  <div class="feature-toggles">
155118
- <div class="toggle-group">
155102
+ <dees-form>
155119
155103
  <dees-input-toggle
155120
155104
  .label=${"Dark Mode"}
155121
155105
  .value=${true}
@@ -155145,12 +155129,12 @@ var demoFunc23 = /* @__PURE__ */ __name(() => b2`
155145
155129
  .value=${false}
155146
155130
  .key=${"beta"}
155147
155131
  ></dees-input-toggle>
155148
- </div>
155132
+ </dees-form>
155149
155133
  </div>
155150
155134
  </dees-panel>
155151
155135
 
155152
155136
  <dees-panel .title=${"Interactive Example"} .subtitle=${"Toggle to see value changes in real-time"}>
155153
- <div class="toggle-group">
155137
+ <dees-form>
155154
155138
  <dees-input-toggle
155155
155139
  .label=${"Airplane mode"}
155156
155140
  .value=${false}
@@ -155172,7 +155156,7 @@ var demoFunc23 = /* @__PURE__ */ __name(() => b2`
155172
155156
  }
155173
155157
  }}
155174
155158
  ></dees-input-toggle>
155175
- </div>
155159
+ </dees-form>
155176
155160
 
155177
155161
  <div class="interactive-section">
155178
155162
  <div id="airplane-output" class="output-text">Airplane mode: OFF</div>
@@ -155517,12 +155501,6 @@ var demoFunc24 = /* @__PURE__ */ __name(() => b2`
155517
155501
  margin: 0 auto;
155518
155502
  }
155519
155503
 
155520
- .input-group {
155521
- display: flex;
155522
- flex-direction: column;
155523
- gap: 16px;
155524
- }
155525
-
155526
155504
  .horizontal-group {
155527
155505
  display: flex;
155528
155506
  gap: 24px;
@@ -155549,7 +155527,7 @@ var demoFunc24 = /* @__PURE__ */ __name(() => b2`
155549
155527
 
155550
155528
  <div class="demo-container">
155551
155529
  <dees-panel .title=${"Basic Type List"} .subtitle=${"Add and remove items from a list"}>
155552
- <div class="input-group">
155530
+ <dees-form>
155553
155531
  <dees-input-typelist
155554
155532
  .label=${"Tags"}
155555
155533
  .infoText=${"Add tags by typing and pressing Enter"}
@@ -155562,11 +155540,11 @@ var demoFunc24 = /* @__PURE__ */ __name(() => b2`
155562
155540
  .infoText=${"Add email addresses of team members"}
155563
155541
  .value=${["alice@example.com", "bob@example.com"]}
155564
155542
  ></dees-input-typelist>
155565
- </div>
155543
+ </dees-form>
155566
155544
  </dees-panel>
155567
155545
 
155568
155546
  <dees-panel .title=${"Skills & Keywords"} .subtitle=${"Manage lists of skills and keywords"}>
155569
- <div class="input-group">
155547
+ <dees-form>
155570
155548
  <dees-input-typelist
155571
155549
  .label=${"Your Skills"}
155572
155550
  .infoText=${"List your professional skills"}
@@ -155574,23 +155552,23 @@ var demoFunc24 = /* @__PURE__ */ __name(() => b2`
155574
155552
  ></dees-input-typelist>
155575
155553
 
155576
155554
  <div class="horizontal-group">
155577
- <dees-input-typelist
155578
- .label=${"Categories"}
155579
- .layoutMode=${"horizontal"}
155580
- .value=${["Technology", "Design", "Business"]}
155581
- ></dees-input-typelist>
155582
-
155583
- <dees-input-typelist
155584
- .label=${"Keywords"}
155585
- .layoutMode=${"horizontal"}
155586
- .value=${["innovation", "startup", "growth"]}
155587
- ></dees-input-typelist>
155588
- </div>
155589
- </div>
155555
+ <dees-input-typelist
155556
+ .label=${"Categories"}
155557
+ .layoutMode=${"horizontal"}
155558
+ .value=${["Technology", "Design", "Business"]}
155559
+ ></dees-input-typelist>
155560
+
155561
+ <dees-input-typelist
155562
+ .label=${"Keywords"}
155563
+ .layoutMode=${"horizontal"}
155564
+ .value=${["innovation", "startup", "growth"]}
155565
+ ></dees-input-typelist>
155566
+ </div>
155567
+ </dees-form>
155590
155568
  </dees-panel>
155591
155569
 
155592
155570
  <dees-panel .title=${"Required & Disabled States"} .subtitle=${"Different input states for validation"}>
155593
- <div class="input-group">
155571
+ <dees-form>
155594
155572
  <dees-input-typelist
155595
155573
  .label=${"Project Dependencies"}
155596
155574
  .infoText=${"List all required npm packages"}
@@ -155604,7 +155582,7 @@ var demoFunc24 = /* @__PURE__ */ __name(() => b2`
155604
155582
  .disabled=${true}
155605
155583
  .value=${["system", "protected", "readonly"]}
155606
155584
  ></dees-input-typelist>
155607
- </div>
155585
+ </dees-form>
155608
155586
  </dees-panel>
155609
155587
 
155610
155588
  <dees-panel .title=${"Article Publishing Form"} .subtitle=${"Complete form with tag management"}>
@@ -155840,7 +155818,7 @@ var DeesInputTypelist = _DeesInputTypelist;
155840
155818
  // ts_web/elements/00group-input/dees-input-tags/dees-input-tags.demo.ts
155841
155819
  init_dist_ts30();
155842
155820
  var _a34;
155843
- var demoFunc25 = /* @__PURE__ */ __name(() => b2(_a34 || (_a34 = __template(["\n <dees-demowrapper>\n <style>\n ", '\n </style>\n \n <div class="demo-container">\n <dees-panel .title=', " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .placeholder=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .placeholder=", "\n .suggestions=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", '>\n <div class="grid-layout">\n <dees-input-tags\n .label=', "\n .placeholder=", "\n .maxTags=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n \n <dees-input-tags\n .label=", "\n .placeholder=", "\n .maxTags=", "\n .suggestions=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n </div>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .placeholder=", "\n .required=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .value=", "\n .disabled=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-form>\n <dees-input-text\n .label=", "\n .placeholder=", "\n .required=", "\n .key=", '\n ></dees-input-text>\n \n <div class="grid-layout">\n <dees-input-tags\n .label=', "\n .placeholder=", "\n .required=", "\n .key=", "\n .suggestions=", "\n ></dees-input-tags>\n \n <dees-input-tags\n .label=", "\n .placeholder=", "\n .key=", "\n .maxTags=", "\n .suggestions=", "\n ></dees-input-tags>\n </div>\n \n <dees-input-text\n .label=", "\n .inputType=", "\n .placeholder=", "\n .key=", "\n ></dees-input-text>\n \n <dees-form-submit .text=", "></dees-form-submit>\n </dees-form>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", '>\n <dees-input-tags\n id="interactive-tags"\n .label=', "\n .placeholder=", "\n .suggestions=", "\n @change=", `
155821
+ var demoFunc25 = /* @__PURE__ */ __name(() => b2(_a34 || (_a34 = __template(["\n <dees-demowrapper>\n <style>\n ", '\n </style>\n \n <div class="demo-container">\n <dees-panel .title=', " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .placeholder=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .placeholder=", "\n .suggestions=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", '>\n <dees-form>\n <div class="grid-layout">\n <dees-input-tags\n .label=', "\n .placeholder=", "\n .maxTags=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n\n <dees-input-tags\n .label=", "\n .placeholder=", "\n .maxTags=", "\n .suggestions=", "\n .value=", "\n .description=", "\n ></dees-input-tags>\n </div>\n </dees-form>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .placeholder=", "\n .required=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-input-tags\n .label=", "\n .value=", "\n .disabled=", "\n .description=", "\n ></dees-input-tags>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", ">\n <dees-form>\n <dees-input-text\n .label=", "\n .placeholder=", "\n .required=", "\n .key=", '\n ></dees-input-text>\n \n <div class="grid-layout">\n <dees-input-tags\n .label=', "\n .placeholder=", "\n .required=", "\n .key=", "\n .suggestions=", "\n ></dees-input-tags>\n \n <dees-input-tags\n .label=", "\n .placeholder=", "\n .key=", "\n .maxTags=", "\n .suggestions=", "\n ></dees-input-tags>\n </div>\n \n <dees-input-text\n .label=", "\n .inputType=", "\n .placeholder=", "\n .key=", "\n ></dees-input-text>\n \n <dees-form-submit .text=", "></dees-form-submit>\n </dees-form>\n </dees-panel>\n\n <dees-panel .title=", " .subtitle=", '>\n <dees-input-tags\n id="interactive-tags"\n .label=', "\n .placeholder=", "\n .suggestions=", "\n @change=", `
155844
155822
  ></dees-input-tags>
155845
155823
 
155846
155824
  <div class="tag-preview" id="tags-preview">
@@ -156529,25 +156507,27 @@ var demoFunc26 = /* @__PURE__ */ __name(() => b2`
156529
156507
  </dees-panel>
156530
156508
 
156531
156509
  <dees-panel .title=${"3. Validation & Constraints"} .subtitle=${"Lists with minimum/maximum items and duplicate prevention"}>
156532
- <div class="grid-layout">
156533
- <dees-input-list
156534
- .label=${"Team Members (Min 2, Max 5)"}
156535
- .placeholder=${"Add team member..."}
156536
- .minItems=${2}
156537
- .maxItems=${5}
156538
- .value=${["Alice", "Bob"]}
156539
- .required=${true}
156540
- .description=${"Add 2-5 team members"}
156541
- ></dees-input-list>
156542
-
156543
- <dees-input-list
156544
- .label=${"Unique Tags (No Duplicates)"}
156545
- .placeholder=${"Add unique tag..."}
156546
- .allowDuplicates=${false}
156547
- .value=${["frontend", "backend", "database"]}
156548
- .description=${"Duplicate items are not allowed"}
156549
- ></dees-input-list>
156550
- </div>
156510
+ <dees-form>
156511
+ <div class="grid-layout">
156512
+ <dees-input-list
156513
+ .label=${"Team Members (Min 2, Max 5)"}
156514
+ .placeholder=${"Add team member..."}
156515
+ .minItems=${2}
156516
+ .maxItems=${5}
156517
+ .value=${["Alice", "Bob"]}
156518
+ .required=${true}
156519
+ .description=${"Add 2-5 team members"}
156520
+ ></dees-input-list>
156521
+
156522
+ <dees-input-list
156523
+ .label=${"Unique Tags (No Duplicates)"}
156524
+ .placeholder=${"Add unique tag..."}
156525
+ .allowDuplicates=${false}
156526
+ .value=${["frontend", "backend", "database"]}
156527
+ .description=${"Duplicate items are not allowed"}
156528
+ ></dees-input-list>
156529
+ </div>
156530
+ </dees-form>
156551
156531
  </dees-panel>
156552
156532
 
156553
156533
  <dees-panel .title=${"4. Delete Confirmation"} .subtitle=${"Require confirmation before deleting items"}>
@@ -170893,13 +170873,15 @@ var _DeesTable = class _DeesTable extends (_a42 = DeesElement, _heading1_dec = [
170893
170873
  const isFocused = this.__focusedCell?.rowId === rowId && this.__focusedCell?.colKey === editKey;
170894
170874
  const isEditing = this.__editingCell?.rowId === rowId && this.__editingCell?.colKey === editKey;
170895
170875
  const isFlashing = !!flashSet?.has(editKey);
170876
+ const useFlashBorder = isFlashing && !!col.flashBorder;
170896
170877
  const cellClasses = [
170897
170878
  isEditable ? "editable" : "",
170898
170879
  isFocused && !isEditing ? "focused" : "",
170899
170880
  isEditing ? "editingCell" : ""
170900
170881
  ].filter(Boolean).join(" ");
170882
+ const flashClass = isFlashing ? useFlashBorder ? "innerCellContainer flashing-border" : "innerCellContainer flashing" : "innerCellContainer";
170901
170883
  const innerHtml = b2`<div
170902
- class=${isFlashing ? "innerCellContainer flashing" : "innerCellContainer"}
170884
+ class=${flashClass}
170903
170885
  >
170904
170886
  ${isEditing ? this.renderCellEditor(itemArg, col) : content3}
170905
170887
  </div>`;
@@ -171431,6 +171413,7 @@ var _DeesTable = class _DeesTable extends (_a42 = DeesElement, _heading1_dec = [
171431
171413
  if (!changedProperties.has("data")) return;
171432
171414
  const effectiveColumns = this.__getEffectiveColumns();
171433
171415
  const visibleCols = effectiveColumns.filter((c11) => !c11.hidden);
171416
+ const colByKey = new Map(visibleCols.map((c11) => [String(c11.key), c11]));
171434
171417
  const nextSnapshot = /* @__PURE__ */ new Map();
171435
171418
  const newlyFlashing = /* @__PURE__ */ new Map();
171436
171419
  for (const row of this.data) {
@@ -171443,7 +171426,17 @@ var _DeesTable = class _DeesTable extends (_a42 = DeesElement, _heading1_dec = [
171443
171426
  const prevCells = this.__prevSnapshot?.get(rowId);
171444
171427
  if (!prevCells) continue;
171445
171428
  for (const [colKey, nextVal] of cellMap) {
171446
- if (prevCells.get(colKey) !== nextVal) {
171429
+ const prevVal = prevCells.get(colKey);
171430
+ const colDef = colByKey.get(colKey);
171431
+ let changed;
171432
+ if (colDef?.flashCompare) {
171433
+ changed = colDef.flashCompare(prevVal, nextVal);
171434
+ } else if (nextVal !== null && nextVal !== void 0 && typeof nextVal === "object") {
171435
+ changed = false;
171436
+ } else {
171437
+ changed = prevVal !== nextVal;
171438
+ }
171439
+ if (changed) {
171447
171440
  if (this.__editingCell && this.__editingCell.rowId === rowId && this.__editingCell.colKey === colKey) continue;
171448
171441
  let set3 = newlyFlashing.get(rowId);
171449
171442
  if (!set3) {