sanity-plugin-taxonomy-manager 2.0.3 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # Sanity Taxonomy Manager Plugin
2
+
2
3
  ![NPM Version](https://img.shields.io/npm/v/sanity-plugin-taxonomy-manager?style=flat-square)
3
4
  ![License](https://img.shields.io/npm/l/sanity-plugin-taxonomy-manager?style=flat-square)
4
5
 
@@ -7,9 +8,9 @@
7
8
  > This is a **Sanity Studio v3** plugin.
8
9
  > For the v2 version, please refer to the [v2-branch](https://github.com/andybywire/sanity-plugin-taxonomy-manager/tree/studio-v2).
9
10
 
10
- Taxonomies are crucial tools for organization and interoperability between and across data sets. Taxonomy Manager provides a way for content authors to create, use, and maintain standards compliant taxonomies in Sanity Studio.
11
+ Taxonomies are crucial tools for organization and interoperability between and across data sets. Taxonomy Manager provides a way for content authors to create, use, and maintain standards compliant taxonomies in Sanity Studio.
11
12
 
12
- The Taxonomy Manager document schema is based on the [World Wide Web Consortium](https://www.w3.org/) (W3C) [Simple Knowledge Organization Scheme](https://www.w3.org/TR/skos-reference/) (SKOS) recommendation. Concept and concept scheme editor tools include standard SKOS properties, hints for creating consistent concepts and vocabularies, and validation functions for preventing consistency errors.
13
+ The Taxonomy Manager document schema is based on the [World Wide Web Consortium](https://www.w3.org/) (W3C) [Simple Knowledge Organization Scheme](https://www.w3.org/TR/skos-reference/) (SKOS) recommendation. Concept and concept scheme editor tools include standard SKOS properties, hints for creating consistent concepts and vocabularies, and validation functions for preventing consistency errors.
13
14
 
14
15
  <img src="https://user-images.githubusercontent.com/3710835/212743871-14760a60-0689-4cc3-a13e-55dd7a4ef19a.png" width="700">
15
16
 
@@ -27,16 +28,17 @@ Install using the [Sanity CLI](https://www.sanity.io/docs/cli).
27
28
  ```bash
28
29
  $ npm i sanity-plugin-taxonomy-manager
29
30
  ```
31
+
30
32
  ## Configuration
31
33
 
32
- Add the plugin to your project configuration to make the skosConcept and skosConceptScheme document types available in your studio.
34
+ Add the plugin to your project configuration to make the skosConcept and skosConceptScheme document types available in your studio.
33
35
 
34
36
  ```js
35
37
  // sanity.config.js
36
38
 
37
39
  import {defineConfig} from 'sanity'
38
40
  import {deskTool} from 'sanity/desk'
39
- import {structure} from "./deskStructure"
41
+ import {structure} from './deskStructure'
40
42
  import {taxonomyManager} from 'sanity-plugin-taxonomy-manager'
41
43
  import {schemaTypes} from './schemas'
42
44
 
@@ -47,22 +49,22 @@ export default defineConfig({
47
49
  dataset: 'production',
48
50
  plugins: [
49
51
  deskTool({
50
- structure
51
- }),
52
+ structure,
53
+ }),
52
54
  // Include the taxonomy manager plugin
53
- taxonomyManager()
55
+ taxonomyManager(),
54
56
  ],
55
57
  schema: {
56
58
  types: schemaTypes,
57
59
  },
58
- });
60
+ })
59
61
  ```
60
62
 
61
63
  Use [Structure Builder](https://www.sanity.io/docs/structure-builder-reference) to create a separate area for your taxonomy tools and add the provided Concept Scheme Tree View component.
62
64
 
63
65
  ```js
64
66
  // ./deskStructure.js
65
- import {TreeView} from 'sanity-plugin-taxonomy-manager'
67
+ import {TreeView} from 'sanity-plugin-taxonomy-manager'
66
68
 
67
69
  export const structure = (S) =>
68
70
  S.list()
@@ -74,17 +76,14 @@ export const structure = (S) =>
74
76
  .child(
75
77
  S.documentTypeList('skosConceptScheme')
76
78
  .title('Concept Schemes')
77
- .child(id =>
79
+ .child((id) =>
78
80
  S.document()
79
81
  .schemaType('skosConceptScheme')
80
82
  .documentId(id)
81
- .views([
82
- S.view.component(TreeView).title('Tree View'),
83
- S.view.form()
84
- ])
83
+ .views([S.view.component(TreeView).title('Tree View'), S.view.form()])
85
84
  )
86
- ),
87
- S.documentTypeListItem("skosConcept").title("Concepts"),
85
+ ),
86
+ S.documentTypeListItem('skosConcept').title('Concepts'),
88
87
  S.divider(),
89
88
 
90
89
  // Remove Taxonomy Manager types from the default document type list
@@ -92,33 +91,35 @@ export const structure = (S) =>
92
91
  (listItem) => !['skosConcept', 'skosConceptScheme'].includes(listItem.getId())
93
92
  ),
94
93
  ])
95
- ```
94
+ ```
96
95
 
97
96
  ## Usage
98
97
 
99
98
  1. Create a [Concept Scheme](https://www.w3.org/TR/skos-reference/#schemes) to group related concepts
100
- 1. Create and describe Top Concepts. Top concepts represent the broadest concepts of a particular hierarchy and provide efficient access points to broader/narrower concept hierarchies
101
99
  1. Create and describe Concepts.
102
- - All fields _except_ PrefLabel are optional, and are to be used as best fits the needs of your information modeling task.
103
- - All Concept fields map to elements of the machine readable data model described in the [W3C SKOS Recommendation](https://www.w3.org/TR/skos-reference/).
100
+ - All fields _except_ Preferred Label and Base IRI are optional, and are to be used as best fits the needs of your information modeling task.
101
+ - Preferred Label is the preferred lexical label for a resource in a given language. In the current version of Taxonomy Manager, the Preferred Label is automatically used as the final segment for a concept's unique identifier (its URI).
102
+ - Base IRI is the root IRI (Internationalized Resource Identifier) used to create unique concept identifiers. Unique identifiers allow for the clear an unambiguous identification of concepts across namespaces, for example between https://shipparts.com/vocab#Bow and https://wrappingsupplies.com/vocab#Bow. In the plugin, previously used Base IRI values are pre-populated for new concepts. For a wider introduction to concept identifiers, see [Cool URIs for the Semantic Web](https://www.w3.org/TR/cooluris/).
103
+ - Concepts may optionally be added to a Concept Scheme as Top Concepts, to represent the broadest concepts of a particular hierarchy and provide efficient access points to broader/narrower concept hierarchies
104
+ - All Concept fields map to elements of the machine readable data model described in the [W3C SKOS Recommendation](https://www.w3.org/TR/skos-reference/).
104
105
  1. Tag resources with concepts and then integrate into search indexing, filtering, navigation, and semantic web services.
105
106
 
106
107
  ### Semantic Relationships
107
108
 
108
- The concept editor includes filtering and validation to help you create consistent SKOS vocabularies:
109
+ The concept editor includes filtering and validation to help you create consistent SKOS vocabularies:
109
110
 
110
111
  **SKOS Broader and Related Concepts**
111
- Adding the same concept to Broader and Related fields is not allowed, and the editor validates disjunction of Related concepts with Broader Transitive up to five hierarchical levels in either direction.
112
+ Adding the same concept to Broader and Related fields is not allowed, and the editor validates disjunction of Related concepts with Broader Transitive up to five hierarchical levels in either direction.
112
113
 
113
114
  **Preferred, Alternative, and Hidden Labels**
114
- Preferred Labels are validated for uniqueness across concepts, and Preferred, Alternative, and Hidden are validated to prevent duplicates and overlap.
115
+ Preferred Labels are validated for uniqueness across concepts, and Preferred, Alternative, and Hidden are validated to prevent duplicates and overlap.
115
116
 
116
117
  **Scope Notes, Definition, and Examples**
117
118
  Standard optional SKOS documentation fields are included by default.
118
119
 
119
120
  **Support for Single or Multiple Taxonomy Schemes (or none)**
120
121
  For cases where more than one taxonomy is needed, multiple [SKOS Concept Schemes](https://www.w3.org/TR/skos-reference/#schemes) are supported. Schemes can be used to configure filtered views of concepts in Sanity Structure Builder and can be used to scope values for reference arrays.
121
-
122
+
122
123
  <!-- Concept Scheme views show a hierarchical list (Tree View) of the concepts included in a given scheme. This list allows for easy visualization of Top Concepts, polyhierarchy (concepts that appear in more than one place in the hierarchy), and "Orphan" terms (top level concepts not denoted as a "Top Concept"). -->
123
124
 
124
125
  ## SKOS Overview
package/lib/index.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+
3
+ import {Plugin as Plugin_2} from 'sanity'
4
+
5
+ export declare const taxonomyManager: Plugin_2<void>
6
+
7
+ export declare const TreeView: ({documentId}: {documentId: string}) => JSX.Element
8
+
9
+ export {}
package/lib/index.esm.js CHANGED
@@ -1 +1,9 @@
1
- import{useFormValue as e,defineType as t,defineField as i,defineArrayMember as n,useClient as o,definePlugin as r}from"sanity";import{jsxs as a,jsx as s,Fragment as l}from"react/jsx-runtime";import{AiFillTags as c,AiFillTag as d}from"react-icons/ai";import{Stack as p,Text as h,Flex as u,Spinner as m,Inline as f,Container as b,Box as y}from"@sanity/ui";import{RiNodeTree as v}from"react-icons/ri";import{useState as g,useEffect as C}from"react";var _=t({name:"skosConcept",title:"Concept",type:"document",icon:c,initialValue:async(e,t)=>{var i;const{getClient:n}=t,o=n({apiVersion:"2021-03-25"});return{baseIri:null!=(i=await o.fetch("\n *[_type == 'skosConcept' && defined(baseIri)]| order(_createdAt desc)[0].baseIri\n "))?i:void 0,broader:[],related:[]}},groups:[{name:"label",title:"Labels",default:!0},{name:"relationship",title:"Relationships"},{name:"note",title:"Documentation"}],fields:[i({name:"prefLabel",title:"Preferred Label",group:"label",type:"string",description:"The preferred lexical label for this concept. This label is also used to unambiguously represent this concept via the concept IRI.",components:{input:function(t){var i;const n=e(["baseIri"]);return a(p,{space:2,children:[t.renderDefault(t),s(h,{muted:!0,size:1,onResize:void 0,onResizeCapture:void 0,children:a(l,{children:[s("strong",{children:"Concept IRI: "}),n||"[base URI not defined] ",null==(i=t.value)?void 0:i.replaceAll(" ","")]})})]})}},validation:e=>e.required().custom(((e,t)=>{const{getClient:i}=t;return i({apiVersion:"2022-12-14"}).fetch('*[_type == "skosConcept" && prefLabel == "'.concat(e,'" && !(_id in path("drafts.**"))][0]._id')).then((e=>{var i;return!e||e===(null==(i=t.document)?void 0:i._id.replace("drafts.",""))||"Preferred Label must be unique."}))}))}),i({name:"baseIri",title:"Base IRI",type:"url",group:"label",validation:e=>e.required().error("Please supply a base IRI."),description:"The W3C encourages the use of HTTP URIs when minting concept URIs since they are resolvable to representations that can be accessed using standard Web technologies.",options:{collapsible:!0}}),i({name:"conceptIriBase",title:"Edit the base IRI",type:"baseIri",group:"label"}),i({name:"altLabel",title:"Alternate Label(s)",group:"label",type:"array",description:"Alternative labels can be used to assign synonyms, near-synonyms, abbreviations, and acronyms to a concept. Preferred, alternative, and hidden label sets must not overlap.",of:[{type:"string"}],validation:e=>e.unique()}),i({name:"hiddenLabel",title:"Hidden Label(s)",group:"label",type:"array",description:"Hidden labels are for character strings that need to be accessible to applications performing text-based indexing and search operations, but not visible otherwise. Hidden labels may for instance be used to include misspelled variants of other lexical labels. Preferred, alternative, and hidden label sets must not overlap.",of:[{type:"string"}],validation:e=>e.unique()}),i({name:"broader",title:"Broader Concept(s)",description:"Broader relationships create a hierarchy between concepts, for example to create category/subcategory, part/whole, or class/instance relationships.",group:"relationship",type:"array",of:[{type:"reference",to:{type:"skosConcept"},options:{filter:e=>{let{document:t}=e;return{filter:'!(_id in $broader || _id in $related || _id in path("drafts.**") || _id == $self)',params:{self:t._id.replace("drafts.",""),broader:t.broader.map((e=>{let{_ref:t}=e;return t})),related:t.related.map((e=>{let{_ref:t}=e;return t}))}}}}}]}),i({name:"related",title:"Related Concept(s)",description:'Associative links between concepts indicate that the two are inherently "related", but that one is not in any way more general than the other. Broader and Associated relationships are mutually exclusive.',group:"relationship",type:"array",of:[{type:"reference",to:[{type:"skosConcept"}]}]}),i({name:"scopeNote",title:"Scope Note",type:"text",description:"A brief statement on the intended meaning of this concept, especially as an indication of how the use of the concept is limited in indexing practice",rows:3,group:"note"}),i({name:"definition",title:"Definition",type:"text",description:"A complete explanation of the intended meaning of the concept",rows:3,group:"note"}),i({name:"example",title:"Examples",type:"text",description:"An example of the use of the concept.",rows:3,group:"note"}),i({name:"topConcept",title:"Top Concept",group:"relationship",type:"boolean",description:a(l,{children:['NOTE: Top Concepts are determined at the Concept Scheme for version 2 of this plugin. Please migrate this value accordingly. This field will be removed in future versions of this plugin. To hide it in the meantime, set Top Concept to "false."',s("br",{}),s("br",{}),"Description: Top concepts provide an efficient entry point to broader/narrower concept hierarchies and/or top level facets. By convention, resources can be a Top Concept, or have Broader relationships, but not both."]}),hidden:e=>{let{document:t}=e;return!(null==t?void 0:t.topConcept)}}),i({name:"scheme",title:"Concept Scheme(s)",group:"relationship",type:"reference",hidden:e=>{let{document:t}=e;return!(null==t?void 0:t.scheme)},description:a(l,{children:["NOTE: Concept Scheme inclusion is are determined from the Concept Scheme for version 2 of this plugin. Please migrate this value accordingly. This field will be removed in future versions of this plugin. To hide it in the meantime, unset this value (delete it).",s("br",{}),s("br",{}),"Description: Concept schemes are used to group concepts into defined sets, such as thesauri, classification schemes, or facets."]}),to:[{type:"skosConceptScheme"}],options:{disableNew:!0}})],orderings:[{title:"Top Concepts",name:"topConcept",by:[{field:"topConcept",direction:"desc"},{field:"prefLabel",direction:"asc"}]},{title:"Preferred Label",name:"prefLabel",by:[{field:"prefLabel",direction:"asc"}]}],preview:{select:{title:"prefLabel",broader0:"broader.0.prefLabel",broader1:"broader.1.prefLabel",broader2:"broader.2.prefLabel"},prepare(e){let{title:t,broader0:i,broader1:n,broader2:o}=e;const r=[i,n].filter(Boolean).join(", ")+(Boolean(o)?" ...":"");return{title:t,subtitle:i?"in "+r:r,media:d}}}}),R=t({name:"skosConceptScheme",title:"Concept Scheme",type:"document",icon:v,fields:[i({name:"title",title:"Title",type:"string",description:"Taxonomy schemes group concepts into defined sets, such as thesauri, classification schemes, or facets. Concepts may belong on many (or no) concept schemes, and you may create as many (or few) concept schemes as you like"}),i({name:"description",title:"Description",type:"text",rows:5,description:"Describe the intended use of this scheme."}),i({name:"topConcepts",title:"Top Concepts",type:"array",validation:e=>e.unique(),of:[n({type:"reference",to:[{type:"skosConcept"}]})],options:{sortable:!1}}),i({name:"concepts",title:"Concepts",type:"array",validation:e=>e.unique(),of:[n({type:"reference",to:[{type:"skosConcept"}]})],options:{sortable:!1}})],preview:{select:{title:"title"},prepare(e){let{title:t}=e;return{title:t,media:v}}}}),T=t({name:"baseIri",title:"Base IRI",type:"object",description:"NOTE: conceptIriBase.iriValue is deprecated in version 2 of this plugin. Please migrate this value to the baseIri field above. This field will be removed in future versions of this plugin. To hide it in the meantime, unset this value (delete it).",hidden:e=>{let{document:t}=e;var i;return!(null==(i=null==t?void 0:t.conceptIriBase)?void 0:i.iriValue)},fields:[i({name:"iriValue",title:"IRI Value",type:"url",description:"Description: The W3C encourages the use of HTTP URIs when minting concept URIs since they are resolvable to representations that can be accessed using standard Web technologies."})],options:{collapsible:!0,collapsed:!1}});const I=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return e>6?"":'"childConcepts": *[_id in coalesce(*[_id == \'drafts.\' + $id][0], *[_id == $id][0]).concepts[]._ref && ^._id in broader[]._ref ]|order(prefLabel){\n "id": _id,\n "level": '.concat(e,",\n prefLabel,\n ").concat(I(e+1),"\n }")},z=e=>{let{concepts:t}=e;return s("ul",{style:{listStyle:"none"},children:t.map((e=>{var t;return a("li",{style:{fontWeight:"normal",marginTop:".75rem"},children:[e.prefLabel,(null==(t=e.childConcepts)?void 0:t.length)>0&&s(z,{concepts:e.childConcepts})]},e.id)}))})},L=e=>{let{document:t,documentId:i}=e;const n=o({apiVersion:"2021-10-21"}),[r,l]=g([]),[c,d]=g(!0),[p,b]=g(!1),[y,v]=g(!1);return C((()=>{if(void 0===t.displayed._id)return;if(!(i===t.displayed._id.replace(/^drafts\./,"")))return void console.log("document not loaded yet.");(async()=>{d(!0),b(!1),v(!1);try{const e=await n.fetch('coalesce(*[_id == \'drafts.\' + $id][0], *[_id == $id][0]) {\n "topConcepts":topConcepts[]->|order(prefLabel){\n "id": _id,\n "level": 0,\n prefLabel,\n '.concat(I(),"\n },\n \"orphans\": *[\n // filter to concepts in this scheme only:\n _id in coalesce(*[_id == 'drafts.' + $id][0], *[_id == $id][0]).concepts[]._ref // filter to concepts in this scheme only\n // filter out concepts that reference a topConcept in this scheme as a broader term:\n && count((broader[]._ref) [@ in coalesce(*[_id == 'drafts.' + $id][0], *[_id == $id][0]).topConcepts[]._ref]) < 1\n // filter out concepts that reference other concepts in this scheme as a broader term:\n && count((broader[]._ref) [@ in coalesce(*[_id == 'drafts.' + $id][0], *[_id == $id][0]).concepts[]._ref]) < 1\n ]|order(prefLabel){\n \"id\": _id,\n \"level\": 0,\n prefLabel,\n ").concat(I(),"\n }\n }"),{id:i});null==e.topConcepts&&e.orphans.length<1?b(!0):(d(!1),l(e))}catch(e){console.log("Error: ",e),v(!0)}d(!1)})()}),[i,t.displayed._id,t.displayed.concepts,t.displayed.topConcepts]),1==y?s("p",{children:"Sorry, could not get concepts."}):1==p?s("p",{children:"This scheme does not yet have any concepts assigned to it."}):c?a(u,{align:"center",direction:"column",gap:5,height:"fill",justify:"center",style:{paddingTop:"1rem"},onResize:void 0,onResizeCapture:void 0,children:[s(m,{muted:!0,onResize:void 0,onResizeCapture:void 0}),s(h,{muted:!0,size:1,onResize:void 0,onResizeCapture:void 0,children:"Loading hierarchy…"})]}):a("ul",{style:{listStyle:"none",paddingLeft:"0",marginTop:"1rem"},children:[r.topConcepts&&r.topConcepts.map((e=>{if(null==e?void 0:e.id)return a("li",{style:{paddingTop:".5rem",fontWeight:"bold",marginTop:".75rem"},children:[a(f,{space:2,onResize:void 0,onResizeCapture:void 0,children:[null==e?void 0:e.prefLabel,s(h,{size:1,muted:!0,onResize:void 0,onResizeCapture:void 0,children:"top concept"})]}),(null==e?void 0:e.childConcepts)&&e.childConcepts.length>0&&s(z,{concepts:e.childConcepts})]},e.id)})),r.orphans.map((e=>{var t;return a("li",{style:{paddingTop:".5rem",fontWeight:"normal",marginTop:".75rem"},children:[a(f,{space:2,onResize:void 0,onResizeCapture:void 0,children:[null==e?void 0:e.prefLabel,(null==(t=r.topConcept)?void 0:t.length)>0&&s(h,{size:1,muted:!0,onResize:void 0,onResizeCapture:void 0,children:"orphan"})]}),(null==e?void 0:e.childConcepts)&&e.childConcepts.length>0&&s(z,{concepts:e.childConcepts})]},e.id)}))]})},w=e=>{let{document:t,documentId:i}=e;return s(b,{width:1,style:{paddingTop:"1.25rem"},onResize:void 0,onResizeCapture:void 0,children:s(y,{padding:4,onResize:void 0,onResizeCapture:void 0,children:a(p,{space:2,children:[s(h,{size:1,weight:"semibold",onResize:void 0,onResizeCapture:void 0,children:"Hierarchy Tree"}),s(h,{size:1,muted:!0,onResize:void 0,onResizeCapture:void 0,children:"Concept hierarchy is determined by 'Broader' relationships assigned to each concept."}),s(L,{document:t,documentId:i})]})})})},x=r({name:"taxonomyManager",schema:{types:[_,R,T]}});export{w as TreeView,x as taxonomyManager};//# sourceMappingURL=index.esm.js.map
1
+ var e,t,r,n;function o(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}import{useFormValue as i,defineType as a,defineField as s,defineArrayMember as c,definePlugin as l}from"sanity";import{jsxs as d,jsx as p,Fragment as u}from"react/jsx-runtime";import{AiFillTags as f,AiFillTag as h}from"react-icons/ai";import{Stack as m,Text as y,Inline as g,Flex as b,Spinner as v,Container as w,Box as C}from"@sanity/ui";import{RiNodeTree as S}from"react-icons/ri";import{useListeningQuery as k}from"sanity-plugin-utils";import A,{useRef as x,useDebugValue as _,useContext as E,createElement as I}from"react";var P=a({name:"skosConcept",title:"Concept",type:"document",icon:f,initialValue:async(e,t)=>{var r;const{getClient:n}=t,o=n({apiVersion:"2021-03-25"});return{baseIri:null!=(r=await o.fetch("\n *[_type == 'skosConcept' && defined(baseIri)]| order(_createdAt desc)[0].baseIri\n "))?r:void 0,broader:[],related:[]}},groups:[{name:"label",title:"Labels",default:!0},{name:"relationship",title:"Relationships"},{name:"note",title:"Documentation"}],fields:[s({name:"prefLabel",title:"Preferred Label",group:"label",type:"string",description:"The preferred lexical label for this concept. This label is also used to unambiguously represent this concept via the concept IRI.",components:{input:function(e){var t;const r=i(["baseIri"]);return d(m,{space:2,children:[e.renderDefault(e),p(y,{muted:!0,size:1,onResize:void 0,onResizeCapture:void 0,children:d(u,{children:[p("strong",{children:"Concept IRI: "}),r||"[base URI not defined] ",null==(t=e.value)?void 0:t.replaceAll(" ","")]})})]})}},validation:e=>e.required().custom(((e,t)=>{const{getClient:r}=t;return r({apiVersion:"2022-12-14"}).fetch('*[_type == "skosConcept" && prefLabel == "'.concat(e,'" && !(_id in path("drafts.**"))][0]._id')).then((e=>{var r;return!e||e===(null==(r=t.document)?void 0:r._id.replace("drafts.",""))||"Preferred Label must be unique."}))}))}),s({name:"baseIri",title:"Base IRI",type:"url",group:"label",validation:e=>e.required().error("Please supply a base IRI in the format http://example.com/"),description:"Base IRI is the root IRI (Internationalized Resource Identifier) used to create unique concept identifiers. Unique identifiers allow for the clear an unambiguous identification of concepts across namespaces, for example between https://shipparts.com/vocab#Bow and https://wrappingsupplies.com/vocab#Bow. ",options:{collapsible:!0}}),s({name:"conceptIriBase",title:"Edit the base IRI",type:"baseIri",group:"label"}),s({name:"altLabel",title:"Alternate Label(s)",group:"label",type:"array",description:"Alternative labels can be used to assign synonyms, near-synonyms, abbreviations, and acronyms to a concept. Preferred, alternative, and hidden label sets must not overlap.",of:[{type:"string"}],validation:e=>e.unique()}),s({name:"hiddenLabel",title:"Hidden Label(s)",group:"label",type:"array",description:"Hidden labels are for character strings that need to be accessible to applications performing text-based indexing and search operations, but not visible otherwise. Hidden labels may for instance be used to include misspelled variants of other lexical labels. Preferred, alternative, and hidden label sets must not overlap.",of:[{type:"string"}],validation:e=>e.unique()}),s({name:"broader",title:"Broader Concept(s)",description:"Broader relationships create a hierarchy between concepts, for example to create category/subcategory, part/whole, or class/instance relationships.",group:"relationship",type:"array",of:[{type:"reference",to:{type:"skosConcept"},options:{filter:e=>{let{document:t}=e;return{filter:'!(_id in $broader || _id in $related || _id in path("drafts.**") || _id == $self)',params:{self:t._id.replace("drafts.",""),broader:t.broader.map((e=>{let{_ref:t}=e;return t})),related:t.related.map((e=>{let{_ref:t}=e;return t}))}}}}}]}),s({name:"related",title:"Related Concept(s)",description:'Associative links between concepts indicate that the two are inherently "related", but that one is not in any way more general than the other. Broader and Associated relationships are mutually exclusive.',group:"relationship",type:"array",of:[{type:"reference",to:[{type:"skosConcept"}]}]}),s({name:"scopeNote",title:"Scope Note",type:"text",description:"A brief statement on the intended meaning of this concept, especially as an indication of how the use of the concept is limited in indexing practice",rows:3,group:"note"}),s({name:"definition",title:"Definition",type:"text",description:"A complete explanation of the intended meaning of the concept",rows:3,group:"note"}),s({name:"example",title:"Examples",type:"text",description:"An example of the use of the concept.",rows:3,group:"note"}),s({name:"topConcept",title:"Top Concept",group:"relationship",type:"boolean",description:d(u,{children:['NOTE: Top Concepts are determined at the Concept Scheme for version 2 of this plugin. Please migrate this value accordingly. This field will be removed in future versions of this plugin. To hide it in the meantime, set Top Concept to "false."',p("br",{}),p("br",{}),"Description: Top concepts provide an efficient entry point to broader/narrower concept hierarchies and/or top level facets. By convention, resources can be a Top Concept, or have Broader relationships, but not both."]}),hidden:e=>{let{document:t}=e;return!(null==t?void 0:t.topConcept)}}),s({name:"scheme",title:"Concept Scheme(s)",group:"relationship",type:"reference",hidden:e=>{let{document:t}=e;return!(null==t?void 0:t.scheme)},description:d(u,{children:["NOTE: Concept Scheme inclusion is are determined from the Concept Scheme for version 2 of this plugin. Please migrate this value accordingly. This field will be removed in future versions of this plugin. To hide it in the meantime, unset this value (delete it).",p("br",{}),p("br",{}),"Description: Concept schemes are used to group concepts into defined sets, such as thesauri, classification schemes, or facets."]}),to:[{type:"skosConceptScheme"}],options:{disableNew:!0}})],orderings:[{title:"Top Concepts",name:"topConcept",by:[{field:"topConcept",direction:"desc"},{field:"prefLabel",direction:"asc"}]},{title:"Preferred Label",name:"prefLabel",by:[{field:"prefLabel",direction:"asc"}]}],preview:{select:{title:"prefLabel",broader0:"broader.0.prefLabel",broader1:"broader.1.prefLabel",broader2:"broader.2.prefLabel"},prepare(e){let{title:t,broader0:r,broader1:n,broader2:o}=e;const i=[r,n].filter(Boolean).join(", ")+(o?" ...":"");return{title:t,subtitle:r?"in ".concat(i):i,media:h}}}}),O=a({name:"skosConceptScheme",title:"Concept Scheme",type:"document",icon:S,fields:[s({name:"title",title:"Title",type:"string",description:"Taxonomy schemes group concepts into defined sets, such as thesauri, classification schemes, or facets. Concepts may belong on many (or no) concept schemes, and you may create as many (or few) concept schemes as you like"}),s({name:"description",title:"Description",type:"text",rows:5,description:"Describe the intended use of this scheme."}),s({name:"topConcepts",title:"Top Concepts",type:"array",validation:e=>e.unique(),of:[c({type:"reference",to:[{type:"skosConcept"}]})],options:{sortable:!1}}),s({name:"concepts",title:"Concepts",type:"array",validation:e=>e.unique(),of:[c({type:"reference",to:[{type:"skosConcept"}]})],options:{sortable:!1}})],preview:{select:{title:"title"},prepare(e){let{title:t}=e;return{title:t,media:S}}}}),R=a({name:"baseIri",title:"Base IRI",type:"object",description:"NOTE: conceptIriBase.iriValue is deprecated in version 2 of this plugin. Please migrate this value to the baseIri field above. This field will be removed in future versions of this plugin. To hide it in the meantime, unset this value (delete it).",hidden:e=>{let{document:t}=e;var r;return!(null==(r=null==t?void 0:t.conceptIriBase)?void 0:r.iriValue)},fields:[s({name:"iriValue",title:"IRI Value",type:"url",description:"Description: The W3C encourages the use of HTTP URIs when minting concept URIs since they are resolvable to representations that can be accessed using standard Web technologies."})],options:{collapsible:!0,collapsed:!1}});function T(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var N,$={exports:{}},D={};var j,L={};
2
+ /** @license React v16.13.1
3
+ * react-is.development.js
4
+ *
5
+ * Copyright (c) Facebook, Inc. and its affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */"production"===process.env.NODE_ENV?$.exports=function(){if(N)return D;N=1;var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,n=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,a=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,l=e?Symbol.for("react.concurrent_mode"):60111,d=e?Symbol.for("react.forward_ref"):60112,p=e?Symbol.for("react.suspense"):60113,u=e?Symbol.for("react.suspense_list"):60120,f=e?Symbol.for("react.memo"):60115,h=e?Symbol.for("react.lazy"):60116,m=e?Symbol.for("react.block"):60121,y=e?Symbol.for("react.fundamental"):60117,g=e?Symbol.for("react.responder"):60118,b=e?Symbol.for("react.scope"):60119;function v(e){if("object"==typeof e&&null!==e){var u=e.$$typeof;switch(u){case t:switch(e=e.type){case c:case l:case n:case i:case o:case p:return e;default:switch(e=e&&e.$$typeof){case s:case d:case h:case f:case a:return e;default:return u}}case r:return u}}}function w(e){return v(e)===l}return D.AsyncMode=c,D.ConcurrentMode=l,D.ContextConsumer=s,D.ContextProvider=a,D.Element=t,D.ForwardRef=d,D.Fragment=n,D.Lazy=h,D.Memo=f,D.Portal=r,D.Profiler=i,D.StrictMode=o,D.Suspense=p,D.isAsyncMode=function(e){return w(e)||v(e)===c},D.isConcurrentMode=w,D.isContextConsumer=function(e){return v(e)===s},D.isContextProvider=function(e){return v(e)===a},D.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},D.isForwardRef=function(e){return v(e)===d},D.isFragment=function(e){return v(e)===n},D.isLazy=function(e){return v(e)===h},D.isMemo=function(e){return v(e)===f},D.isPortal=function(e){return v(e)===r},D.isProfiler=function(e){return v(e)===i},D.isStrictMode=function(e){return v(e)===o},D.isSuspense=function(e){return v(e)===p},D.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===n||e===l||e===i||e===o||e===p||e===u||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===f||e.$$typeof===a||e.$$typeof===s||e.$$typeof===d||e.$$typeof===y||e.$$typeof===g||e.$$typeof===b||e.$$typeof===m)},D.typeOf=v,D}():$.exports=(j||(j=1,"production"!==process.env.NODE_ENV&&function(){var e="function"==typeof Symbol&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,n=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,i=e?Symbol.for("react.profiler"):60114,a=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,l=e?Symbol.for("react.concurrent_mode"):60111,d=e?Symbol.for("react.forward_ref"):60112,p=e?Symbol.for("react.suspense"):60113,u=e?Symbol.for("react.suspense_list"):60120,f=e?Symbol.for("react.memo"):60115,h=e?Symbol.for("react.lazy"):60116,m=e?Symbol.for("react.block"):60121,y=e?Symbol.for("react.fundamental"):60117,g=e?Symbol.for("react.responder"):60118,b=e?Symbol.for("react.scope"):60119;function v(e){if("object"==typeof e&&null!==e){var u=e.$$typeof;switch(u){case t:var m=e.type;switch(m){case c:case l:case n:case i:case o:case p:return m;default:var y=m&&m.$$typeof;switch(y){case s:case d:case h:case f:case a:return y;default:return u}}case r:return u}}}var w=c,C=l,S=s,k=a,A=t,x=d,_=n,E=h,I=f,P=r,O=i,R=o,T=p,N=!1;function $(e){return v(e)===l}L.AsyncMode=w,L.ConcurrentMode=C,L.ContextConsumer=S,L.ContextProvider=k,L.Element=A,L.ForwardRef=x,L.Fragment=_,L.Lazy=E,L.Memo=I,L.Portal=P,L.Profiler=O,L.StrictMode=R,L.Suspense=T,L.isAsyncMode=function(e){return N||(N=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),$(e)||v(e)===c},L.isConcurrentMode=$,L.isContextConsumer=function(e){return v(e)===s},L.isContextProvider=function(e){return v(e)===a},L.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===t},L.isForwardRef=function(e){return v(e)===d},L.isFragment=function(e){return v(e)===n},L.isLazy=function(e){return v(e)===h},L.isMemo=function(e){return v(e)===f},L.isPortal=function(e){return v(e)===r},L.isProfiler=function(e){return v(e)===i},L.isStrictMode=function(e){return v(e)===o},L.isSuspense=function(e){return v(e)===p},L.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===n||e===l||e===i||e===o||e===p||e===u||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===f||e.$$typeof===a||e.$$typeof===s||e.$$typeof===d||e.$$typeof===y||e.$$typeof===g||e.$$typeof===b||e.$$typeof===m)},L.typeOf=v}()),L);var z=$.exports;function M(e){function t(e,n,c,l,u){for(var f,h,m,y,w,S=0,k=0,A=0,x=0,_=0,T=0,$=m=f=0,j=0,L=0,z=0,M=0,B=c.length,V=B-1,F="",H="",q="",G="";j<B;){if(h=c.charCodeAt(j),j===V&&0!==k+x+A+S&&(0!==k&&(h=47===k?10:47),x=A=S=0,B++,V++),0===k+x+A+S){if(j===V&&(0<L&&(F=F.replace(p,"")),0<F.trim().length)){switch(h){case 32:case 9:case 59:case 13:case 10:break;default:F+=c.charAt(j)}h=59}switch(h){case 123:for(f=(F=F.trim()).charCodeAt(0),m=1,M=++j;j<B;){switch(h=c.charCodeAt(j)){case 123:m++;break;case 125:m--;break;case 47:switch(h=c.charCodeAt(j+1)){case 42:case 47:e:{for($=j+1;$<V;++$)switch(c.charCodeAt($)){case 47:if(42===h&&42===c.charCodeAt($-1)&&j+2!==$){j=$+1;break e}break;case 10:if(47===h){j=$+1;break e}}j=$}}break;case 91:h++;case 40:h++;case 34:case 39:for(;j++<V&&c.charCodeAt(j)!==h;);}if(0===m)break;j++}if(m=c.substring(M,j),0===f&&(f=(F=F.replace(d,"").trim()).charCodeAt(0)),64===f){switch(0<L&&(F=F.replace(p,"")),h=F.charCodeAt(1)){case 100:case 109:case 115:case 45:L=n;break;default:L=R}if(M=(m=t(n,L,m,h,u+1)).length,0<N&&(w=s(3,m,L=r(R,F,z),n,I,E,M,h,u,l),F=L.join(""),void 0!==w&&0===(M=(m=w.trim()).length)&&(h=0,m="")),0<M)switch(h){case 115:F=F.replace(C,a);case 100:case 109:case 45:m=F+"{"+m+"}";break;case 107:m=(F=F.replace(g,"$1 $2"))+"{"+m+"}",m=1===O||2===O&&i("@"+m,3)?"@-webkit-"+m+"@"+m:"@"+m;break;default:m=F+m,112===l&&(H+=m,m="")}else m=""}else m=t(n,r(n,F,z),m,l,u+1);q+=m,m=z=L=$=f=0,F="",h=c.charCodeAt(++j);break;case 125:case 59:if(1<(M=(F=(0<L?F.replace(p,""):F).trim()).length))switch(0===$&&(f=F.charCodeAt(0),45===f||96<f&&123>f)&&(M=(F=F.replace(" ",":")).length),0<N&&void 0!==(w=s(1,F,n,e,I,E,H.length,l,u,l))&&0===(M=(F=w.trim()).length)&&(F="\0\0"),f=F.charCodeAt(0),h=F.charCodeAt(1),f){case 0:break;case 64:if(105===h||99===h){G+=F+c.charAt(j);break}default:58!==F.charCodeAt(M-1)&&(H+=o(F,f,h,F.charCodeAt(2)))}z=L=$=f=0,F="",h=c.charCodeAt(++j)}}switch(h){case 13:case 10:47===k?k=0:0===1+f&&107!==l&&0<F.length&&(L=1,F+="\0"),0<N*D&&s(0,F,n,e,I,E,H.length,l,u,l),E=1,I++;break;case 59:case 125:if(0===k+x+A+S){E++;break}default:switch(E++,y=c.charAt(j),h){case 9:case 32:if(0===x+S+k)switch(_){case 44:case 58:case 9:case 32:y="";break;default:32!==h&&(y=" ")}break;case 0:y="\\0";break;case 12:y="\\f";break;case 11:y="\\v";break;case 38:0===x+k+S&&(L=z=1,y="\f"+y);break;case 108:if(0===x+k+S+P&&0<$)switch(j-$){case 2:112===_&&58===c.charCodeAt(j-3)&&(P=_);case 8:111===T&&(P=T)}break;case 58:0===x+k+S&&($=j);break;case 44:0===k+A+x+S&&(L=1,y+="\r");break;case 34:case 39:0===k&&(x=x===h?0:0===x?h:x);break;case 91:0===x+k+A&&S++;break;case 93:0===x+k+A&&S--;break;case 41:0===x+k+S&&A--;break;case 40:if(0===x+k+S){if(0===f)if(2*_+3*T==533);else f=1;A++}break;case 64:0===k+A+x+S+$+m&&(m=1);break;case 42:case 47:if(!(0<x+S+A))switch(k){case 0:switch(2*h+3*c.charCodeAt(j+1)){case 235:k=47;break;case 220:M=j,k=42}break;case 42:47===h&&42===_&&M+2!==j&&(33===c.charCodeAt(M+2)&&(H+=c.substring(M,j+1)),y="",k=0)}}0===k&&(F+=y)}T=_,_=h,j++}if(0<(M=H.length)){if(L=n,0<N&&(void 0!==(w=s(2,H,L,e,I,E,M,l,u,l))&&0===(H=w).length))return G+H+q;if(H=L.join(",")+"{"+H+"}",0!=O*P){switch(2!==O||i(H,2)||(P=0),P){case 111:H=H.replace(v,":-moz-$1")+H;break;case 112:H=H.replace(b,"::-webkit-input-$1")+H.replace(b,"::-moz-$1")+H.replace(b,":-ms-input-$1")+H}P=0}}return G+H+q}function r(e,t,r){var o=t.trim().split(m);t=o;var i=o.length,a=e.length;switch(a){case 0:case 1:var s=0;for(e=0===a?"":e[0]+" ";s<i;++s)t[s]=n(e,t[s],r).trim();break;default:var c=s=0;for(t=[];s<i;++s)for(var l=0;l<a;++l)t[c++]=n(e[l]+" ",o[s],r).trim()}return t}function n(e,t,r){var n=t.charCodeAt(0);switch(33>n&&(n=(t=t.trim()).charCodeAt(0)),n){case 38:return t.replace(y,"$1"+e.trim());case 58:return e.trim()+t.replace(y,"$1"+e.trim());default:if(0<1*r&&0<t.indexOf("\f"))return t.replace(y,(58===e.charCodeAt(0)?"":"$1")+e.trim())}return e+t}function o(e,t,r,n){var a=e+";",s=2*t+3*r+4*n;if(944===s){e=a.indexOf(":",9)+1;var c=a.substring(e,a.length-1).trim();return c=a.substring(0,e).trim()+c+";",1===O||2===O&&i(c,1)?"-webkit-"+c+c:c}if(0===O||2===O&&!i(a,1))return a;switch(s){case 1015:return 97===a.charCodeAt(10)?"-webkit-"+a+a:a;case 951:return 116===a.charCodeAt(3)?"-webkit-"+a+a:a;case 963:return 110===a.charCodeAt(5)?"-webkit-"+a+a:a;case 1009:if(100!==a.charCodeAt(4))break;case 969:case 942:return"-webkit-"+a+a;case 978:return"-webkit-"+a+"-moz-"+a+a;case 1019:case 983:return"-webkit-"+a+"-moz-"+a+"-ms-"+a+a;case 883:if(45===a.charCodeAt(8))return"-webkit-"+a+a;if(0<a.indexOf("image-set(",11))return a.replace(_,"$1-webkit-$2")+a;break;case 932:if(45===a.charCodeAt(4))switch(a.charCodeAt(5)){case 103:return"-webkit-box-"+a.replace("-grow","")+"-webkit-"+a+"-ms-"+a.replace("grow","positive")+a;case 115:return"-webkit-"+a+"-ms-"+a.replace("shrink","negative")+a;case 98:return"-webkit-"+a+"-ms-"+a.replace("basis","preferred-size")+a}return"-webkit-"+a+"-ms-"+a+a;case 964:return"-webkit-"+a+"-ms-flex-"+a+a;case 1023:if(99!==a.charCodeAt(8))break;return"-webkit-box-pack"+(c=a.substring(a.indexOf(":",15)).replace("flex-","").replace("space-between","justify"))+"-webkit-"+a+"-ms-flex-pack"+c+a;case 1005:return f.test(a)?a.replace(u,":-webkit-")+a.replace(u,":-moz-")+a:a;case 1e3:switch(t=(c=a.substring(13).trim()).indexOf("-")+1,c.charCodeAt(0)+c.charCodeAt(t)){case 226:c=a.replace(w,"tb");break;case 232:c=a.replace(w,"tb-rl");break;case 220:c=a.replace(w,"lr");break;default:return a}return"-webkit-"+a+"-ms-"+c+a;case 1017:if(-1===a.indexOf("sticky",9))break;case 975:switch(t=(a=e).length-10,s=(c=(33===a.charCodeAt(t)?a.substring(0,t):a).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|c.charCodeAt(7))){case 203:if(111>c.charCodeAt(8))break;case 115:a=a.replace(c,"-webkit-"+c)+";"+a;break;case 207:case 102:a=a.replace(c,"-webkit-"+(102<s?"inline-":"")+"box")+";"+a.replace(c,"-webkit-"+c)+";"+a.replace(c,"-ms-"+c+"box")+";"+a}return a+";";case 938:if(45===a.charCodeAt(5))switch(a.charCodeAt(6)){case 105:return c=a.replace("-items",""),"-webkit-"+a+"-webkit-box-"+c+"-ms-flex-"+c+a;case 115:return"-webkit-"+a+"-ms-flex-item-"+a.replace(k,"")+a;default:return"-webkit-"+a+"-ms-flex-line-pack"+a.replace("align-content","").replace(k,"")+a}break;case 973:case 989:if(45!==a.charCodeAt(3)||122===a.charCodeAt(4))break;case 931:case 953:if(!0===x.test(e))return 115===(c=e.substring(e.indexOf(":")+1)).charCodeAt(0)?o(e.replace("stretch","fill-available"),t,r,n).replace(":fill-available",":stretch"):a.replace(c,"-webkit-"+c)+a.replace(c,"-moz-"+c.replace("fill-",""))+a;break;case 962:if(a="-webkit-"+a+(102===a.charCodeAt(5)?"-ms-"+a:"")+a,211===r+n&&105===a.charCodeAt(13)&&0<a.indexOf("transform",10))return a.substring(0,a.indexOf(";",27)+1).replace(h,"$1-webkit-$2")+a}return a}function i(e,t){var r=e.indexOf(1===t?":":"{"),n=e.substring(0,3!==t?r:10);return r=e.substring(r+1,e.length-1),$(2!==t?n:n.replace(A,"$1"),r,t)}function a(e,t){var r=o(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return r!==t+";"?r.replace(S," or ($1)").substring(4):"("+t+")"}function s(e,t,r,n,o,i,a,s,c,d){for(var p,u=0,f=t;u<N;++u)switch(p=T[u].call(l,e,f,r,n,o,i,a,s,c,d)){case void 0:case!1:case!0:case null:break;default:f=p}if(f!==t)return f}function c(e){return void 0!==(e=e.prefix)&&($=null,e?"function"!=typeof e?O=1:(O=2,$=e):O=0),c}function l(e,r){var n=e;if(33>n.charCodeAt(0)&&(n=n.trim()),n=[n],0<N){var o=s(-1,r,n,n,I,E,0,0,0,0);void 0!==o&&"string"==typeof o&&(r=o)}var i=t(R,n,r,0,0);return 0<N&&(void 0!==(o=s(-2,i,n,n,I,E,i.length,0,0,0))&&(i=o)),"",P=0,E=I=1,i}var d=/^\0+/g,p=/[\0\r\f]/g,u=/: */g,f=/zoo|gra/,h=/([,: ])(transform)/g,m=/,\r+?/g,y=/([\t\r\n ])*\f?&/g,g=/@(k\w+)\s*(\S*)\s*/,b=/::(place)/g,v=/:(read-only)/g,w=/[svh]\w+-[tblr]{2}/,C=/\(\s*(.*)\s*\)/g,S=/([\s\S]*?);/g,k=/-self|flex-/g,A=/[^]*?(:[rp][el]a[\w-]+)[^]*/,x=/stretch|:\s*\w+\-(?:conte|avail)/,_=/([^-])(image-set\()/,E=1,I=1,P=0,O=1,R=[],T=[],N=0,$=null,D=0;return l.use=function e(t){switch(t){case void 0:case null:N=T.length=0;break;default:if("function"==typeof t)T[N++]=t;else if("object"==typeof t)for(var r=0,n=t.length;r<n;++r)e(t[r]);else D=0|!!t}return e},l.set=c,void 0!==e&&c(e),l}var B={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};function V(e){var t=Object.create(null);return function(r){return void 0===t[r]&&(t[r]=e(r)),t[r]}}var F=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,H=V((function(e){return F.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),q=z,G={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},U={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Y={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},W={};function X(e){return q.isMemo(e)?Y:W[e.$$typeof]||G}W[q.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},W[q.Memo]=Y;var Z=Object.defineProperty,K=Object.getOwnPropertyNames,J=Object.getOwnPropertySymbols,Q=Object.getOwnPropertyDescriptor,ee=Object.getPrototypeOf,te=Object.prototype;var re=function e(t,r,n){if("string"!=typeof r){if(te){var o=ee(r);o&&o!==te&&e(t,o,n)}var i=K(r);J&&(i=i.concat(J(r)));for(var a=X(t),s=X(r),c=0;c<i.length;++c){var l=i[c];if(!(U[l]||n&&n[l]||s&&s[l]||a&&a[l])){var d=Q(r,l);try{Z(t,l,d)}catch(e){}}}}return t},ne=T(re);function oe(){return(oe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var ie=function(e,t){for(var r=[e[0]],n=0,o=t.length;n<o;n+=1)r.push(t[n],e[n+1]);return r},ae=function(e){return null!==e&&"object"==typeof e&&"[object Object]"===(e.toString?e.toString():Object.prototype.toString.call(e))&&!z.typeOf(e)},se=Object.freeze([]),ce=Object.freeze({});function le(e){return"function"==typeof e}function de(e){return"production"!==process.env.NODE_ENV&&"string"==typeof e&&e||e.displayName||e.name||"Component"}function pe(e){return e&&"string"==typeof e.styledComponentId}var ue="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",fe="undefined"!=typeof window&&"HTMLElement"in window,he=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&(void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY?"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:"production"!==process.env.NODE_ENV)),me="production"!==process.env.NODE_ENV?{1:"Cannot create styled-component for component: %s.\n\n",2:"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n",3:"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n",4:"The `StyleSheetManager` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n",5:"The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n",6:"Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n",7:'ThemeProvider: Please return an object from your "theme" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n',8:'ThemeProvider: Please make your "theme" prop an object.\n\n',9:"Missing document `<head>`\n\n",10:"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n",11:"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n",12:"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n",13:"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n",14:'ThemeProvider: "theme" prop is required.\n\n',15:"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n",16:"Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n",17:"CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n"}:{};function ye(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],r=1,n=arguments.length;r<n;r+=1)t.push(r<0||arguments.length<=r?void 0:arguments[r]);return t.forEach((function(t){e=e.replace(/%[a-z]/,t)})),e}function ge(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];throw"production"===process.env.NODE_ENV?new Error("An error occurred. See https://git.io/JUIaE#"+e+" for more information."+(r.length>0?" Args: "+r.join(", "):"")):new Error(ye.apply(void 0,[me[e]].concat(r)).trim())}var be=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,r=0;r<e;r++)t+=this.groupSizes[r];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var r=this.groupSizes,n=r.length,o=n;e>=o;)(o<<=1)<0&&ge(16,""+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(r),this.length=o;for(var i=n;i<o;i++)this.groupSizes[i]=0}for(var a=this.indexOfGroup(e+1),s=0,c=t.length;s<c;s++)this.tag.insertRule(a,t[s])&&(this.groupSizes[e]++,a++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],r=this.indexOfGroup(e),n=r+t;this.groupSizes[e]=0;for(var o=r;o<n;o++)this.tag.deleteRule(r)}},t.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var r=this.groupSizes[e],n=this.indexOfGroup(e),o=n+r,i=n;i<o;i++)t+=this.tag.getRule(i)+"/*!sc*/\n";return t},e}(),ve=new Map,we=new Map,Ce=1,Se=function(e){if(ve.has(e))return ve.get(e);for(;we.has(Ce);)Ce++;var t=Ce++;return"production"!==process.env.NODE_ENV&&((0|t)<0||t>1<<30)&&ge(16,""+t),ve.set(e,t),we.set(t,e),t},ke=function(e){return we.get(e)},Ae=function(e,t){t>=Ce&&(Ce=t+1),ve.set(e,t),we.set(t,e)},xe="style["+ue+'][data-styled-version="5.3.10"]',_e=new RegExp("^"+ue+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),Ee=function(e,t,r){for(var n,o=r.split(","),i=0,a=o.length;i<a;i++)(n=o[i])&&e.registerName(t,n)},Ie=function(e,t){for(var r=(t.textContent||"").split("/*!sc*/\n"),n=[],o=0,i=r.length;o<i;o++){var a=r[o].trim();if(a){var s=a.match(_e);if(s){var c=0|parseInt(s[1],10),l=s[2];0!==c&&(Ae(l,c),Ee(e,l,s[3]),e.getTag().insertRules(c,n)),n.length=0}else n.push(a)}}},Pe=function(e){var t=document.head,r=e||t,n=document.createElement("style"),o=function(e){for(var t=e.childNodes,r=t.length;r>=0;r--){var n=t[r];if(n&&1===n.nodeType&&n.hasAttribute(ue))return n}}(r),i=void 0!==o?o.nextSibling:null;n.setAttribute(ue,"active"),n.setAttribute("data-styled-version","5.3.10");var a="undefined"!=typeof __webpack_nonce__?__webpack_nonce__:null;return a&&n.setAttribute("nonce",a),r.insertBefore(n,i),n},Oe=function(){function e(e){var t=this.element=Pe(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,r=0,n=t.length;r<n;r++){var o=t[r];if(o.ownerNode===e)return o}ge(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&"string"==typeof t.cssText?t.cssText:""},e}(),Re=function(){function e(e){var t=this.element=Pe(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var r=document.createTextNode(t),n=this.nodes[e];return this.element.insertBefore(r,n||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),Te=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),Ne=fe,$e={isServer:!fe,useCSSOMInjection:!he},De=function(){function e(e,t,r){void 0===e&&(e=ce),void 0===t&&(t={}),this.options=oe({},$e,{},e),this.gs=t,this.names=new Map(r),this.server=!!e.isServer,!this.server&&fe&&Ne&&(Ne=!1,function(e){for(var t=document.querySelectorAll(xe),r=0,n=t.length;r<n;r++){var o=t[r];o&&"active"!==o.getAttribute(ue)&&(Ie(e,o),o.parentNode&&o.parentNode.removeChild(o))}}(this))}e.registerId=function(e){return Se(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,r){return void 0===r&&(r=!0),new e(oe({},this.options,{},t),this.gs,r&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(r=(t=this.options).isServer,n=t.useCSSOMInjection,o=t.target,e=r?new Te(o):n?new Oe(o):new Re(o),new be(e)));var e,t,r,n,o},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(Se(e),this.names.has(e))this.names.get(e).add(t);else{var r=new Set;r.add(t),this.names.set(e,r)}},t.insertRules=function(e,t,r){this.registerName(e,t),this.getTag().insertRules(Se(e),r)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(Se(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),r=t.length,n="",o=0;o<r;o++){var i=ke(o);if(void 0!==i){var a=e.names.get(i),s=t.getGroup(o);if(a&&s&&a.size){var c=ue+".g"+o+'[id="'+i+'"]',l="";void 0!==a&&a.forEach((function(e){e.length>0&&(l+=e+",")})),n+=""+s+c+'{content:"'+l+'"}/*!sc*/\n'}}}return n}(this)},e}(),je=/(a)(d)/gi,Le=function(e){return String.fromCharCode(e+(e>25?39:97))};function ze(e){var t,r="";for(t=Math.abs(e);t>52;t=t/52|0)r=Le(t%52)+r;return(Le(t%52)+r).replace(je,"$1-$2")}var Me=function(e,t){for(var r=t.length;r;)e=33*e^t.charCodeAt(--r);return e},Be=function(e){return Me(5381,e)};var Ve=Be("5.3.10"),Fe=function(){function e(e,t,r){this.rules=e,this.staticRulesId="",this.isStatic="production"===process.env.NODE_ENV&&(void 0===r||r.isStatic)&&function(e){for(var t=0;t<e.length;t+=1){var r=e[t];if(le(r)&&!pe(r))return!1}return!0}(e),this.componentId=t,this.baseHash=Me(Ve,t),this.baseStyle=r,De.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,r){var n=this.componentId,o=[];if(this.baseStyle&&o.push(this.baseStyle.generateAndInjectStyles(e,t,r)),this.isStatic&&!r.hash)if(this.staticRulesId&&t.hasNameForId(n,this.staticRulesId))o.push(this.staticRulesId);else{var i=rt(this.rules,e,t,r).join(""),a=ze(Me(this.baseHash,i)>>>0);if(!t.hasNameForId(n,a)){var s=r(i,"."+a,void 0,n);t.insertRules(n,a,s)}o.push(a),this.staticRulesId=a}else{for(var c=this.rules.length,l=Me(this.baseHash,r.hash),d="",p=0;p<c;p++){var u=this.rules[p];if("string"==typeof u)d+=u,"production"!==process.env.NODE_ENV&&(l=Me(l,u+p));else if(u){var f=rt(u,e,t,r),h=Array.isArray(f)?f.join(""):f;l=Me(l,h+p),d+=h}}if(d){var m=ze(l>>>0);if(!t.hasNameForId(n,m)){var y=r(d,"."+m,void 0,n);t.insertRules(n,m,y)}o.push(m)}}return o.join(" ")},e}(),He=/^\s*\/\/.*$/gm,qe=[":","[",".","#"];var Ge=A.createContext(),Ue=A.createContext(),Ye=new De,We=function(e){var t,r,n,o,i=void 0===e?ce:e,a=i.options,s=void 0===a?ce:a,c=i.plugins,l=void 0===c?se:c,d=new M(s),p=[],u=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(r,n,o,i,a,s,c,l,d,p){switch(r){case 1:if(0===d&&64===n.charCodeAt(0))return e(n+";"),"";break;case 2:if(0===l)return n+"/*|*/";break;case 3:switch(l){case 102:case 112:return e(o[0]+n),"";default:return n+(0===p?"/*|*/":"")}case-2:n.split("/*|*/}").forEach(t)}}}((function(e){p.push(e)})),f=function(e,n,i){return 0===n&&-1!==qe.indexOf(i[r.length])||i.match(o)?e:"."+t};function h(e,i,a,s){void 0===s&&(s="&");var c=e.replace(He,""),l=i&&a?a+" "+i+" { "+c+" }":c;return t=s,r=i,n=new RegExp("\\"+r+"\\b","g"),o=new RegExp("(\\"+r+"\\b){2,}"),d(a||!i?"":i,l)}return d.use([].concat(l,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(r)>0&&(o[0]=o[0].replace(n,f))},u,function(e){if(-2===e){var t=p;return p=[],t}}])),h.hash=l.length?l.reduce((function(e,t){return t.name||ge(15),Me(e,t.name)}),5381).toString():"",h}();var Xe=function(){function e(e,t){var r=this;this.inject=function(e,t){void 0===t&&(t=We);var n=r.name+t.hash;e.hasNameForId(r.id,n)||e.insertRules(r.id,n,t(r.rules,n,"@keyframes"))},this.toString=function(){return ge(12,String(r.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=We),this.name+e.hash},e}(),Ze=/([A-Z])/,Ke=/([A-Z])/g,Je=/^ms-/,Qe=function(e){return"-"+e.toLowerCase()};function et(e){return Ze.test(e)?e.replace(Ke,Qe).replace(Je,"-ms-"):e}var tt=function(e){return null==e||!1===e||""===e};function rt(e,t,r,n){if(Array.isArray(e)){for(var o,i=[],a=0,s=e.length;a<s;a+=1)""!==(o=rt(e[a],t,r,n))&&(Array.isArray(o)?i.push.apply(i,o):i.push(o));return i}if(tt(e))return"";if(pe(e))return"."+e.styledComponentId;if(le(e)){if("function"!=typeof(l=e)||l.prototype&&l.prototype.isReactComponent||!t)return e;var c=e(t);return"production"!==process.env.NODE_ENV&&z.isElement(c)&&console.warn(de(e)+" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details."),rt(c,t,r,n)}var l;return e instanceof Xe?r?(e.inject(r,n),e.getName(n)):e:ae(e)?function e(t,r){var n,o,i=[];for(var a in t)t.hasOwnProperty(a)&&!tt(t[a])&&(Array.isArray(t[a])&&t[a].isCss||le(t[a])?i.push(et(a)+":",t[a],";"):ae(t[a])?i.push.apply(i,e(t[a],a)):i.push(et(a)+": "+(n=a,(null==(o=t[a])||"boolean"==typeof o||""===o?"":"number"!=typeof o||0===o||n in B||n.startsWith("--")?String(o).trim():o+"px")+";")));return r?[r+" {"].concat(i,["}"]):i}(e):e.toString()}var nt=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function ot(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return le(e)||ae(e)?nt(rt(ie(se,[e].concat(r)))):0===r.length&&1===e.length&&"string"==typeof e[0]?e:nt(rt(ie(e,r)))}var it=/invalid hook call/i,at=new Set,st=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,ct=/(^-|-$)/g;function lt(e){return e.replace(st,"-").replace(ct,"")}function dt(e){return"string"==typeof e&&("production"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var pt=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},ut=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function ft(e,t,r){var n=e[r];pt(t)&&pt(n)?ht(n,t):e[r]=t}function ht(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];for(var o=0,i=r;o<i.length;o++){var a=i[o];if(pt(a))for(var s in a)ut(s)&&ft(e,a[s],s)}return e}var mt=A.createContext(),yt={};function gt(e,t,r){var n=pe(e),o=!dt(e),i=t.attrs,a=void 0===i?se:i,s=t.componentId,c=void 0===s?function(e,t){var r="string"!=typeof e?"sc":lt(e);yt[r]=(yt[r]||0)+1;var n=r+"-"+function(e){return ze(Be(e)>>>0)}("5.3.10"+r+yt[r]);return t?t+"-"+n:n}(t.displayName,t.parentComponentId):s,l=t.displayName,d=void 0===l?function(e){return dt(e)?"styled."+e:"Styled("+de(e)+")"}(e):l,p=t.displayName&&t.componentId?lt(t.displayName)+"-"+t.componentId:t.componentId||c,u=n&&e.attrs?Array.prototype.concat(e.attrs,a).filter(Boolean):a,f=t.shouldForwardProp;n&&e.shouldForwardProp&&(f=t.shouldForwardProp?function(r,n,o){return e.shouldForwardProp(r,n,o)&&t.shouldForwardProp(r,n,o)}:e.shouldForwardProp);var h,m=new Fe(r,p,n?e.componentStyle:void 0),y=m.isStatic&&0===a.length,g=function(e,t){return function(e,t,r,n){var o=e.attrs,i=e.componentStyle,a=e.defaultProps,s=e.foldedComponentIds,c=e.shouldForwardProp,l=e.styledComponentId,d=e.target;"production"!==process.env.NODE_ENV&&_(l);var p=function(e,t,r){void 0===e&&(e=ce);var n=oe({},t,{theme:e}),o={};return r.forEach((function(e){var t,r,i,a=e;for(t in le(a)&&(a=a(n)),a)n[t]=o[t]="className"===t?(r=o[t],i=a[t],r&&i?r+" "+i:r||i):a[t]})),[n,o]}(function(e,t,r){return void 0===r&&(r=ce),e.theme!==r.theme&&e.theme||t||r.theme}(t,E(mt),a)||ce,t,o),u=p[0],f=p[1],h=function(e,t,r,n){var o=E(Ge)||Ye,i=E(Ue)||We,a=t?e.generateAndInjectStyles(ce,o,i):e.generateAndInjectStyles(r,o,i);return"production"!==process.env.NODE_ENV&&_(a),"production"!==process.env.NODE_ENV&&!t&&n&&n(a),a}(i,n,u,"production"!==process.env.NODE_ENV?e.warnTooManyClasses:void 0),m=r,y=f.$as||t.$as||f.as||t.as||d,g=dt(y),b=f!==t?oe({},t,{},f):t,v={};for(var w in b)"$"!==w[0]&&"as"!==w&&("forwardedAs"===w?v.as=b[w]:(c?c(w,H,y):!g||H(w))&&(v[w]=b[w]));return t.style&&f.style!==t.style&&(v.style=oe({},t.style,{},f.style)),v.className=Array.prototype.concat(s,l,h!==l?h:null,t.className,f.className).filter(Boolean).join(" "),v.ref=m,I(y,v)}(h,e,t,y)};return g.displayName=d,(h=A.forwardRef(g)).attrs=u,h.componentStyle=m,h.displayName=d,h.shouldForwardProp=f,h.foldedComponentIds=n?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):se,h.styledComponentId=p,h.target=n?e.target:e,h.withComponent=function(e){var n=t.componentId,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(t,["componentId"]),i=n&&n+"-"+(dt(e)?e:lt(de(e)));return gt(e,oe({},o,{attrs:u,componentId:i}),r)},Object.defineProperty(h,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=n?ht({},e.defaultProps,t):t}}),"production"!==process.env.NODE_ENV&&(function(e,t){if("production"!==process.env.NODE_ENV){var r="The component "+e+(t?' with the id of "'+t+'"':"")+" has been created dynamically.\nYou may see this warning because you've called styled inside another component.\nTo resolve this only create new StyledComponents outside of any render method and function component.",n=console.error;try{var o=!0;console.error=function(e){if(it.test(e))o=!1,at.delete(r);else{for(var t=arguments.length,i=new Array(t>1?t-1:0),a=1;a<t;a++)i[a-1]=arguments[a];n.apply(void 0,[e].concat(i))}},x(),o&&!at.has(r)&&(console.warn(r),at.add(r))}catch(e){it.test(e.message)&&at.delete(r)}finally{console.error=n}}}(d,p),h.warnTooManyClasses=function(e,t){var r={},n=!1;return function(o){if(!n&&(r[o]=!0,Object.keys(r).length>=200)){var i=t?' with the id of "'+t+'"':"";console.warn("Over 200 classes were generated for component "+e+i+".\nConsider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))`width: 100%;`\n\n <Component />"),n=!0,r={}}}}(d,p)),Object.defineProperty(h,"toString",{value:function(){return"."+h.styledComponentId}}),o&&ne(h,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),h}var bt=function(e){return function e(t,r,n){if(void 0===n&&(n=ce),!z.isValidElementType(r))return ge(1,String(r));var o=function(){return t(r,n,ot.apply(void 0,arguments))};return o.withConfig=function(o){return e(t,r,oe({},n,{},o))},o.attrs=function(o){return e(t,r,oe({},n,{attrs:Array.prototype.concat(n.attrs,o).filter(Boolean)}))},o}(gt,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){bt[e]=bt(e)})),"production"!==process.env.NODE_ENV&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("It looks like you've imported 'styled-components' on React Native.\nPerhaps you're looking to import 'styled-components/native'?\nRead more about this at https://www.styled-components.com/docs/basics#react-native"),"production"!==process.env.NODE_ENV&&"test"!==process.env.NODE_ENV&&"undefined"!=typeof window&&(window["__styled-components-init__"]=window["__styled-components-init__"]||0,1===window["__styled-components-init__"]&&console.warn("It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\n\nSee https://s-c.sh/2BAXzed for more info."),window["__styled-components-init__"]+=1);var vt=bt;const wt=vt.ul(e||(e=o(["\n list-style: none;\n li {\n font-weight: normal;\n margin-top: 0.75rem;\n }\n"]))),Ct=e=>{let{concepts:t}=e;return p(wt,{children:t.map((e=>{var t;return d("li",{children:[e.prefLabel,(null==(t=e.childConcepts)?void 0:t.length)>0&&p(Ct,{concepts:e.childConcepts})]},e.id)}))})},St=vt.li(t||(t=o(["\n padding-top: 0.5rem;\n font-weight: normal;\n margin-top: 0.75rem;\n"]))),kt=e=>{let{concept:t,docConcepts:r}=e;var n;return d(St,{children:[d(g,{space:2,children:[null==t?void 0:t.prefLabel,(null==(n=r.topConcepts)?void 0:n.length)>0&&p(y,{size:1,muted:!0,children:"orphan"})]}),(null==t?void 0:t.childConcepts)&&t.childConcepts.length>0&&p(Ct,{concepts:t.childConcepts})]},t.id)},At=vt.li(r||(r=o(["\n padding-top: 0.5rem;\n font-weight: bold;\n margin-top: 0.75rem;\n"]))),xt=e=>{let{concept:t}=e;return d(At,{children:[d(g,{space:2,children:[null==t?void 0:t.prefLabel,p(y,{size:1,muted:!0,children:"top concept"})]}),(null==t?void 0:t.childConcepts)&&t.childConcepts.length>0&&p(Ct,{concepts:t.childConcepts})]})},_t=vt.ul(n||(n=o(["\n list-style: none;\n padding-left: 0;\n margin-top: 1rem;\n"]))),Et=e=>{let{concepts:t}=e;return null===t.topConcepts&&0===t.orphans.length?p(_t,{children:p("li",{children:"There are no concepts assigned to this scheme."})}):d(_t,{children:[t.topConcepts&&t.topConcepts.map((e=>p(xt,{concept:e},null==e?void 0:e.id))),t.orphans.map((e=>p(kt,{concept:e,docConcepts:t},e.id)))]})},It=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return e>6?"":'"childConcepts": *[_id in coalesce(*[_id == \'drafts.\' + $id][0], *[_id == $id][0]).concepts[]._ref && ^._id in broader[]._ref ]|order(prefLabel){\n "id": _id,\n "level": '.concat(e,",\n prefLabel,\n ").concat(It(e+1),"\n }")},Pt=e=>{let{documentId:t}=e;const{data:r,loading:n,error:o}=k('coalesce(*[_id == \'drafts.\' + $id][0], *[_id == $id][0]) {\n _updatedAt,\n "topConcepts":topConcepts[]->|order(prefLabel){\n "id": _id,\n "level": 0,\n prefLabel,\n '.concat(It(),"\n },\n \"orphans\": *[\n _id in coalesce(*[_id == 'drafts.' + $id][0], *[_id == $id][0]).concepts[]._ref &&\n count((broader[]._ref) [@ in coalesce(*[_id == 'drafts.' + $id][0], *[_id == $id][0]).topConcepts[]._ref]) < 1 &&\n count((broader[]._ref) [@ in coalesce(*[_id == 'drafts.' + $id][0], *[_id == $id][0]).concepts[]._ref]) < 1\n ]|order(prefLabel){\n \"id\": _id,\n \"level\": 0,\n prefLabel,\n ").concat(It(),"\n }\n }"),{params:{id:t}});return n?d(b,{align:"center",direction:"column",gap:5,height:"fill",justify:"center",style:{paddingTop:"1rem"},children:[p(v,{muted:!0}),p(y,{muted:!0,size:1,children:"Loading hierarchy…"})]}):o?d("div",{children:["error: ",o]}):r?p(Et,{concepts:r}):p("div",{children:"No data"})},Ot=e=>{let{documentId:t}=e;return p(w,{width:1,style:{paddingTop:"1.25rem"},children:p(C,{padding:4,children:d(m,{space:2,children:[p(y,{size:1,weight:"semibold",children:"Hierarchy Tree"}),p(y,{size:1,muted:!0,children:"Concept hierarchy is determined by 'Broader' relationships assigned to each concept."}),p(Pt,{documentId:t})]})})})},Rt=l({name:"taxonomyManager",schema:{types:[P,O,R]}});export{Ot as TreeView,Rt as taxonomyManager};//# sourceMappingURL=index.esm.js.map