+ {Object.values(state).map(item => {
+ const labelId = `checkbox-list-label-${item?.label}`;
+
+ return (
+
+
+ dispatch({
+ type: 'checkCategory',
+ payload: item.label,
+ })
+ }
+ >
+
+
+
+
+ {item.options?.length ? (
+ handleOpen(event, item.label)} />
+ ) : (
+ handleOpen(event, item.label)} />
+ )}
+
+
+
+ {Object.values(item.options).map(option => (
+
+ dispatch({
+ type: 'checkOption',
+ payload: {
+ subCategoryLabel: item.label,
+ optionLabel: option.label,
+ },
+ })
+ }
+ >
+
+
+
+
+
+ ))}
+
+
+
+ );
+ })}
+
+ );
+};
diff --git a/packages/core/src/components/CheckboxTree/index.tsx b/packages/core/src/components/CheckboxTree/index.tsx
new file mode 100644
index 0000000000..d8e62460ab
--- /dev/null
+++ b/packages/core/src/components/CheckboxTree/index.tsx
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2020 Spotify AB
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+export { CheckboxTree } from './CheckboxTree';