quirk-ui 0.1.106 → 0.1.107

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.
@@ -1,6 +1,6 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index62.css');const n=require("react/jsx-runtime"),a=require("react"),t=require("../../utils/NoScroll/noScroll.cjs"),y=require("../../../x-Dft9NVe_.cjs"),v=require("../../../createLucideIcon-DpotSgUx.cjs");/**
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index62.css');const n=require("react/jsx-runtime"),a=require("react"),t=require("../../utils/NoScroll/noScroll.cjs"),x=require("../../../x-Dft9NVe_.cjs"),q=require("../../../createLucideIcon-DpotSgUx.cjs");/**
2
2
  * @license lucide-react v0.488.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
5
5
  * See the LICENSE file in the root directory of this source tree.
6
- */const k=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]],j=v.createLucideIcon("panel-left-open",k),N="_aside_1eyx9_1",S="_nav_1eyx9_19",T="_hidden_1eyx9_40",C="_main_1eyx9_45",$="_navTitle_1eyx9_54",q="_visible_1eyx9_67",E="_open_1eyx9_85",O="_parent_1eyx9_97",I="_title_1eyx9_112",L="_children_1eyx9_116",M="_link_1eyx9_120",w="_menuToggle_1eyx9_135",z="_left_1eyx9_161",P="_right_1eyx9_173",l={aside:N,nav:S,hidden:T,main:C,navTitle:$,visible:q,open:E,parent:O,title:I,children:L,link:M,menuToggle:w,left:z,right:P},V={left:l.left,right:l.right};function F({items:d=[],alignment:_="left",title:r,className:u,style:h,...x}){const[s,o]=a.useState(!1),[f,m]=a.useState(!1),p=()=>{o(e=>!e)};a.useEffect(()=>{if(typeof document<"u")return s?setTimeout(()=>{t.lockScroll()},0):t.unlockScroll(),()=>t.unlockScroll()},[s]),a.useEffect(()=>{m(!0)},[]);const c=e=>{e.onClick&&e.onClick(),window.innerWidth<768&&o(!1)};return n.jsxs("aside",{className:`${l.aside} ${V[_]} ${u??""}`.trim(),style:h,...x,children:[n.jsx("button",{className:l.menuToggle,onClick:p,"aria-label":s?"Close menu":"Open menu","aria-expanded":s,"aria-controls":"sidebar-nav",children:s?n.jsx(y.X,{size:24}):n.jsx(j,{size:24})}),n.jsxs("nav",{id:"sidebar-nav",className:`${l.nav} ${s?l.open:""} ${f?l.visible:l.hidden}`.trim(),"aria-label":r||"Sidebar navigation",children:[r&&n.jsx("h2",{className:l.navTitle,children:r}),n.jsx("ul",{className:l.main,role:"menu",children:d.map((e,b)=>n.jsx("li",{className:l.parent,children:e.sublinks&&e.sublinks.length>0?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:l.title,children:e.label}),n.jsx("ul",{className:l.children,role:"menu",children:e.sublinks.map((i,g)=>n.jsx("li",{role:"none",children:n.jsx("a",{href:i.href,className:l.link,target:i.isExternal?"_blank":"_self",rel:i.isExternal?"noopener noreferrer":void 0,onClick:()=>c(i),role:"menuitem",children:i.label})},i._key||g))})]}):n.jsx("a",{href:e.href,className:l.link,target:e.isExternal?"_blank":"_self",rel:e.isExternal?"noopener noreferrer":void 0,onClick:()=>c(e),role:"menuitem",children:e.label})},e._key||b))})]})]})}exports.Sidebar=F;
6
+ */const k=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]],j=q.createLucideIcon("panel-left-open",k),N="_aside_1m3gq_1",S="_nav_1m3gq_19",y="_hidden_1m3gq_40",T="_main_1m3gq_45",C="_navTitle_1m3gq_54",$="_visible_1m3gq_67",E="_open_1m3gq_85",O="_parent_1m3gq_97",I="_title_1m3gq_112",L="_children_1m3gq_117",M="_link_1m3gq_121",w="_menuToggle_1m3gq_136",z="_left_1m3gq_162",P="_right_1m3gq_174",l={aside:N,nav:S,hidden:y,main:T,navTitle:C,visible:$,open:E,parent:O,title:I,children:L,link:M,menuToggle:w,left:z,right:P},V={left:l.left,right:l.right};function F({items:d=[],alignment:_="left",title:r,className:u,style:h,...m}){const[s,o]=a.useState(!1),[g,f]=a.useState(!1),p=()=>{o(e=>!e)};a.useEffect(()=>{if(typeof document<"u")return s?setTimeout(()=>{t.lockScroll()},0):t.unlockScroll(),()=>t.unlockScroll()},[s]),a.useEffect(()=>{f(!0)},[]);const c=e=>{e.onClick&&e.onClick(),window.innerWidth<768&&o(!1)};return n.jsxs("aside",{className:`${l.aside} ${V[_]} ${u??""}`.trim(),style:h,...m,children:[n.jsx("button",{className:l.menuToggle,onClick:p,"aria-label":s?"Close menu":"Open menu","aria-expanded":s,"aria-controls":"sidebar-nav",children:s?n.jsx(x.X,{size:24}):n.jsx(j,{size:24})}),n.jsxs("nav",{id:"sidebar-nav",className:`${l.nav} ${s?l.open:""} ${g?l.visible:l.hidden}`.trim(),"aria-label":r||"Sidebar navigation",children:[r&&n.jsx("h2",{className:l.navTitle,children:r}),n.jsx("ul",{className:l.main,role:"menu",children:d.map((e,b)=>n.jsx("li",{className:l.parent,children:e.sublinks&&e.sublinks.length>0?n.jsxs(n.Fragment,{children:[n.jsx("span",{className:l.title,children:e.label}),n.jsx("ul",{className:l.children,role:"menu",children:e.sublinks.map((i,v)=>n.jsx("li",{role:"none",children:n.jsx("a",{href:i.href,className:l.link,target:i.isExternal?"_blank":"_self",rel:i.isExternal?"noopener noreferrer":void 0,onClick:()=>c(i),role:"menuitem",children:i.label})},i._key||v))})]}):n.jsx("a",{href:e.href,className:l.link,target:e.isExternal?"_blank":"_self",rel:e.isExternal?"noopener noreferrer":void 0,onClick:()=>c(e),role:"menuitem",children:e.label})},e._key||b))})]})]})}exports.Sidebar=F;
@@ -1,29 +1,29 @@
1
- import { jsxs as r, jsx as l, Fragment as k } from "react/jsx-runtime";
1
+ import { jsxs as r, jsx as l, Fragment as N } from "react/jsx-runtime";
2
2
  import { useState as c, useEffect as _ } from "react";
3
- import { lockScroll as N, unlockScroll as d } from "../../utils/NoScroll/noScroll.mjs";
3
+ import { lockScroll as x, unlockScroll as d } from "../../utils/NoScroll/noScroll.mjs";
4
4
  import { X as T } from "../../../x-CnsEH4Ox.js";
5
- import { c as C } from "../../../createLucideIcon-C8GTh_Qx.js";
5
+ import { c as y } from "../../../createLucideIcon-C8GTh_Qx.js";
6
6
  import '../../../index62.css';/**
7
7
  * @license lucide-react v0.488.0 - ISC
8
8
  *
9
9
  * This source code is licensed under the ISC license.
10
10
  * See the LICENSE file in the root directory of this source tree.
11
11
  */
12
- const $ = [
12
+ const C = [
13
13
  ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
14
14
  ["path", { d: "M9 3v18", key: "fh3hqa" }],
15
15
  ["path", { d: "m14 9 3 3-3 3", key: "8010ee" }]
16
- ], E = C("panel-left-open", $), S = "_aside_1eyx9_1", O = "_nav_1eyx9_19", w = "_hidden_1eyx9_40", I = "_main_1eyx9_45", L = "_navTitle_1eyx9_54", M = "_visible_1eyx9_67", j = "_open_1eyx9_85", z = "_parent_1eyx9_97", V = "_title_1eyx9_112", q = "_children_1eyx9_116", F = "_link_1eyx9_120", P = "_menuToggle_1eyx9_135", W = "_left_1eyx9_161", X = "_right_1eyx9_173", n = {
17
- aside: S,
18
- nav: O,
19
- hidden: w,
20
- main: I,
21
- navTitle: L,
22
- visible: M,
23
- open: j,
24
- parent: z,
25
- title: V,
26
- children: q,
16
+ ], $ = y("panel-left-open", C), E = "_aside_1m3gq_1", S = "_nav_1m3gq_19", O = "_hidden_1m3gq_40", w = "_main_1m3gq_45", I = "_navTitle_1m3gq_54", L = "_visible_1m3gq_67", M = "_open_1m3gq_85", j = "_parent_1m3gq_97", z = "_title_1m3gq_112", V = "_children_1m3gq_117", F = "_link_1m3gq_121", P = "_menuToggle_1m3gq_136", W = "_left_1m3gq_162", X = "_right_1m3gq_174", n = {
17
+ aside: E,
18
+ nav: S,
19
+ hidden: O,
20
+ main: w,
21
+ navTitle: I,
22
+ visible: L,
23
+ open: M,
24
+ parent: j,
25
+ title: z,
26
+ children: V,
27
27
  link: F,
28
28
  menuToggle: P,
29
29
  left: W,
@@ -33,23 +33,23 @@ const $ = [
33
33
  right: n.right
34
34
  };
35
35
  function K({
36
- items: h = [],
37
- alignment: f = "left",
36
+ items: m = [],
37
+ alignment: h = "left",
38
38
  title: s,
39
- className: m,
40
- style: p,
41
- ...u
39
+ className: g,
40
+ style: f,
41
+ ...p
42
42
  }) {
43
- const [i, t] = c(!1), [x, g] = c(!1), v = () => {
43
+ const [i, t] = c(!1), [u, v] = c(!1), b = () => {
44
44
  t((e) => !e);
45
45
  };
46
46
  _(() => {
47
47
  if (typeof document < "u")
48
48
  return i ? setTimeout(() => {
49
- N();
49
+ x();
50
50
  }, 0) : d(), () => d();
51
51
  }, [i]), _(() => {
52
- g(!0);
52
+ v(!0);
53
53
  }, []);
54
54
  const o = (e) => {
55
55
  e.onClick && e.onClick(), window.innerWidth < 768 && t(!1);
@@ -57,32 +57,32 @@ function K({
57
57
  return /* @__PURE__ */ r(
58
58
  "aside",
59
59
  {
60
- className: `${n.aside} ${A[f]} ${m ?? ""}`.trim(),
61
- style: p,
62
- ...u,
60
+ className: `${n.aside} ${A[h]} ${g ?? ""}`.trim(),
61
+ style: f,
62
+ ...p,
63
63
  children: [
64
64
  /* @__PURE__ */ l(
65
65
  "button",
66
66
  {
67
67
  className: n.menuToggle,
68
- onClick: v,
68
+ onClick: b,
69
69
  "aria-label": i ? "Close menu" : "Open menu",
70
70
  "aria-expanded": i,
71
71
  "aria-controls": "sidebar-nav",
72
- children: i ? /* @__PURE__ */ l(T, { size: 24 }) : /* @__PURE__ */ l(E, { size: 24 })
72
+ children: i ? /* @__PURE__ */ l(T, { size: 24 }) : /* @__PURE__ */ l($, { size: 24 })
73
73
  }
74
74
  ),
75
75
  /* @__PURE__ */ r(
76
76
  "nav",
77
77
  {
78
78
  id: "sidebar-nav",
79
- className: `${n.nav} ${i ? n.open : ""} ${x ? n.visible : n.hidden}`.trim(),
79
+ className: `${n.nav} ${i ? n.open : ""} ${u ? n.visible : n.hidden}`.trim(),
80
80
  "aria-label": s || "Sidebar navigation",
81
81
  children: [
82
82
  s && /* @__PURE__ */ l("h2", { className: n.navTitle, children: s }),
83
- /* @__PURE__ */ l("ul", { className: n.main, role: "menu", children: h.map((e, y) => /* @__PURE__ */ l("li", { className: n.parent, children: e.sublinks && e.sublinks.length > 0 ? /* @__PURE__ */ r(k, { children: [
83
+ /* @__PURE__ */ l("ul", { className: n.main, role: "menu", children: m.map((e, k) => /* @__PURE__ */ l("li", { className: n.parent, children: e.sublinks && e.sublinks.length > 0 ? /* @__PURE__ */ r(N, { children: [
84
84
  /* @__PURE__ */ l("span", { className: n.title, children: e.label }),
85
- /* @__PURE__ */ l("ul", { className: n.children, role: "menu", children: e.sublinks.map((a, b) => /* @__PURE__ */ l("li", { role: "none", children: /* @__PURE__ */ l(
85
+ /* @__PURE__ */ l("ul", { className: n.children, role: "menu", children: e.sublinks.map((a, q) => /* @__PURE__ */ l("li", { role: "none", children: /* @__PURE__ */ l(
86
86
  "a",
87
87
  {
88
88
  href: a.href,
@@ -93,7 +93,7 @@ function K({
93
93
  role: "menuitem",
94
94
  children: a.label
95
95
  }
96
- ) }, a._key || b)) })
96
+ ) }, a._key || q)) })
97
97
  ] }) : /* @__PURE__ */ l(
98
98
  "a",
99
99
  {
@@ -105,7 +105,7 @@ function K({
105
105
  role: "menuitem",
106
106
  children: e.label
107
107
  }
108
- ) }, e._key || y)) })
108
+ ) }, e._key || k)) })
109
109
  ]
110
110
  }
111
111
  )
package/dist/index62.css CHANGED
@@ -1 +1 @@
1
- ._aside_1eyx9_1{position:sticky;min-width:250px;z-index:1005;height:fit-content;top:0;border-bottom:none}@media (max-width: 767px){._aside_1eyx9_1{min-width:unset;padding:0 var(--spacing-md)}}._aside_1eyx9_1 ul{list-style:none;padding-inline-start:0}._aside_1eyx9_1 ._nav_1eyx9_19{height:100%;min-width:250px;background:rgba(var(--color-backgroundRgb),.9);backdrop-filter:saturate(1.1) blur(1rem);-webkit-backdrop-filter:saturate(1.1) blur(1rem);z-index:1000;position:sticky;top:0;padding:var(--spacing-md);list-style:none;transition:transform .3s ease-in-out,opacity .3s ease-in-out;will-change:transform,opacity;opacity:0}._aside_1eyx9_1 ._nav_1eyx9_19._hidden_1eyx9_40{opacity:0;pointer-events:none}._aside_1eyx9_1 ._nav_1eyx9_19 ul._main_1eyx9_45{padding:var(--spacing-md);height:100%}@media (max-width: 767px){._aside_1eyx9_1 ._nav_1eyx9_19 ul._main_1eyx9_45{padding:var(--spacing-md) 0}}._aside_1eyx9_1 ._nav_1eyx9_19 ._navTitle_1eyx9_54{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-sm) 0;padding:0 var(--spacing-md);color:var(--color-text-primary)}@media (max-width: 767px){._aside_1eyx9_1 ._nav_1eyx9_19 ._navTitle_1eyx9_54{padding:0}}@media (min-width: 768px){._aside_1eyx9_1 ._nav_1eyx9_19._visible_1eyx9_67{opacity:1;pointer-events:auto}}@media (max-width: 767px){._aside_1eyx9_1 ._nav_1eyx9_19{border-radius:0;position:absolute;top:0!important;left:0!important;height:calc(100vh - var(--nav-height) - var(--spacing-sm));width:100%;transform:translate(-100%);opacity:0;pointer-events:none}._aside_1eyx9_1 ._nav_1eyx9_19._open_1eyx9_85{transform:translate(0);opacity:1;pointer-events:auto}._aside_1eyx9_1 ._nav_1eyx9_19:before{border-radius:0}}._aside_1eyx9_1 ._parent_1eyx9_97{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0}._aside_1eyx9_1 ._parent_1eyx9_97:not(:first-of-type){margin-top:var(--spacing-md)}@media (max-width: 767px){._aside_1eyx9_1 ._parent_1eyx9_97{padding:var(--spacing-md) 0}}._aside_1eyx9_1 ._title_1eyx9_112{font-weight:700}._aside_1eyx9_1 ._children_1eyx9_116{padding:0 0 0 var(--spacing-xs)}._aside_1eyx9_1 ._link_1eyx9_120{color:var(--color-text-primary);text-decoration:none;display:block;transition:color .3s ease-in-out;display:flex;align-items:center;gap:var(--spacing-xs)}._aside_1eyx9_1 ._link_1eyx9_120:hover{color:var(--color-primary-100)}._menuToggle_1eyx9_135{padding:var(--spacing-xs);border-radius:var(--radius-md);background:rgba(var(--color-foregroundRgb),.1);-webkit-backdrop-filter:saturate(1.1) blur(1rem);backdrop-filter:saturate(1.1) blur(1rem);border:none;cursor:pointer;display:none;color:var(--color-secondary-100);z-index:1100;position:relative}._menuToggle_1eyx9_135 svg{position:relative;z-index:5}@media (max-width: 767px){._menuToggle_1eyx9_135{display:flex;align-items:center;justify-content:center}}._left_1eyx9_161{left:0;border-right:1px solid var(--color-secondary-10);border-left:none}@media (max-width: 767px){._left_1eyx9_161 ._nav_1eyx9_19{transform:translate(-100%)}}._right_1eyx9_173{right:0;border-left:1px solid var(--color-secondary-10);border-right:none}@media (max-width: 767px){._right_1eyx9_173 ._nav_1eyx9_19{transform:translate(100%)}}
1
+ ._aside_1m3gq_1{position:sticky;min-width:250px;z-index:1005;height:auto;top:0;border-bottom:none}@media (max-width: 767px){._aside_1m3gq_1{min-width:unset;padding:0 var(--spacing-md)}}._aside_1m3gq_1 ul{list-style:none;padding-inline-start:0}._aside_1m3gq_1 ._nav_1m3gq_19{height:100%;background:rgba(var(--color-backgroundRgb),.9);backdrop-filter:saturate(1.1) blur(1rem);-webkit-backdrop-filter:saturate(1.1) blur(1rem);z-index:1000;position:sticky;top:0;padding:var(--spacing-md);list-style:none;transition:transform .3s ease-in-out,opacity .3s ease-in-out;will-change:transform,opacity;opacity:0}._aside_1m3gq_1 ._nav_1m3gq_19._hidden_1m3gq_40{opacity:0;pointer-events:none}._aside_1m3gq_1 ._nav_1m3gq_19 ul._main_1m3gq_45{padding:var(--spacing-md);height:100%}@media (max-width: 767px){._aside_1m3gq_1 ._nav_1m3gq_19 ul._main_1m3gq_45{padding:var(--spacing-md) 0}}._aside_1m3gq_1 ._nav_1m3gq_19 ._navTitle_1m3gq_54{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-sm) 0;padding:0 var(--spacing-md);color:var(--color-text-primary)}@media (max-width: 767px){._aside_1m3gq_1 ._nav_1m3gq_19 ._navTitle_1m3gq_54{padding:0}}@media (min-width: 768px){._aside_1m3gq_1 ._nav_1m3gq_19._visible_1m3gq_67{opacity:1;pointer-events:auto}}@media (max-width: 767px){._aside_1m3gq_1 ._nav_1m3gq_19{border-radius:0;position:absolute;top:0!important;left:0!important;height:calc(100vh - var(--nav-height) - var(--spacing-sm));width:100%;transform:translate(-100%);opacity:0;pointer-events:none}._aside_1m3gq_1 ._nav_1m3gq_19._open_1m3gq_85{transform:translate(0);opacity:1;pointer-events:auto}._aside_1m3gq_1 ._nav_1m3gq_19:before{border-radius:0}}._aside_1m3gq_1 ._parent_1m3gq_97{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0}._aside_1m3gq_1 ._parent_1m3gq_97:not(:first-of-type){margin-top:var(--spacing-md)}@media (max-width: 767px){._aside_1m3gq_1 ._parent_1m3gq_97{padding:var(--spacing-md) 0}}._aside_1m3gq_1 ._title_1m3gq_112{font-weight:700;line-height:var(--line-height-loose)}._aside_1m3gq_1 ._children_1m3gq_117{padding:0 0 0 var(--spacing-xs)}._aside_1m3gq_1 ._link_1m3gq_121{color:var(--color-text-primary);text-decoration:none;display:block;transition:color .3s ease-in-out;display:flex;align-items:center;gap:var(--spacing-xs)}._aside_1m3gq_1 ._link_1m3gq_121:hover{color:var(--color-primary-100)}._menuToggle_1m3gq_136{padding:var(--spacing-xs);border-radius:var(--radius-md);background:rgba(var(--color-foregroundRgb),.1);-webkit-backdrop-filter:saturate(1.1) blur(1rem);backdrop-filter:saturate(1.1) blur(1rem);border:none;cursor:pointer;display:none;color:var(--color-secondary-100);z-index:1100;position:relative}._menuToggle_1m3gq_136 svg{position:relative;z-index:5}@media (max-width: 767px){._menuToggle_1m3gq_136{display:flex;align-items:center;justify-content:center}}._left_1m3gq_162{left:0;border-right:1px solid var(--color-secondary-10);border-left:none}@media (max-width: 767px){._left_1m3gq_162 ._nav_1m3gq_19{transform:translate(-100%)}}._right_1m3gq_174{right:0;border-left:1px solid var(--color-secondary-10);border-right:none}@media (max-width: 767px){._right_1m3gq_174 ._nav_1m3gq_19{transform:translate(100%)}}
@@ -1,18 +1,18 @@
1
1
  declare const styles: {
2
- readonly "_aside_1eyx9_1": string;
3
- readonly "_children_1eyx9_116": string;
4
- readonly "_hidden_1eyx9_40": string;
5
- readonly "_left_1eyx9_161": string;
6
- readonly "_link_1eyx9_120": string;
7
- readonly "_main_1eyx9_45": string;
8
- readonly "_menuToggle_1eyx9_135": string;
9
- readonly "_navTitle_1eyx9_54": string;
10
- readonly "_nav_1eyx9_19": string;
11
- readonly "_open_1eyx9_85": string;
12
- readonly "_parent_1eyx9_97": string;
13
- readonly "_right_1eyx9_173": string;
14
- readonly "_title_1eyx9_112": string;
15
- readonly "_visible_1eyx9_67": string;
2
+ readonly "_aside_1m3gq_1": string;
3
+ readonly "_children_1m3gq_117": string;
4
+ readonly "_hidden_1m3gq_40": string;
5
+ readonly "_left_1m3gq_162": string;
6
+ readonly "_link_1m3gq_121": string;
7
+ readonly "_main_1m3gq_45": string;
8
+ readonly "_menuToggle_1m3gq_136": string;
9
+ readonly "_navTitle_1m3gq_54": string;
10
+ readonly "_nav_1m3gq_19": string;
11
+ readonly "_open_1m3gq_85": string;
12
+ readonly "_parent_1m3gq_97": string;
13
+ readonly "_right_1m3gq_174": string;
14
+ readonly "_title_1m3gq_112": string;
15
+ readonly "_visible_1m3gq_67": string;
16
16
  };
17
17
  export = styles;
18
18
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "quirk-ui",
3
3
  "private": false,
4
- "version": "0.1.106",
4
+ "version": "0.1.107",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {