@public-ui/themes 1.7.6 → 1.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -299,7 +299,7 @@ var loglevel = {exports: {}};
299
299
  }));
300
300
  } (loglevel));
301
301
 
302
- const createTranslation=(e,t)=>o=>o(e,t),createTheme=(e,t)=>o=>o(e,t),STORE="object"==typeof window?window:"object"==typeof global?global:"object"==typeof self?self:{};const STYLING_TASK_QUEUE=new Map,HYDRATED_HISTORY=[],CSS_PROPERTIES_REGISTERED=new Set,CSS_STYLE_CACHE=new Map,REGEX_CSS_PROPERTIES=/--[^;]+/g,REGEX_SPLIT_CSS_PROPERTY=/:/;"object"==typeof STORE.A11yUi&&null!==STORE.A11yUi||(STORE.A11yUi={CSS_STYLE_CACHE:CSS_STYLE_CACHE,HYDRATED_HISTORY:HYDRATED_HISTORY,STYLING_TASK_QUEUE:STYLING_TASK_QUEUE});const extractProperties=(e,t)=>{let o=t.match(REGEX_CSS_PROPERTIES);if(Array.isArray(o)){o=o.filter((e=>REGEX_SPLIT_CSS_PROPERTY.test(e)));const t=document.createElement("style");t.innerHTML=`.${e} {${o.join(";")}}`,document.querySelector("head")?.appendChild(t);}CSS_PROPERTIES_REGISTERED.add(e);},getCssStyle=(e,t)=>"object"==typeof STORE.A11yUi&&null!==STORE.A11yUi&&"object"==typeof STORE.A11yUi.Themes&&null!==STORE.A11yUi.Themes&&"object"==typeof STORE.A11yUi.Themes[e]&&null!==STORE.A11yUi.Themes[e]&&"string"==typeof STORE.A11yUi.Themes[e][t]?STORE.A11yUi.Themes[e][t].replace(/\r?\n/g,""):"",removeStyle=e=>{for(const t of Array.from(e.childNodes)){if(!(t instanceof HTMLStyleElement&&"STYLE"===t.tagName))break;e.removeChild(t);}},patchStyle=(e,t)=>{try{const o=[];t.forEach((e=>{const t=new CSSStyleSheet;t.replaceSync(e),o.push(t);})),e.adoptedStyleSheets=o;}catch(o){t.reverse().forEach((t=>{const o=document.createElement("style");o.innerHTML=t,e.insertBefore(o,e.firstChild);}));}},encroachStyles=(e,t,o)=>{if(!1!==o){const s=[...Array.from(e.childNodes).filter((e=>e instanceof HTMLStyleElement&&"STYLE"===e.tagName))];let r;try{r=[...Array.from(e.adoptedStyleSheets)];}catch(e){r=[];}"before"===o?.mode?(s.reverse().forEach((e=>t.unshift(e.innerHTML))),r.reverse().forEach((e=>t.unshift(Array.from(e.cssRules).map((e=>e.cssText)).join(""))))):"after"===o?.mode&&(s.forEach((e=>t.push(e.innerHTML))),r.forEach((e=>t.push(Array.from(e.cssRules).map((e=>e.cssText)).join("")))));}},setThemeStyleAfterHydrated=(e,t,o)=>{const s=t.name||"default";let r;try{if(null===e.shadowRoot)throw new Error("ShadowRoot is null");r=e.shadowRoot;}catch(t){r=e;}if(CSS_STYLE_CACHE.get(s)?.has(e.tagName))switchStyle(e,r,CSS_STYLE_CACHE.get(s)?.get(e.tagName),o);else {const a=getCssStyle(s,"PROPERTIES"),n=getCssStyle(s,"GLOBAL"),l=getCssStyle(s,e.tagName);!1===CSS_PROPERTIES_REGISTERED.has(s)&&extractProperties(s,n);const i=[a,n,l];encroachStyles(r,i,t.encroachCss),"debug"===t.loglevel&&console.log(e.tagName,i),!0===t.cache&&(!1===CSS_STYLE_CACHE.has(s)&&CSS_STYLE_CACHE.set(s,new Map),CSS_STYLE_CACHE.get(s)?.set(e.tagName,i)),switchStyle(e,r,i,o);}},switchStyle=(e,t,o,s)=>{removeStyle(t),patchStyle(t,o),e.style.display=s;},logHydratedHistory=e=>{"debug"===e.loglevel&&HYDRATED_HISTORY.push({timestamp:Date.now(),numberOfTasks:STYLING_TASK_QUEUE.size});},deleteDoneTask=e=>{STYLING_TASK_QUEUE.delete(e);},loggedDeleteDoneTask=(e,t)=>{deleteDoneTask(e),logHydratedHistory(t);},observerCallback=e=>{for(const t of e)if(STYLING_TASK_QUEUE.has(t.target)&&t.target.classList.contains("hydrated")){const{styleDisplay:e,themeDetails:o}=STYLING_TASK_QUEUE.get(t.target);setThemeStyleAfterHydrated(t.target,o,e),loggedDeleteDoneTask(t.target,o);}};let observer;try{observer=new MutationObserver(observerCallback);}catch(e){observer=null;}class Theme{constructor(e,t,o){this.createTheme=(e,t)=>createTheme(e,t),this.createTranslation=(e,t)=>createTranslation(e,t),this.Prefix=e,this.Key=Object.getOwnPropertyNames(t),this.Tag=Object.getOwnPropertyNames(o);}}
302
+ const N=(e,t)=>s=>s(e,t),P=(e,t)=>s=>s(e,t,{append:!1}),o=typeof window=="object"?window:typeof global=="object"?global:typeof self=="object"?self:{};const c=new Map,C=[],v=new Set,h=new Map,B=/--[^;]+/g,G=/:/;(typeof o.A11yUi!="object"||o.A11yUi===null)&&(o.A11yUi={CSS_STYLE_CACHE:h,HYDRATED_HISTORY:C,STYLING_TASK_QUEUE:c});const K=(e,t)=>{let s=t.match(B);if(Array.isArray(s)){s=s.filter(r=>G.test(r));const a=document.createElement("style");a.innerHTML=`.${e} {${s.join(";")}}`,document.querySelector("head")?.appendChild(a);}v.add(e);},d=(e,t)=>typeof o.A11yUi=="object"&&o.A11yUi!==null&&typeof o.A11yUi.Themes=="object"&&o.A11yUi.Themes!==null&&typeof o.A11yUi.Themes[e]=="object"&&o.A11yUi.Themes[e]!==null&&typeof o.A11yUi.Themes[e][t]=="string"?o.A11yUi.Themes[e][t].replace(/\r?\n/g,""):"",q=e=>{for(const t of Array.from(e.childNodes))if(t instanceof HTMLStyleElement&&t.tagName==="STYLE")e.removeChild(t);else break},F=(e,t)=>{try{const s=[];t.forEach(a=>{const r=new CSSStyleSheet;r.replaceSync(a),s.push(r);}),e.adoptedStyleSheets=s;}catch{t.reverse().forEach(s=>{const a=document.createElement("style");a.innerHTML=s,e.insertBefore(a,e.firstChild);});}},Q=(e,t,s)=>{if(s!==!1){const a=[...Array.from(e.childNodes).filter(n=>n instanceof HTMLStyleElement&&n.tagName==="STYLE")];let r;try{r=[...Array.from(e.adoptedStyleSheets)];}catch{r=[];}s?.mode==="before"?(a.reverse().forEach(n=>t.unshift(n.innerHTML)),r.reverse().forEach(n=>t.unshift(Array.from(n.cssRules).map(i=>i.cssText).join("")))):s?.mode==="after"&&(a.forEach(n=>t.push(n.innerHTML)),r.forEach(n=>t.push(Array.from(n.cssRules).map(i=>i.cssText).join(""))));}},L=(e,t,s)=>{const a=t.name||"default";let r;try{if(e.shadowRoot===null)throw new Error("ShadowRoot is null");r=e.shadowRoot;}catch{r=e;}if(h.get(a)?.has(e.tagName))M(e,r,h.get(a)?.get(e.tagName),s);else {const n=d(a,"PROPERTIES"),i=d(a,"GLOBAL"),H=d(a,e.tagName);v.has(a)===!1&&K(a,i);const m=[n,i,H];Q(r,m,t.encroachCss),t.loglevel==="debug"&&console.log(e.tagName,m),t.cache===!0&&(h.has(a)===!1&&h.set(a,new Map),h.get(a)?.set(e.tagName,m)),M(e,r,m,s);}},M=(e,t,s,a)=>{q(t),F(t,s),e.style.display=a;},$=e=>{e.loglevel==="debug"&&C.push({timestamp:Date.now(),numberOfTasks:c.size});},W=e=>{c.delete(e);},O=(e,t)=>{W(e),$(t);},X=e=>{for(const t of e)if(c.has(t.target)&&t.target.classList.contains("hydrated")){const{styleDisplay:s,themeDetails:a}=c.get(t.target);L(t.target,a,s),O(t.target,a);}};let f;try{f=new MutationObserver(X);}catch{f=null;}class te{constructor(t,s,a){this.createTheme=(r,n)=>P(r,n),this.createTranslation=(r,n)=>N(r,n),this.Prefix=t,this.Key=Object.getOwnPropertyNames(s),this.Tag=Object.getOwnPropertyNames(a);}}
303
303
 
304
304
  var KeyEnum = /* @__PURE__ */ ((KeyEnum2) => {
305
305
  KeyEnum2[KeyEnum2["error"] = 0] = "error";
@@ -383,7 +383,7 @@ var TagEnum = /* @__PURE__ */ ((TagEnum2) => {
383
383
  return TagEnum2;
384
384
  })(TagEnum || {});
385
385
 
386
- const KoliBri = new Theme("kol", KeyEnum, TagEnum);
386
+ const KoliBri = new te("kol", KeyEnum, TagEnum);
387
387
 
388
388
  const BAMF = KoliBri.createTheme("bamf", {});
389
389
 
@@ -411,7 +411,7 @@ const DESYv1 = KoliBri.createTheme("desy-v1", {
411
411
  --spacing: 0.25em;
412
412
  }
413
413
  :host {
414
- color: var(--color-black);
414
+ background-color: transparent; /* Reset global background-color defined by components */
415
415
  }
416
416
  :host * {
417
417
  box-sizing: border-box;
@@ -1590,7 +1590,7 @@ const DESYv1 = KoliBri.createTheme("desy-v1", {
1590
1590
  border-color: var(--border-default);
1591
1591
  background-color: var(--background-light-grey);
1592
1592
  }
1593
- :host fieldset #error {
1593
+ kol-alert.error {
1594
1594
  order: 3;
1595
1595
  }
1596
1596
  :host fieldset legend {
@@ -1600,7 +1600,7 @@ const DESYv1 = KoliBri.createTheme("desy-v1", {
1600
1600
  :host fieldset kol-input {
1601
1601
  order: 2;
1602
1602
  }
1603
- :host fieldset kol-alert#error {
1603
+ kol-alert.error {
1604
1604
  padding-left: 0.5em;
1605
1605
  color: var(--color-warning);
1606
1606
  }
@@ -3250,7 +3250,7 @@ const DESYv2 = KoliBri.createTheme("desy-v2", {
3250
3250
  --spacing: 0.25em;
3251
3251
  }
3252
3252
  :host {
3253
- color: var(--color-black);
3253
+ background-color: transparent; /* Reset global background-color defined by components */
3254
3254
  }
3255
3255
  :host * {
3256
3256
  box-sizing: border-box;
@@ -4344,10 +4344,10 @@ const DESYv2 = KoliBri.createTheme("desy-v2", {
4344
4344
  height: 1.25em;
4345
4345
  left: 2px;
4346
4346
  }
4347
- &:has(input:checked) .icon {
4347
+ &.checked .icon {
4348
4348
  transform: translate(2em, -50%);
4349
4349
  }
4350
- &:has(input:indeterminate) .icon {
4350
+ &.indeterminate .icon {
4351
4351
  transform: translate(1em, -50%);
4352
4352
  }
4353
4353
  }
@@ -4442,7 +4442,7 @@ const DESYv2 = KoliBri.createTheme("desy-v2", {
4442
4442
  border-color: var(--border-default);
4443
4443
  background-color: var(--background-light-grey);
4444
4444
  }
4445
- :host fieldset #error {
4445
+ kol-alert.error {
4446
4446
  order: 3;
4447
4447
  }
4448
4448
  :host fieldset legend {
@@ -4452,7 +4452,7 @@ const DESYv2 = KoliBri.createTheme("desy-v2", {
4452
4452
  :host fieldset kol-input {
4453
4453
  order: 2;
4454
4454
  }
4455
- :host fieldset kol-alert#error {
4455
+ kol-alert.error {
4456
4456
  padding-left: 0.5em;
4457
4457
  color: var(--color-warning);
4458
4458
  }
@@ -8795,6 +8795,7 @@ const BMF = KoliBri.createTheme("bmf", {
8795
8795
  --spacing: 0.25em;
8796
8796
  }
8797
8797
  :host {
8798
+ background-color: transparent; /* Reset global background-color defined by components */
8798
8799
  font-family: var(--font-family); /* font-size: var(--font-size); */
8799
8800
  }
8800
8801
  * {
@@ -8845,7 +8846,7 @@ const BMF = KoliBri.createTheme("bmf", {
8845
8846
  }
8846
8847
  kol-tooltip-wc .tooltip-area {
8847
8848
  background-color: var(--color-white);
8848
- color: var(--color-metal);
8849
+ color: var(--color-black);
8849
8850
  }
8850
8851
  kol-tooltip-wc .tooltip-content {
8851
8852
  border-radius: var(--border-radius);
@@ -8905,6 +8906,12 @@ const BMF = KoliBri.createTheme("bmf", {
8905
8906
  border-color: var(--color-red);
8906
8907
  color: var(--color-white);
8907
8908
  }
8909
+ .success :is(a, button) > kol-span-wc,
8910
+ .success :is(a, button):disabled:hover > kol-span-wc {
8911
+ background-color: var(--color-green);
8912
+ border-color: var(--color-green);
8913
+ color: var(--color-white);
8914
+ }
8908
8915
  .ghost :is(a, button) > kol-span-wc,
8909
8916
  .ghost :is(a, button):disabled:hover > kol-span-wc {
8910
8917
  border-color: var(--color-white);
@@ -8920,6 +8927,8 @@ const BMF = KoliBri.createTheme("bmf", {
8920
8927
  .normal :is(a, button):hover > kol-span-wc,
8921
8928
  .danger :is(a, button):active > kol-span-wc,
8922
8929
  .danger :is(a, button):hover > kol-span-wc,
8930
+ .success :is(a, button):active > kol-span-wc,
8931
+ .success :is(a, button):hover > kol-span-wc,
8923
8932
  .ghost :is(a, button):active > kol-span-wc,
8924
8933
  .ghost :is(a, button):hover > kol-span-wc {
8925
8934
  background-color: var(--color-ocean);
@@ -8940,6 +8949,7 @@ const BMF = KoliBri.createTheme("bmf", {
8940
8949
  .secondary :is(a, button):active > kol-span-wc,
8941
8950
  .normal :is(a, button):active > kol-span-wc,
8942
8951
  .danger :is(a, button):active > kol-span-wc,
8952
+ .success :is(a, button):active > kol-span-wc,
8943
8953
  .ghost :is(a, button):active > kol-span-wc {
8944
8954
  border-color: var(--color-white);
8945
8955
  box-shadow: none;
@@ -8965,6 +8975,14 @@ const BMF = KoliBri.createTheme("bmf", {
8965
8975
  :is(a, button).transparent > kol-span-wc {
8966
8976
  background-color: transparent;
8967
8977
  border-color: transparent;
8978
+ }
8979
+ /** CUSTOM_CLASS */
8980
+ :is(a, button).icon-only > kol-span-wc {
8981
+ padding: 8px;
8982
+ width: unset;
8983
+ }
8984
+ :is(a, button).icon-only > kol-span-wc > span > span {
8985
+ display: block;
8968
8986
  }`,
8969
8987
  "KOL-INPUT-TEXT": `kol-input {
8970
8988
  gap: 0.25em;
@@ -10542,11 +10560,11 @@ const BMF = KoliBri.createTheme("bmf", {
10542
10560
  width: 100%;
10543
10561
  min-height: 44px;
10544
10562
  }
10545
- :host kol-input.default {
10563
+ :host kol-input.default:not(.hide-label) {
10546
10564
  grid-template-columns: 1.5rem auto;
10547
10565
  gap: 0.4em;
10548
10566
  }
10549
- :host kol-input.switch {
10567
+ :host kol-input.switch:not(.hide-label) {
10550
10568
  grid-template-columns: 3.5rem auto;
10551
10569
  gap: 0.4em;
10552
10570
  }
@@ -10595,6 +10613,17 @@ const BMF = KoliBri.createTheme("bmf", {
10595
10613
  line-height: 24px;
10596
10614
  font-size: 1rem;
10597
10615
  }
10616
+ :host kol-input.default .checkbox-container {
10617
+ justify-content: flex-start;
10618
+ }
10619
+ :host kol-input.default input[type='checkbox']:indeterminate {
10620
+ background-color: var(--color-midnight);
10621
+ border-color: var(--color-midnight);
10622
+ }
10623
+ :host kol-input.default .icon {
10624
+ color: var(--color-white);
10625
+ margin: -0.125rem 0 0 0.25rem; /* visually align */
10626
+ }
10598
10627
  :host input:hover {
10599
10628
  border-color: var(--color-midnight);
10600
10629
  box-shadow: 0px 2px 8px 2px rgba(8, 35, 48, 0.24);
@@ -10634,42 +10663,17 @@ const BMF = KoliBri.createTheme("bmf", {
10634
10663
  min-width: calc(6 * var(--spacing));
10635
10664
  width: calc(6 * var(--spacing));
10636
10665
  }
10637
- :host kol-input.default input[type="checkbox"]:before {
10638
- border-radius: 1.5em;
10639
- background-color: transparent;
10640
- display: block;
10641
- height: calc(6 * var(--spacing));
10642
- position: relative;
10643
- width: calc(6 * var(--spacing));
10644
- }
10645
- :host kol-input.default input[type="checkbox"]:checked:before {
10646
- border-right-width: 3px;
10647
- border-bottom-width: 3px;
10648
- left: calc(1.5 * var(--spacing) - 2px);
10649
- top: calc(2.85 * var(--spacing) - 2px);
10650
- transform: rotate(40deg) translate(-50%, -50%);
10651
- background-color: transparent;
10652
- border-width: 0px 3px 3px 0px;
10653
- border-color: white;
10654
- border-radius: 1px;
10655
- border-style: solid;
10656
- height: calc(3 * var(--spacing));
10657
- width: calc(1.5 * var(--spacing));
10658
- }
10659
- :host kol-input.default input[type="checkbox"]:indeterminate {
10660
- --tw-bg-opacity: 1;
10661
- background-color: var(--color-midnight);
10662
- }
10663
- :host kol-input.default input[type="checkbox"]:indeterminate:before {
10664
- background-color: var(--color-white);
10665
- height: 0.125rem;
10666
- top: 0.6rem;
10667
- left: 0.25rem;
10668
- width: calc(3 * var(--spacing));
10669
- transform: inherit;
10670
- }
10671
- :host kol-input.default input[type="checkbox"]:checked:indeterminate:before {
10672
- border-width: 0px 1px 1px 0px;
10666
+ .default {
10667
+ .icon::part(icon) {
10668
+ font-family: 'Font Awesome 6 Free';
10669
+ font-weight: 900;
10670
+ }
10671
+ &.checked .icon::part(icon)::before {
10672
+ content: '\\f00c';
10673
+ }
10674
+ &.indeterminate .icon::part(icon)::before {
10675
+ content: '\\f068';
10676
+ }
10673
10677
  }
10674
10678
  :host kol-input.switch input[type="checkbox"] {
10675
10679
  min-width: 3.5em;
@@ -10678,7 +10682,6 @@ const BMF = KoliBri.createTheme("bmf", {
10678
10682
  border-width: 0;
10679
10683
  height: 1.5em;
10680
10684
  border-radius: 1.25em;
10681
- display: inline-block;
10682
10685
  position: relative;
10683
10686
  }
10684
10687
  :host kol-input.switch input[type="checkbox"]:before {
@@ -10714,6 +10717,9 @@ const BMF = KoliBri.createTheme("bmf", {
10714
10717
  transform: translateX(1em);
10715
10718
  }
10716
10719
  .switch {
10720
+ & .checkbox-input-element {
10721
+ display: block;
10722
+ }
10717
10723
  & .icon {
10718
10724
  width: 1.25em;
10719
10725
  height: 1.25em;
@@ -10727,13 +10733,13 @@ const BMF = KoliBri.createTheme("bmf", {
10727
10733
  content: "\\2b";
10728
10734
  }
10729
10735
  }
10730
- &:has(input:checked) .icon {
10736
+ &.checked .icon {
10731
10737
  transform: translate(2em, -50%);
10732
10738
  &::part(icon)::before {
10733
10739
  content: "\\f00c";
10734
10740
  }
10735
10741
  }
10736
- &:has(input:indeterminate) .icon {
10742
+ &.indeterminate .icon {
10737
10743
  transform: translate(1em, -50%);
10738
10744
  &::part(icon)::before {
10739
10745
  content: "\\f068";
@@ -10768,6 +10774,10 @@ const BMF = KoliBri.createTheme("bmf", {
10768
10774
  min-width: 32px;
10769
10775
  place-content: center;
10770
10776
  }
10777
+ :host kol-input.button.hide-label > .input {
10778
+ border-top-right-radius: var(--border-radius);
10779
+ border-bottom-right-radius: var(--border-radius);
10780
+ }
10771
10781
  :host kol-input.button > .input > div {
10772
10782
  display: flex;
10773
10783
  }
@@ -10869,7 +10879,7 @@ const BMF = KoliBri.createTheme("bmf", {
10869
10879
  border-color: var(--border-default);
10870
10880
  background-color: var(--background-light-grey);
10871
10881
  }
10872
- fieldset #error {
10882
+ kol-alert.error {
10873
10883
  order: 1;
10874
10884
  }
10875
10885
  fieldset legend {
@@ -10883,7 +10893,7 @@ const BMF = KoliBri.createTheme("bmf", {
10883
10893
  padding-left: 1em;
10884
10894
  border-left: 3px solid var(--color-red);
10885
10895
  }
10886
- fieldset kol-alert#error {
10896
+ kol-alert.error {
10887
10897
  color: var(--color-red);
10888
10898
  font-weight: 700;
10889
10899
  }
@@ -18516,6 +18526,7 @@ const DEFAULT = KoliBri.createTheme("default", {
18516
18526
  --color-mute-variant: var(--kolibri-color-mute-variant, #bec5c9);
18517
18527
  }
18518
18528
  :host {
18529
+ background-color: transparent; /* Reset global background-color defined by components */
18519
18530
  font-family: var(--font-family);
18520
18531
  font-size: var(--font-size);
18521
18532
  }
@@ -20139,6 +20150,9 @@ const DEFAULT = KoliBri.createTheme("default", {
20139
20150
  :host kol-input.button {
20140
20151
  gap: 0.4rem 0;
20141
20152
  }
20153
+ .checkbox-container {
20154
+ justify-content: flex-start;
20155
+ }
20142
20156
  :host kol-input > div.input {
20143
20157
  display: inherit;
20144
20158
  min-height: var(--a11y-min-size);
@@ -20207,13 +20221,6 @@ const DEFAULT = KoliBri.createTheme("default", {
20207
20221
  cursor: pointer;
20208
20222
  transition: 0.5s;
20209
20223
  }
20210
- :host kol-input input[type='checkbox'].kol-disabled:before {
20211
- cursor: not-allowed;
20212
- }
20213
- :host kol-input input[type='checkbox']:before {
20214
- content: '';
20215
- cursor: pointer;
20216
- }
20217
20224
  :host kol-input input[type='checkbox']:checked {
20218
20225
  background-color: var(--color-primary);
20219
20226
  border-color: var(--color-primary);
@@ -20224,51 +20231,22 @@ const DEFAULT = KoliBri.createTheme("default", {
20224
20231
  min-width: calc(6 * 0.25rem);
20225
20232
  width: calc(6 * 0.25rem);
20226
20233
  }
20227
- :host kol-input.default input[type='checkbox']:before {
20228
- border-radius: 1.5em;
20229
- background-color: transparent;
20230
- display: block;
20231
- height: calc(6 * 0.25rem);
20232
- position: relative;
20233
- width: calc(6 * 0.25rem);
20234
- }
20235
- :host kol-input.default input[type='checkbox']:checked:before {
20236
- border-right-width: 3px;
20237
- border-bottom-width: 3px;
20238
- left: calc(1.5 * 0.25rem - 2px);
20239
- top: calc(2.85 * 0.25rem - 2px);
20240
- transform: rotate(40deg) translate(-50%, -50%);
20241
- background-color: transparent;
20242
- border-width: 0px 3px 3px 0px;
20243
- border-color: white;
20244
- border-radius: 1px;
20245
- border-style: solid;
20246
- height: calc(3 * 0.25rem);
20247
- width: calc(1.5 * 0.25rem);
20248
- }
20249
20234
  :host kol-input.default input[type='checkbox']:indeterminate {
20250
20235
  background-color: var(--color-primary);
20251
20236
  }
20252
- :host kol-input.default input[type='checkbox']:indeterminate:before {
20253
- background-color: var(--color-light);
20254
- height: 0.125rem;
20255
- top: 0.6rem;
20256
- left: 0.25rem;
20257
- width: calc(3 * 0.25rem);
20258
- transform: inherit;
20259
- }
20260
- :host kol-input.default input[type='checkbox']:checked:indeterminate:before {
20261
- border-width: 0px 1px 1px 0px;
20237
+ :host kol-input.default .icon {
20238
+ color: var(--color-light);
20239
+ margin-left: 0.25rem;
20262
20240
  }
20263
20241
  :host kol-input.switch input[type='checkbox'] {
20264
- min-width: 3.5em;
20265
- width: 3.5em;
20266
20242
  background-color: var(--color-subtle);
20243
+ border-radius: 1.25em;
20267
20244
  border-width: 0;
20245
+ display: block;
20268
20246
  height: 1.5em;
20269
- border-radius: 1.25em;
20270
- display: inline-block;
20247
+ min-width: 3.5em;
20271
20248
  position: relative;
20249
+ width: 3.5em;
20272
20250
  }
20273
20251
  :host kol-input.switch input[type='checkbox']:before {
20274
20252
  width: 1.25em;
@@ -20295,11 +20273,11 @@ const DEFAULT = KoliBri.createTheme("default", {
20295
20273
  left: 2px;
20296
20274
  }
20297
20275
 
20298
- &:has(input:checked) .icon {
20276
+ &.checked .icon {
20299
20277
  transform: translate(2em, -50%);
20300
20278
  }
20301
20279
 
20302
- &:has(input:indeterminate) .icon {
20280
+ &.indeterminate .icon {
20303
20281
  transform: translate(1em, -50%);
20304
20282
  }
20305
20283
  }
@@ -20396,7 +20374,7 @@ const DEFAULT = KoliBri.createTheme("default", {
20396
20374
  cursor: not-allowed;
20397
20375
  background-color: var(--color-mute-variant);
20398
20376
  }
20399
- fieldset #error {
20377
+ kol-alert.error {
20400
20378
  order: 1;
20401
20379
  }
20402
20380
  fieldset legend {
@@ -20410,7 +20388,7 @@ const DEFAULT = KoliBri.createTheme("default", {
20410
20388
  padding-left: 1rem;
20411
20389
  border-left: 3px solid var(--color-danger);
20412
20390
  }
20413
- fieldset kol-alert#error {
20391
+ kol-alert.error {
20414
20392
  color: var(--color-danger);
20415
20393
  font-weight: 700;
20416
20394
  }
@@ -20984,6 +20962,7 @@ const ECL_EC = KoliBri.createTheme("ecl-ec", {
20984
20962
  --spacing-2xs: 4px; /* ?! */
20985
20963
  }
20986
20964
  :host {
20965
+ background-color: transparent; /* Reset global background-color defined by components */
20987
20966
  display: inline-block;
20988
20967
  font-family: var(--font-family);
20989
20968
  }
@@ -21477,7 +21456,11 @@ const ECL_EC = KoliBri.createTheme("ecl-ec", {
21477
21456
  background-color: var(--color-blue);
21478
21457
  border-color: var(--color-blue);
21479
21458
  }`,
21480
- "KOL-INPUT-CHECKBOX": `input[type="checkbox"] {
21459
+ "KOL-INPUT-CHECKBOX": `
21460
+ .checkbox-container {
21461
+ justify-content: flex-start;
21462
+ }
21463
+ input[type="checkbox"] {
21481
21464
  background-color: var(--color-white);
21482
21465
  border-width: 2px;
21483
21466
  border-style: solid;
@@ -21505,12 +21488,6 @@ const ECL_EC = KoliBri.createTheme("ecl-ec", {
21505
21488
  background-color: var(--color-blue-130);
21506
21489
  border-color: var(--color-blue-130);
21507
21490
  }
21508
- input[type="checkbox"]:checked::before {
21509
- border-color: var(--color-white);
21510
- }
21511
- input[type="checkbox"]:indeterminate:hover::before {
21512
- background-color: var(--color-blue-130);
21513
- }
21514
21491
  .error input[type="checkbox"] {
21515
21492
  border-color: var(--color-red);
21516
21493
  }
@@ -21525,12 +21502,18 @@ const ECL_EC = KoliBri.createTheme("ecl-ec", {
21525
21502
  background-color: var(--color-red-1xx);
21526
21503
  border-color: var(--color-red-1xx);
21527
21504
  }
21528
- .error input[type="checkbox"]:indeterminate:hover::before {
21529
- background-color: var(--color-red-1xx);
21530
- }
21531
21505
  .error.required label > span::after {
21532
21506
  color: var(--color-red);
21533
21507
  }
21508
+ .default .icon {
21509
+ margin-left: 0.2rem;
21510
+ }
21511
+ .default.checked .icon {
21512
+ color: var(--color-white);
21513
+ }
21514
+ .switch input[type='checkbox'] {
21515
+ display: block;
21516
+ }
21534
21517
  .switch input[type="checkbox"]::before,
21535
21518
  .switch input[type="checkbox"]:indeterminate::before {
21536
21519
  background-color: var(--color-grey-75);
@@ -22522,6 +22505,7 @@ const ECL_EU = KoliBri.createTheme("ecl-eu", {
22522
22505
  --spacing-2xs: 4px; /* ?! */
22523
22506
  }
22524
22507
  :host {
22508
+ background-color: transparent; /* Reset global background-color defined by components */
22525
22509
  display: inline-block;
22526
22510
  font-family: var(--font-family);
22527
22511
  }
@@ -23085,7 +23069,10 @@ const ECL_EU = KoliBri.createTheme("ecl-eu", {
23085
23069
  :host > div > div.content + div.footer {
23086
23070
  border-top: 2px solid var(--color-blue);
23087
23071
  }`,
23088
- "KOL-INPUT-CHECKBOX": `input[type="checkbox"] {
23072
+ "KOL-INPUT-CHECKBOX": `.checkbox-container {
23073
+ justify-content: flex-start;
23074
+ }
23075
+ input[type="checkbox"] {
23089
23076
  background-color: var(--color-white);
23090
23077
  border-width: 2px;
23091
23078
  border-style: solid;
@@ -23113,12 +23100,6 @@ const ECL_EU = KoliBri.createTheme("ecl-eu", {
23113
23100
  background-color: var(--color-blue-130);
23114
23101
  border-color: var(--color-blue-130);
23115
23102
  }
23116
- input[type="checkbox"]:checked::before {
23117
- border-color: var(--color-white);
23118
- }
23119
- input[type="checkbox"]:indeterminate:hover::before {
23120
- background-color: var(--color-blue-130);
23121
- }
23122
23103
  .error input[type="checkbox"] {
23123
23104
  border-color: var(--color-red);
23124
23105
  }
@@ -23133,12 +23114,18 @@ const ECL_EU = KoliBri.createTheme("ecl-eu", {
23133
23114
  background-color: var(--color-red-1xx);
23134
23115
  border-color: var(--color-red-1xx);
23135
23116
  }
23136
- .error input[type="checkbox"]:indeterminate:hover::before {
23137
- background-color: var(--color-red-1xx);
23138
- }
23139
23117
  .error.required label > span::after {
23140
23118
  color: var(--color-red);
23141
23119
  }
23120
+ .default .icon {
23121
+ margin-left: 0.2rem;
23122
+ }
23123
+ .default.checked .icon {
23124
+ color: var(--color-white);
23125
+ }
23126
+ .switch input[type='checkbox'] {
23127
+ display: block;
23128
+ }
23142
23129
  .switch input[type="checkbox"]::before,
23143
23130
  .switch input[type="checkbox"]:indeterminate::before {
23144
23131
  background-color: var(--color-grey-75);
@@ -23955,6 +23942,7 @@ const ITZBund = KoliBri.createTheme("itzbund", {
23955
23942
  --kolibri-spacing: calc(2 * var(--spacing));
23956
23943
  }
23957
23944
  :host {
23945
+ background-color: transparent; /* Reset global background-color defined by components */
23958
23946
  font-family: var(--font-family); /* font-size: var(--font-size); */
23959
23947
  }
23960
23948
  * {
@@ -25219,7 +25207,11 @@ const ITZBund = KoliBri.createTheme("itzbund", {
25219
25207
  border-top-color: var(--color-achat);
25220
25208
  border-top-width: 1px;
25221
25209
  }`,
25222
- "KOL-INPUT-CHECKBOX": `/* ALL INPUT, SELECT, TEXTAREA */
25210
+ "KOL-INPUT-CHECKBOX": `
25211
+ .checkbox-container {
25212
+ justify-content: flex-start;
25213
+ }
25214
+ /* ALL INPUT, SELECT, TEXTAREA */
25223
25215
  label {
25224
25216
  cursor: pointer;
25225
25217
  }
@@ -25279,13 +25271,6 @@ const ITZBund = KoliBri.createTheme("itzbund", {
25279
25271
  cursor: pointer;
25280
25272
  transition: 0.5s;
25281
25273
  }
25282
- input[type="checkbox"].kol-disabled:before {
25283
- cursor: not-allowed;
25284
- }
25285
- input[type="checkbox"]:before {
25286
- content: "";
25287
- cursor: pointer;
25288
- }
25289
25274
  input[type="checkbox"]:checked {
25290
25275
  background-color: var(--color-petrol);
25291
25276
  border-color: var(--color-petrol);
@@ -25296,41 +25281,17 @@ const ITZBund = KoliBri.createTheme("itzbund", {
25296
25281
  min-width: calc(6 * 2 * var(--spacing));
25297
25282
  width: calc(6 * 2 * var(--spacing));
25298
25283
  }
25299
- .default input[type="checkbox"]:before {
25300
- /* border-radius: 0.25em; */
25301
- background-color: transparent;
25302
- display: block;
25303
- height: calc(6 * 2 * var(--spacing));
25304
- position: relative;
25305
- width: calc(6 * 2 * var(--spacing));
25306
- }
25307
- .default input[type="checkbox"]:checked:before {
25308
- border-right-width: 3px;
25309
- border-bottom-width: 3px;
25310
- left: calc(1.5 * 2 * var(--spacing) - 2px);
25311
- top: calc(2.85 * 2 * var(--spacing) - 2px);
25312
- transform: rotate(40deg) translate(-50%, -50%);
25313
- background-color: transparent;
25314
- border-width: 0px 3px 3px 0px;
25315
- border-color: white;
25316
- border-radius: 1px;
25317
- border-style: solid;
25318
- height: calc(3 * 2 * var(--spacing));
25319
- width: calc(1.5 * 2 * var(--spacing));
25284
+ .default .icon {
25285
+ margin-left: 0.25rem;
25320
25286
  }
25321
- .default input[type="checkbox"]:indeterminate:before {
25322
- background-color: var(--kolibri-color-normal);
25323
- height: 0.375rem;
25324
- top: 0.45rem;
25325
- left: 0.15rem;
25326
- width: calc(4 * 2 * var(--spacing));
25287
+ .default.checked .icon {
25288
+ color: var(--color-weiss);
25327
25289
  }
25328
25290
  .switch input[type="checkbox"] {
25329
- /* border-radius: 0.25em; */
25291
+ display: block;
25330
25292
  min-width: 3.2em;
25331
25293
  width: 3.2em;
25332
25294
  height: 1.7em;
25333
- display: inline-block;
25334
25295
  position: relative;
25335
25296
  }
25336
25297
  .switch input[type="checkbox"]:before {
@@ -25360,15 +25321,12 @@ const ITZBund = KoliBri.createTheme("itzbund", {
25360
25321
  transform: translateX(0.75em);
25361
25322
  background-color: var(--color-petrol);
25362
25323
  }
25363
- .switch:has(input:not(:checked), input:indeterminate) .icon {
25324
+ .switch:is(:not(.checked), .indeterminate) .icon {
25364
25325
  color: #fff;
25365
25326
  }
25366
25327
  .disabled {
25367
25328
  opacity: 0.33;
25368
25329
  }
25369
- .default kol-icon {
25370
- display: none;
25371
- }
25372
25330
  kol-input span.hint {
25373
25331
  grid-column: span 2;
25374
25332
  font-style: italic;
@@ -25698,6 +25656,7 @@ const MFM = KoliBri.createTheme("mfm", {
25698
25656
  --spacing: 0.25em;
25699
25657
  }
25700
25658
  :host {
25659
+ background-color: transparent; /* Reset global background-color defined by components */
25701
25660
  font-family: var(--font-family); /* font-size: var(--font-size); */
25702
25661
  }
25703
25662
  * {
@@ -27610,7 +27569,7 @@ const MFM = KoliBri.createTheme("mfm", {
27610
27569
  border-color: var(--border-default);
27611
27570
  background-color: var(--background-light-grey);
27612
27571
  }
27613
- fieldset #error {
27572
+ kol-alert.error {
27614
27573
  order: 1;
27615
27574
  }
27616
27575
  fieldset legend {
@@ -27624,7 +27583,7 @@ const MFM = KoliBri.createTheme("mfm", {
27624
27583
  padding-left: 1em;
27625
27584
  border-left: 3px solid var(--color-red);
27626
27585
  }
27627
- fieldset kol-alert#error {
27586
+ kol-alert.error {
27628
27587
  color: var(--color-red);
27629
27588
  font-weight: 700;
27630
27589
  }
@@ -35280,6 +35239,7 @@ const MAPZ = KoliBri.createTheme("mapz", {
35280
35239
  --font-size: 16px;
35281
35240
  }
35282
35241
  :host {
35242
+ background-color: transparent; /* Reset global background-color defined by components */1
35283
35243
  font-family: var(--font-family); /* font-size: var(--font-size); */
35284
35244
  }
35285
35245
  * {
@@ -36113,6 +36073,9 @@ const MAPZ = KoliBri.createTheme("mapz", {
36113
36073
  content: "*";
36114
36074
  padding-left: 0.125em;
36115
36075
  }
36076
+ .checkbox-container {
36077
+ justify-content: flex-start;
36078
+ }
36116
36079
  input:hover {
36117
36080
  border-color: var(--kolibri-color-primary);
36118
36081
  } /* NEU */
@@ -36153,13 +36116,6 @@ const MAPZ = KoliBri.createTheme("mapz", {
36153
36116
  cursor: pointer;
36154
36117
  transition: 0.5s;
36155
36118
  }
36156
- input[type="checkbox"].kol-disabled:before {
36157
- cursor: not-allowed;
36158
- }
36159
- input[type="checkbox"]:before {
36160
- content: "";
36161
- cursor: pointer;
36162
- }
36163
36119
  input[type="checkbox"]:checked {
36164
36120
  background-color: var(--kolibri-color-primary);
36165
36121
  border-color: var(--kolibri-color-primary);
@@ -36170,41 +36126,21 @@ const MAPZ = KoliBri.createTheme("mapz", {
36170
36126
  min-width: calc(6 * var(--kolibri-spacing));
36171
36127
  width: calc(6 * var(--kolibri-spacing));
36172
36128
  }
36173
- .default input[type="checkbox"]:before {
36174
- border-radius: 0.25em;
36175
- background-color: transparent;
36176
- display: block;
36177
- height: calc(6 * var(--kolibri-spacing));
36178
- position: relative;
36179
- width: calc(6 * var(--kolibri-spacing));
36129
+ .default .icon {
36130
+ margin-left: 0.25rem;
36180
36131
  }
36181
- .default input[type="checkbox"]:checked:before {
36182
- border-right-width: 3px;
36183
- border-bottom-width: 3px;
36184
- left: calc(1.5 * var(--kolibri-spacing) - 2px);
36185
- top: calc(2.85 * var(--kolibri-spacing) - 2px);
36186
- transform: rotate(40deg) translate(-50%, -50%);
36187
- background-color: transparent;
36188
- border-width: 0px 3px 3px 0px;
36189
- border-color: white;
36190
- border-radius: 1px;
36191
- border-style: solid;
36192
- height: calc(3 * var(--kolibri-spacing));
36193
- width: calc(1.5 * var(--kolibri-spacing));
36132
+ .default.checked .icon {
36133
+ color: #fff;
36194
36134
  }
36195
- .default input[type="checkbox"]:indeterminate:before {
36196
- background-color: var(--kolibri-color-normal);
36197
- height: 0.375rem;
36198
- top: 0.45rem;
36199
- left: 0.15rem;
36200
- width: calc(4 * var(--kolibri-spacing));
36135
+ .default.indeterminate .icon {
36136
+ color: var(--kolibri-color-normal);
36201
36137
  }
36202
36138
  .switch input[type="checkbox"] {
36139
+ display: block;
36203
36140
  min-width: 3.2em;
36204
36141
  width: 3.2em;
36205
36142
  height: 1.7em;
36206
36143
  border-radius: 0.25em;
36207
- display: inline-block;
36208
36144
  position: relative;
36209
36145
  }
36210
36146
  .switch input[type="checkbox"]:before {
@@ -36234,7 +36170,7 @@ const MAPZ = KoliBri.createTheme("mapz", {
36234
36170
  transform: translateX(0.75em);
36235
36171
  background-color: var(--kolibri-color-primary);
36236
36172
  }
36237
- .switch:has(input:not(:checked), input:indeterminate) .icon {
36173
+ .switch:is(.checked, .indeterminate) .icon {
36238
36174
  color: #fff;
36239
36175
  }
36240
36176
  .disabled {
@@ -36314,7 +36250,7 @@ const MAPZ = KoliBri.createTheme("mapz", {
36314
36250
  box-shadow: 0 0 0.1rem black;
36315
36251
  background-color: var(--kolibri-color-primary);
36316
36252
  }
36317
- fieldset #error {
36253
+ kol-alert.error {
36318
36254
  margin: 0.4em 0;
36319
36255
  order: 3;
36320
36256
  }
@@ -52851,6 +52787,7 @@ const css = (input) => input.join(``);
52851
52787
  const ZOLLv2 = KoliBri.createTheme("zoll-v2", {
52852
52788
  GLOBAL: css`
52853
52789
  :host {
52790
+ background-color: transparent; /* Reset global background-color defined by components */
52854
52791
  --border-color: var(--color-neutral);
52855
52792
  --border-radius: 0.25rem;
52856
52793
  --box-shadow: rgba(0, 0, 0, 0.12) 0 12px 12px -4px, rgba(0, 0, 0, 0.04) 0 4px 4px -4px;
@@ -53667,12 +53604,16 @@ const ZOLLv2 = KoliBri.createTheme("zoll-v2", {
53667
53604
  :host {
53668
53605
  --spacing: 0.25rem;
53669
53606
  }
53607
+
53608
+ .checkbox-container {
53609
+ justify-content: flex-start;
53610
+ }
53670
53611
  input {
53671
53612
  border-color: var(--color-neutral-dark);
53672
53613
  border-width: 2px;
53673
53614
  border-style: solid;
53674
53615
  }
53675
- label {
53616
+ .input-label {
53676
53617
  padding-left: 0.75rem;
53677
53618
  }
53678
53619
  kol-input:not(.disabled):hover label,
@@ -53685,10 +53626,6 @@ const ZOLLv2 = KoliBri.createTheme("zoll-v2", {
53685
53626
  :host kol-input:not(.disabled) :is(.input, label) {
53686
53627
  cursor: pointer;
53687
53628
  }
53688
- :host kol-input.disabled :is(.input, label),
53689
- :host kol-input.disabled input[type='checkbox']::before {
53690
- cursor: not-allowed;
53691
- }
53692
53629
  .required label > span::after {
53693
53630
  content: '*';
53694
53631
  padding-left: 0.125em;
@@ -53732,9 +53669,6 @@ const ZOLLv2 = KoliBri.createTheme("zoll-v2", {
53732
53669
  background-color: white;
53733
53670
  transition: 0.5s;
53734
53671
  }
53735
- input[type='checkbox']:before {
53736
- content: '';
53737
- }
53738
53672
  input[type='checkbox']:checked,
53739
53673
  input[type='checkbox']:indeterminate {
53740
53674
  background-color: var(--color-blau);
@@ -53746,44 +53680,19 @@ const ZOLLv2 = KoliBri.createTheme("zoll-v2", {
53746
53680
  min-width: calc(6 * var(--spacing));
53747
53681
  width: calc(6 * var(--spacing));
53748
53682
  }
53749
- .default input[type='checkbox']:before {
53750
- border-radius: 0.25em;
53751
- background-color: transparent;
53752
- display: block;
53753
- height: calc(6 * var(--spacing));
53754
- position: relative;
53755
- width: calc(6 * var(--spacing));
53756
- }
53757
- .default input[type='checkbox']:checked:before {
53758
- border-right-width: 3px;
53759
- border-bottom-width: 3px;
53760
- left: calc(1.5 * var(--spacing) - 2px);
53761
- top: calc(2.85 * var(--spacing) - 2px);
53762
- transform: rotate(40deg) translate(-50%, -50%);
53763
- background-color: transparent;
53764
- border-width: 0px 3px 3px 0px;
53765
- border-color: white;
53766
- border-radius: 1px;
53767
- border-style: solid;
53768
- height: calc(3 * var(--spacing));
53769
- width: calc(1.5 * var(--spacing));
53770
- }
53771
53683
  .default input[type='checkbox']:indeterminate {
53772
53684
  background-color: var(--color-blau);
53773
53685
  }
53774
- .default input[type='checkbox']:indeterminate:before {
53775
- background-color: white;
53776
- height: 0.25rem;
53777
- top: 0.5rem;
53778
- left: 0.25rem;
53779
- width: 0.75rem;
53686
+ .default .icon {
53687
+ color: #fff;
53688
+ margin-left: 0.25rem;
53780
53689
  }
53781
53690
  .switch input[type='checkbox'] {
53691
+ display: block;
53782
53692
  min-width: 3.2em;
53783
53693
  width: 3.2em;
53784
53694
  height: 1.7em;
53785
53695
  border-radius: 0.25em;
53786
- display: inline-block;
53787
53696
  position: relative;
53788
53697
  }
53789
53698
  .switch input[type='checkbox']:before {
@@ -53816,7 +53725,7 @@ const ZOLLv2 = KoliBri.createTheme("zoll-v2", {
53816
53725
  transform: translateX(0.75em);
53817
53726
  background-color: white;
53818
53727
  }
53819
- .switch:has(input:not(:checked, :indeterminate)) .icon {
53728
+ .switch:not(.checked):not(.indeterminate) .icon {
53820
53729
  color: #fff;
53821
53730
  }
53822
53731
  .disabled {
@@ -53844,12 +53753,13 @@ const ZOLLv2 = KoliBri.createTheme("zoll-v2", {
53844
53753
  border-width: 2px;
53845
53754
  border-style: solid;
53846
53755
  }
53847
- kol-input:has(input:disabled) input,
53848
- kol-input:has(input:disabled) label {
53756
+
53757
+ kol-input.disabled input,
53758
+ kol-input.disabled label {
53849
53759
  cursor: not-allowed !important;
53850
53760
  opacity: 0.5;
53851
53761
  }
53852
- kol-input:hover:has(input:not(:disabled)) label,
53762
+ kol-input:hover:not(.disabled) label,
53853
53763
  kol-input:focus-within {
53854
53764
  text-decoration: underline;
53855
53765
  }
@@ -53904,7 +53814,7 @@ const ZOLLv2 = KoliBri.createTheme("zoll-v2", {
53904
53814
  box-shadow: 0 0 0.1rem black;
53905
53815
  background-color: var(--color-blau);
53906
53816
  }
53907
- fieldset #error {
53817
+ kol-alert.error {
53908
53818
  margin: 0.4em 0;
53909
53819
  order: 3;
53910
53820
  }