├── packages
├── docs
│ └── site
│ │ ├── README.md
│ │ ├── src
│ │ ├── routes
│ │ │ ├── compounds
│ │ │ │ ├── mapbox
│ │ │ │ │ ├── index.svelte
│ │ │ │ │ └── empty.svelte
│ │ │ │ ├── viewports
│ │ │ │ │ └── index.svelte
│ │ │ │ ├── time_region_value
│ │ │ │ │ ├── index.svelte
│ │ │ │ │ ├── [id]
│ │ │ │ │ │ ├── index.svelte
│ │ │ │ │ │ └── [year].svelte
│ │ │ │ │ ├── _data
│ │ │ │ │ │ └── stores.js
│ │ │ │ │ └── _layout.svelte
│ │ │ │ └── index.svelte
│ │ │ ├── components
│ │ │ │ ├── _examples
│ │ │ │ │ ├── binsFill_3.json
│ │ │ │ │ ├── binsFill.js
│ │ │ │ │ ├── binsFill_2.js
│ │ │ │ │ ├── trends
│ │ │ │ │ │ └── index.js
│ │ │ │ │ ├── index.js
│ │ │ │ │ ├── utils.js
│ │ │ │ │ └── bins_value_non_uniform.js
│ │ │ │ ├── _utils.js
│ │ │ │ ├── index.json.js
│ │ │ │ └── _components.js
│ │ │ ├── index.svelte
│ │ │ └── _error.svelte
│ │ ├── client.js
│ │ ├── lib
│ │ │ └── components
│ │ │ │ └── Elements.svelte
│ │ ├── server.js
│ │ └── template.html
│ │ ├── .eslintignore
│ │ ├── .gitignore
│ │ ├── static
│ │ ├── favicon.png
│ │ ├── logo-192.png
│ │ ├── logo-512.png
│ │ ├── font
│ │ │ ├── OpenSans-Bold.ttf
│ │ │ ├── OpenSans-Light.ttf
│ │ │ ├── OpenSans-Regular.ttf
│ │ │ ├── AvenirNext
│ │ │ │ └── Variable.ttf
│ │ │ ├── OpenDyslexic
│ │ │ │ ├── Bold.otf
│ │ │ │ ├── Italic.otf
│ │ │ │ ├── Regular.otf
│ │ │ │ └── BoldItalic.otf
│ │ │ ├── OpenSans-SemiBold.ttf
│ │ │ ├── NobotoFlex
│ │ │ │ └── Variable.woff2
│ │ │ └── Archivo
│ │ │ │ ├── VariableFont_wdth,wght.ttf
│ │ │ │ └── Italic-VariableFont_wdth,wght.ttf
│ │ └── manifest.json
│ │ └── .eslintrc.yml
├── tools
│ ├── file
│ │ ├── test_assets
│ │ │ ├── a1.json
│ │ │ ├── b2.json
│ │ │ ├── aDir
│ │ │ │ ├── .foo
│ │ │ │ └── a.txt
│ │ │ ├── multi.json
│ │ │ ├── rows.csv
│ │ │ ├── rows.tsv
│ │ │ ├── rows.txt
│ │ │ ├── a1.js
│ │ │ ├── ab.csv
│ │ │ ├── ab.tsv
│ │ │ ├── ab.txt
│ │ │ ├── a.txt
│ │ │ ├── multi.js
│ │ │ └── a.yaml
│ │ ├── .eslintrc.yml
│ │ ├── src
│ │ │ └── index.js
│ │ └── README.md
│ ├── utils
│ │ └── src
│ │ │ └── modules
│ │ │ ├── any-string.md
│ │ │ ├── any-[any-any].md
│ │ │ ├── any-any.md
│ │ │ ├── array-[any-any].md
│ │ │ ├── iterable-array.md
│ │ │ ├── array-[any-array].md
│ │ │ ├── array-[args-any].md
│ │ │ ├── array-object.md
│ │ │ ├── [any-any]-[array-any].md
│ │ │ ├── any-[iterable-array].md
│ │ │ ├── iterable-any.md
│ │ │ ├── number-[args-any].md
│ │ │ ├── number-[array-array].md
│ │ │ ├── number-[iterable-any].md
│ │ │ ├── object-[object-object].md
│ │ │ ├── string-[any-boolean].md
│ │ │ ├── string-[iterable-array].md
│ │ │ ├── string-[object-any].md
│ │ │ ├── [any-boolean]-[any-boolean].md
│ │ │ ├── any-[iterable-boolean].md
│ │ │ ├── array-[object-array].md
│ │ │ ├── iterable-[function-any].md
│ │ │ ├── regexp-[string-boolean].md
│ │ │ ├── string-[iterable-string].md
│ │ │ ├── array-[any-boolean].md
│ │ │ ├── array-[object-object].md
│ │ │ ├── constructor-[any-boolean].md
│ │ │ ├── number-[iterable-array].md
│ │ │ ├── [object-object]-[object-object].md
│ │ │ ├── itercb[any-any]-[iterable-number].md
│ │ │ ├── itercb[any-any]-[object-object].md
│ │ │ ├── any-boolean.md
│ │ │ ├── array-[iterable-array].md
│ │ │ ├── string-[object-boolean].md
│ │ │ ├── itercb[any-any]-[iterable-object].md
│ │ │ ├── itercb[any-boolean]-[iterable-boolean].md
│ │ │ ├── itercb[any-boolean]-[object-object].md
│ │ │ ├── itercb[any-boolean]-[iterable-any].md
│ │ │ ├── itercb[any-any]-[iterable-array].md
│ │ │ ├── number-[number-number].md
│ │ │ ├── [any-any]-[any-any].md
│ │ │ ├── itercb[any-boolean]-[iterable-number].md
│ │ │ ├── any-[any-boolean].md
│ │ │ ├── object-array.md
│ │ │ ├── numerical-[numerical-boolean].md
│ │ │ ├── array-array.md
│ │ │ ├── itercb[any-boolean]-[iterable-array].md
│ │ │ ├── any-undefined.js
│ │ │ ├── array_proto-string.spec.js
│ │ │ ├── any-string.js
│ │ │ ├── string_proto-array.spec.js
│ │ │ ├── regexp-boolean.js
│ │ │ ├── string-any.js
│ │ │ ├── string-number.js
│ │ │ ├── array_proto-boolean.spec.js
│ │ │ ├── number-[number-number].spec.js
│ │ │ ├── object-[string-boolean].spec.js
│ │ │ ├── array-[number-number].spec.js
│ │ │ ├── any-string.spec.js
│ │ │ ├── any-undefined.spec.js
│ │ │ ├── buffer-any.spec.js
│ │ │ ├── iterable-number.js
│ │ │ ├── number-[number-number].js
│ │ │ ├── string-regexp.spec.js
│ │ │ ├── object-[string-boolean].js
│ │ │ ├── any-[array-object].spec.js
│ │ │ ├── array_proto-string.js
│ │ │ ├── any-[array-object].js
│ │ │ ├── [any-boolean]-[array-array].spec.js
│ │ │ ├── [string-boolean]-[object-boolean].spec.js
│ │ │ ├── [string-string]-[object-object].spec.js
│ │ │ ├── string-number.spec.js
│ │ │ ├── array-[number-boolean].js
│ │ │ ├── string-[array-array].js
│ │ │ ├── array-[number-boolean].spec.js
│ │ │ ├── [string-boolean]-[object-boolean].js
│ │ │ ├── array-[string-boolean].spec.js
│ │ │ ├── array_proto-boolean.js
│ │ │ └── array-[string-boolean].js
│ ├── atlas
│ │ ├── src
│ │ │ ├── index.js
│ │ │ ├── lib
│ │ │ │ ├── urls.js
│ │ │ │ └── nutsUtils.js
│ │ │ ├── bin
│ │ │ │ ├── dist
│ │ │ │ │ └── setup.sh
│ │ │ │ ├── base
│ │ │ │ │ ├── world
│ │ │ │ │ │ └── run.sh
│ │ │ │ │ ├── runAll.sh
│ │ │ │ │ └── NUTS
│ │ │ │ │ │ └── run.sh
│ │ │ │ └── checkVersion.js
│ │ │ └── specs.js
│ │ ├── .gitignore
│ │ ├── data
│ │ │ └── base
│ │ │ │ └── NUTS
│ │ │ │ └── 0
│ │ │ │ └── history
│ │ │ │ ├── source
│ │ │ │ ├── 1995-1999.xls
│ │ │ │ ├── 1999-2003.xls
│ │ │ │ ├── 2003-2006.xls
│ │ │ │ ├── 2006-2010.xls
│ │ │ │ ├── NUTS2021.xlsx
│ │ │ │ ├── NUTS2013-NUTS2016.xlsx
│ │ │ │ └── NUTS 2010 - NUTS 2013.xls
│ │ │ │ ├── README.md
│ │ │ │ └── recoded
│ │ │ │ └── 2016_2021.tsv
│ │ └── README.md
│ ├── dom
│ │ ├── src
│ │ │ └── index.js
│ │ ├── test_assets
│ │ │ ├── 01_input.html
│ │ │ ├── 02_input.html
│ │ │ ├── 01_expected.html
│ │ │ └── 02_expected.html
│ │ └── README.md
│ ├── request
│ │ ├── src
│ │ │ ├── index.js
│ │ │ ├── fetchManager
│ │ │ │ └── rxUtils.js
│ │ │ ├── json.spec.js
│ │ │ └── json.js
│ │ └── README.md
│ ├── geo
│ │ ├── src
│ │ │ └── index.js
│ │ └── README.md
│ ├── geometry
│ │ ├── src
│ │ │ ├── index.js
│ │ │ ├── 3DPoint.spec.js
│ │ │ └── 3DPoint.js
│ │ └── README.md
│ └── dev
│ │ ├── README.md
│ │ └── src
│ │ ├── index.js
│ │ └── log
│ │ └── iterable-array.js
└── components
│ ├── ui
│ ├── src
│ │ ├── utils
│ │ │ ├── shared.js
│ │ │ ├── url.js
│ │ │ ├── env.js
│ │ │ └── rx.js
│ │ ├── icons
│ │ │ ├── svizzle
│ │ │ │ ├── index.js
│ │ │ │ ├── FormatClear.svelte
│ │ │ │ └── A11yPerson.svelte
│ │ │ ├── feather
│ │ │ │ ├── Circle.svelte
│ │ │ │ ├── Check.svelte
│ │ │ │ ├── Minus.svelte
│ │ │ │ ├── Play.svelte
│ │ │ │ ├── ChevronDown.svelte
│ │ │ │ ├── ChevronLeft.svelte
│ │ │ │ ├── ChevronRight.svelte
│ │ │ │ ├── ChevronUp.svelte
│ │ │ │ ├── Droplet.svelte
│ │ │ │ ├── Framer.svelte
│ │ │ │ ├── Navigation.svelte
│ │ │ │ ├── Navigation2.svelte
│ │ │ │ ├── Shield.svelte
│ │ │ │ ├── Twitch.svelte
│ │ │ │ ├── Activity.svelte
│ │ │ │ ├── Cloud.svelte
│ │ │ │ ├── Moon.svelte
│ │ │ │ ├── Square.svelte
│ │ │ │ ├── Volume.svelte
│ │ │ │ ├── Zap.svelte
│ │ │ │ ├── Bookmark.svelte
│ │ │ │ ├── Edit2.svelte
│ │ │ │ ├── Filter.svelte
│ │ │ │ ├── Umbrella.svelte
│ │ │ │ ├── Bluetooth.svelte
│ │ │ │ ├── Disc.svelte
│ │ │ │ ├── Thermometer.svelte
│ │ │ │ ├── X.svelte
│ │ │ │ ├── Clock.svelte
│ │ │ │ ├── Facebook.svelte
│ │ │ │ ├── MessageSquare.svelte
│ │ │ │ ├── Plus.svelte
│ │ │ │ ├── ArrowUp.svelte
│ │ │ │ ├── Code.svelte
│ │ │ │ ├── MinusCircle.svelte
│ │ │ │ ├── Power.svelte
│ │ │ │ ├── Search.svelte
│ │ │ │ ├── StopCircle.svelte
│ │ │ │ ├── ArrowDown.svelte
│ │ │ │ ├── ArrowDownLeft.svelte
│ │ │ │ ├── ArrowLeft.svelte
│ │ │ │ ├── ArrowRight.svelte
│ │ │ │ ├── ArrowUpLeft.svelte
│ │ │ │ ├── ArrowUpRight.svelte
│ │ │ │ ├── CornerDownLeft.svelte
│ │ │ │ ├── CornerLeftUp.svelte
│ │ │ │ ├── CornerRightUp.svelte
│ │ │ │ ├── CornerUpLeft.svelte
│ │ │ │ ├── CornerUpRight.svelte
│ │ │ │ ├── Crop.svelte
│ │ │ │ ├── Folder.svelte
│ │ │ │ ├── MousePointer.svelte
│ │ │ │ ├── Pause.svelte
│ │ │ │ ├── PieChart.svelte
│ │ │ │ ├── PlayCircle.svelte
│ │ │ │ ├── Send.svelte
│ │ │ │ ├── SkipBack.svelte
│ │ │ │ ├── SkipForward.svelte
│ │ │ │ ├── Slash.svelte
│ │ │ │ ├── Terminal.svelte
│ │ │ │ ├── User.svelte
│ │ │ │ ├── ArrowDownRight.svelte
│ │ │ │ ├── ChevronsDown.svelte
│ │ │ │ ├── ChevronsLeft.svelte
│ │ │ │ ├── ChevronsRight.svelte
│ │ │ │ ├── ChevronsUp.svelte
│ │ │ │ ├── CornerDownRight.svelte
│ │ │ │ ├── CornerLeftDown.svelte
│ │ │ │ ├── CornerRightDown.svelte
│ │ │ │ ├── Edit3.svelte
│ │ │ │ ├── Eye.svelte
│ │ │ │ ├── Octagon.svelte
│ │ │ │ ├── Rewind.svelte
│ │ │ │ ├── RotateCcw.svelte
│ │ │ │ ├── Underline.svelte
│ │ │ │ ├── AtSign.svelte
│ │ │ │ ├── Bell.svelte
│ │ │ │ ├── FastForward.svelte
│ │ │ │ ├── Lock.svelte
│ │ │ │ ├── MapPin.svelte
│ │ │ │ ├── RotateCw.svelte
│ │ │ │ ├── Sidebar.svelte
│ │ │ │ ├── ToggleLeft.svelte
│ │ │ │ ├── ToggleRight.svelte
│ │ │ │ ├── Tv.svelte
│ │ │ │ ├── Unlock.svelte
│ │ │ │ ├── Award.svelte
│ │ │ │ ├── Battery.svelte
│ │ │ │ ├── Bold.svelte
│ │ │ │ ├── CheckCircle.svelte
│ │ │ │ ├── Columns.svelte
│ │ │ │ ├── CreditCard.svelte
│ │ │ │ ├── MinusSquare.svelte
│ │ │ │ ├── Music.svelte
│ │ │ │ ├── Tablet.svelte
│ │ │ │ ├── TrendingUp.svelte
│ │ │ │ ├── Triangle.svelte
│ │ │ │ ├── Video.svelte
│ │ │ │ ├── Volume1.svelte
│ │ │ │ ├── Wind.svelte
│ │ │ │ ├── DollarSign.svelte
│ │ │ │ ├── Flag.svelte
│ │ │ │ ├── Home.svelte
│ │ │ │ ├── Maximize.svelte
│ │ │ │ ├── Minimize.svelte
│ │ │ │ ├── Rss.svelte
│ │ │ │ ├── Smartphone.svelte
│ │ │ │ ├── TrendingDown.svelte
│ │ │ │ ├── BookOpen.svelte
│ │ │ │ ├── Divide.svelte
│ │ │ │ ├── File.svelte
│ │ │ │ ├── GitMerge.svelte
│ │ │ │ ├── Star.svelte
│ │ │ │ ├── Target.svelte
│ │ │ │ ├── Briefcase.svelte
│ │ │ │ ├── CheckSquare.svelte
│ │ │ │ ├── CloudLightning.svelte
│ │ │ │ ├── Compass.svelte
│ │ │ │ ├── MoreHorizontal.svelte
│ │ │ │ ├── MoreVertical.svelte
│ │ │ │ ├── Table.svelte
│ │ │ │ ├── Anchor.svelte
│ │ │ │ ├── Book.svelte
│ │ │ │ ├── Info.svelte
│ │ │ │ ├── Italic.svelte
│ │ │ │ ├── Menu.svelte
│ │ │ │ ├── XCircle.svelte
│ │ │ │ ├── BarChart.svelte
│ │ │ │ ├── BarChart2.svelte
│ │ │ │ ├── Copy.svelte
│ │ │ │ ├── Key.svelte
│ │ │ │ ├── Link2.svelte
│ │ │ │ ├── Mail.svelte
│ │ │ │ ├── Paperclip.svelte
│ │ │ │ ├── PauseCircle.svelte
│ │ │ │ ├── Percent.svelte
│ │ │ │ ├── PlusCircle.svelte
│ │ │ │ ├── ThumbsUp.svelte
│ │ │ │ ├── Type.svelte
│ │ │ │ ├── ZoomOut.svelte
│ │ │ │ ├── AlertCircle.svelte
│ │ │ │ ├── ArrowDownCircle.svelte
│ │ │ │ ├── ArrowLeftCircle.svelte
│ │ │ │ ├── ArrowRightCircle.svelte
│ │ │ │ ├── ArrowUpCircle.svelte
│ │ │ │ ├── Camera.svelte
│ │ │ │ ├── GitCommit.svelte
│ │ │ │ ├── Hexagon.svelte
│ │ │ │ ├── Pocket.svelte
│ │ │ │ ├── Tag.svelte
│ │ │ │ ├── Trash.svelte
│ │ │ │ ├── Voicemail.svelte
│ │ │ │ ├── Volume2.svelte
│ │ │ │ ├── Airplay.svelte
│ │ │ │ ├── Archive.svelte
│ │ │ │ ├── FolderMinus.svelte
│ │ │ │ ├── HelpCircle.svelte
│ │ │ │ ├── Layout.svelte
│ │ │ │ ├── Share.svelte
│ │ │ │ ├── UserMinus.svelte
│ │ │ │ ├── Edit.svelte
│ │ │ │ ├── Image.svelte
│ │ │ │ ├── Layers.svelte
│ │ │ │ ├── LogIn.svelte
│ │ │ │ ├── LogOut.svelte
│ │ │ │ ├── Speaker.svelte
│ │ │ │ ├── Upload.svelte
│ │ │ │ ├── UserCheck.svelte
│ │ │ │ ├── VolumeX.svelte
│ │ │ │ ├── XSquare.svelte
│ │ │ │ ├── Clipboard.svelte
│ │ │ │ ├── CloudOff.svelte
│ │ │ │ ├── Database.svelte
│ │ │ │ ├── Delete.svelte
│ │ │ │ ├── Download.svelte
│ │ │ │ ├── Feather.svelte
│ │ │ │ ├── Heart.svelte
│ │ │ │ ├── Link.svelte
│ │ │ │ ├── Map.svelte
│ │ │ │ ├── Monitor.svelte
│ │ │ │ ├── PlusSquare.svelte
│ │ │ │ ├── ShoppingBag.svelte
│ │ │ │ ├── ThumbsDown.svelte
│ │ │ │ ├── Trello.svelte
│ │ │ │ ├── GitBranch.svelte
│ │ │ │ ├── VideoOff.svelte
│ │ │ │ ├── CameraOff.svelte
│ │ │ │ ├── ShoppingCart.svelte
│ │ │ │ ├── Cast.svelte
│ │ │ │ ├── DownloadCloud.svelte
│ │ │ │ ├── ExternalLink.svelte
│ │ │ │ ├── FileMinus.svelte
│ │ │ │ ├── GitPullRequest.svelte
│ │ │ │ ├── Hash.svelte
│ │ │ │ ├── Meh.svelte
│ │ │ │ ├── Radio.svelte
│ │ │ │ ├── Smile.svelte
│ │ │ │ ├── Tool.svelte
│ │ │ │ ├── Frown.svelte
│ │ │ │ ├── PenTool.svelte
│ │ │ │ ├── Repeat.svelte
│ │ │ │ ├── Save.svelte
│ │ │ │ ├── AlignCenter.svelte
│ │ │ │ ├── AlignJustify.svelte
│ │ │ │ ├── AlignLeft.svelte
│ │ │ │ ├── AlignRight.svelte
│ │ │ │ ├── DivideCircle.svelte
│ │ │ │ ├── Headphones.svelte
│ │ │ │ ├── Maximize2.svelte
│ │ │ │ ├── RefreshCcw.svelte
│ │ │ │ ├── RefreshCw.svelte
│ │ │ │ ├── ZoomIn.svelte
│ │ │ │ ├── FolderPlus.svelte
│ │ │ │ ├── Grid.svelte
│ │ │ │ ├── Instagram.svelte
│ │ │ │ ├── Linkedin.svelte
│ │ │ │ ├── Minimize2.svelte
│ │ │ │ ├── ShieldOff.svelte
│ │ │ │ ├── UserX.svelte
│ │ │ │ ├── Users.svelte
│ │ │ │ ├── Wifi.svelte
│ │ │ │ ├── Globe.svelte
│ │ │ │ ├── Inbox.svelte
│ │ │ │ ├── Printer.svelte
│ │ │ │ ├── Twitter.svelte
│ │ │ │ ├── UserPlus.svelte
│ │ │ │ ├── XOctagon.svelte
│ │ │ │ ├── Calendar.svelte
│ │ │ │ ├── AlertOctagon.svelte
│ │ │ │ ├── DivideSquare.svelte
│ │ │ │ ├── Mic.svelte
│ │ │ │ ├── Truck.svelte
│ │ │ │ ├── AlertTriangle.svelte
│ │ │ │ ├── CloudRain.svelte
│ │ │ │ ├── Command.svelte
│ │ │ │ ├── Dribbble.svelte
│ │ │ │ ├── BatteryCharging.svelte
│ │ │ │ ├── MessageCircle.svelte
│ │ │ │ ├── FilePlus.svelte
│ │ │ │ ├── Server.svelte
│ │ │ │ ├── UploadCloud.svelte
│ │ │ │ ├── ZapOff.svelte
│ │ │ │ ├── Crosshair.svelte
│ │ │ │ ├── Scissors.svelte
│ │ │ │ ├── Share2.svelte
│ │ │ │ ├── Shuffle.svelte
│ │ │ │ ├── Chrome.svelte
│ │ │ │ ├── Coffee.svelte
│ │ │ │ ├── Trash2.svelte
│ │ │ │ ├── BellOff.svelte
│ │ │ │ ├── EyeOff.svelte
│ │ │ │ ├── Box.svelte
│ │ │ │ ├── Watch.svelte
│ │ │ │ ├── FileText.svelte
│ │ │ │ ├── Gift.svelte
│ │ │ │ ├── HardDrive.svelte
│ │ │ │ ├── List.svelte
│ │ │ │ ├── Codepen.svelte
│ │ │ │ ├── Move.svelte
│ │ │ │ ├── Gitlab.svelte
│ │ │ │ ├── MicOff.svelte
│ │ │ │ ├── Package.svelte
│ │ │ │ ├── Phone.svelte
│ │ │ │ ├── Github.svelte
│ │ │ │ ├── Figma.svelte
│ │ │ │ ├── CloudDrizzle.svelte
│ │ │ │ ├── Aperture.svelte
│ │ │ │ ├── WifiOff.svelte
│ │ │ │ ├── Youtube.svelte
│ │ │ │ ├── CloudSnow.svelte
│ │ │ │ ├── LifeBuoy.svelte
│ │ │ │ ├── PhoneCall.svelte
│ │ │ │ ├── Film.svelte
│ │ │ │ ├── Sunrise.svelte
│ │ │ │ ├── Sunset.svelte
│ │ │ │ ├── PhoneOff.svelte
│ │ │ │ ├── Loader.svelte
│ │ │ │ ├── PhoneMissed.svelte
│ │ │ │ ├── Sliders.svelte
│ │ │ │ ├── PhoneForwarded.svelte
│ │ │ │ ├── PhoneIncoming.svelte
│ │ │ │ ├── PhoneOutgoing.svelte
│ │ │ │ ├── Codesandbox.svelte
│ │ │ │ ├── Sun.svelte
│ │ │ │ └── Cpu.svelte
│ │ │ └── index.js
│ │ ├── drivers
│ │ │ ├── fonts
│ │ │ │ ├── index.js
│ │ │ │ ├── FontsLoader.svelte
│ │ │ │ └── utils.js
│ │ │ └── style
│ │ │ │ ├── StyleDriver.svelte
│ │ │ │ └── README.md
│ │ ├── sensors
│ │ │ ├── index.js
│ │ │ ├── screen
│ │ │ │ └── WindowBinder.svelte
│ │ │ └── style
│ │ │ │ ├── StyleSensor.svelte
│ │ │ │ └── README.md
│ │ ├── a11y
│ │ │ └── index.js
│ │ ├── viewports
│ │ │ ├── View.svelte
│ │ │ └── ViewsXor.svelte
│ │ ├── ResponsiveFlex.svelte
│ │ ├── actions
│ │ │ ├── resizeObserver.js
│ │ │ └── resizeHandler.js
│ │ ├── MessageView.svelte
│ │ └── NoScript.svelte
│ └── doc
│ │ └── breakpoints.png
│ ├── hierarchy
│ ├── src
│ │ └── index.js
│ └── CHANGELOG.md
│ ├── barchart
│ ├── src
│ │ └── index.js
│ └── README.md
│ ├── legend
│ ├── doc
│ │ ├── make_graph.sh
│ │ ├── brushing.png
│ │ └── brushing.dot
│ ├── src
│ │ └── index.js
│ └── README.md
│ ├── histogram
│ ├── doc
│ │ ├── make_graph.sh
│ │ ├── brushing.png
│ │ └── brushing.dot
│ ├── src
│ │ └── index.js
│ └── README.md
│ ├── time_region_value
│ ├── src
│ │ ├── lib
│ │ │ ├── stores
│ │ │ │ ├── POIs.js
│ │ │ │ ├── selectedYear.js
│ │ │ │ ├── regionSettings.js
│ │ │ │ ├── trends.js
│ │ │ │ ├── index.js
│ │ │ │ └── modals.js
│ │ │ ├── config.js
│ │ │ └── utils
│ │ │ │ ├── index.js
│ │ │ │ ├── d3.js
│ │ │ │ ├── style.js
│ │ │ │ └── url.js
│ │ └── index.js
│ └── README.md
│ ├── trends
│ ├── CHANGELOG.md
│ └── src
│ │ └── index.js
│ ├── choropleth
│ └── src
│ │ ├── shared.js
│ │ ├── index.js
│ │ └── projections.js
│ ├── mapbox
│ └── src
│ │ ├── index.js
│ │ ├── CustomControl.svelte
│ │ ├── util.js
│ │ ├── MapboxglUnsupported.svelte
│ │ └── SvgLayer.svelte
│ ├── .eslintrc.yml
│ └── README.md
├── .gitmodules
├── bin
├── rename_doc.sh
└── fix_doc.sh
├── .gitignore
└── lerna.json
/packages/docs/site/README.md:
--------------------------------------------------------------------------------
1 | # Svizzle docs
2 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/a1.json:
--------------------------------------------------------------------------------
1 | {"a": 1}
2 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/b2.json:
--------------------------------------------------------------------------------
1 | {"b": 2}
2 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/aDir/.foo:
--------------------------------------------------------------------------------
1 | hidden foo
2 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/compounds/mapbox/index.svelte:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/compounds/viewports/index.svelte:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/multi.json:
--------------------------------------------------------------------------------
1 | {"a": 1, "b": 2}
2 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/rows.csv:
--------------------------------------------------------------------------------
1 | foo,1
2 | bar,2
3 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/rows.tsv:
--------------------------------------------------------------------------------
1 | foo 1
2 | bar 2
3 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/rows.txt:
--------------------------------------------------------------------------------
1 | foo;1
2 | bar;2
3 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/a1.js:
--------------------------------------------------------------------------------
1 | export default {"a": 1};
2 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/ab.csv:
--------------------------------------------------------------------------------
1 | a,b
2 | foo,1
3 | bar,2
4 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/ab.tsv:
--------------------------------------------------------------------------------
1 | a b
2 | foo 1
3 | bar 2
4 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/ab.txt:
--------------------------------------------------------------------------------
1 | a;b
2 | foo;1
3 | bar;2
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-string.md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - type
4 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/a.txt:
--------------------------------------------------------------------------------
1 | I'm a text file
2 | for you to read
3 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/multi.js:
--------------------------------------------------------------------------------
1 | export default {"a": 1, "b": 2};
2 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-[any-any].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - always
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-any.md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - identity
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[any-any].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - pipe
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/iterable-array.md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - init
4 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/aDir/a.txt:
--------------------------------------------------------------------------------
1 | I'm a text file
2 | for you to read
3 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[any-array].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - collect
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[args-any].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - adapter
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-object.md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - fromPairs
4 |
--------------------------------------------------------------------------------
/packages/components/ui/src/utils/shared.js:
--------------------------------------------------------------------------------
1 | export const defaultRel = 'noopener';
2 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/[any-any]-[array-any].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - apply
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-[iterable-array].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - append
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/iterable-any.md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - head
4 | - last
5 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/number-[args-any].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - getArgAt
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/number-[array-array].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - rotateBy
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/number-[iterable-any].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - getAt
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/object-[object-object].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - rename
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/string-[any-boolean].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - isType
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/string-[iterable-array].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - pluck
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/string-[object-any].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - getKey
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/[any-boolean]-[any-boolean].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - not
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-[iterable-boolean].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - contains
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[object-array].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - validateWith
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/iterable-[function-any].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - applyTo
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/regexp-[string-boolean].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - testWith
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/string-[iterable-string].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - joinWith
4 |
--------------------------------------------------------------------------------
/packages/tools/file/.eslintrc.yml:
--------------------------------------------------------------------------------
1 | env:
2 | browser: false
3 | rules:
4 | no-sync: 'off'
5 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[any-boolean].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - allOf
4 | - anyOf
5 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[object-object].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - pick
4 | - skip
5 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/constructor-[any-boolean].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - isInstanceOf
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/number-[iterable-array].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - drop
4 | - take
5 |
--------------------------------------------------------------------------------
/packages/components/hierarchy/src/index.js:
--------------------------------------------------------------------------------
1 | export {default as Treemap} from './Treemap.svelte';
2 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/[object-object]-[object-object].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - renameWith
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/itercb[any-any]-[iterable-number].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - countBy
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/itercb[any-any]-[object-object].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - mapValuesWith
4 |
--------------------------------------------------------------------------------
/packages/components/barchart/src/index.js:
--------------------------------------------------------------------------------
1 | export {default as BarchartVDiv} from './BarchartVDiv.svelte';
2 |
--------------------------------------------------------------------------------
/packages/docs/site/.eslintignore:
--------------------------------------------------------------------------------
1 | !src/node_modules/app
2 | __sapper__/
3 | src/node_modules/@sapper/
4 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-boolean.md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - isNil
4 | - isNull
5 | - isUndefined
6 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[iterable-array].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - pullFrom
4 | - sortWith
5 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/string-[object-boolean].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - hasKey
4 | - hasOwnKey
5 |
--------------------------------------------------------------------------------
/packages/components/hierarchy/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## `@svizzle/hierarchy` v0.1.0
2 |
3 | - added `Treemap.svelte`
4 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/svizzle/index.js:
--------------------------------------------------------------------------------
1 | export {default as A11yPerson} from './A11yPerson.svelte';
2 |
--------------------------------------------------------------------------------
/packages/tools/file/test_assets/a.yaml:
--------------------------------------------------------------------------------
1 | foo:
2 | - a: 1
3 | - b: 2
4 | bar:
5 | - 1
6 | - 2
7 | - 3
8 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/itercb[any-any]-[iterable-object].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - groupBy
4 | - indexBy
5 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/itercb[any-boolean]-[iterable-boolean].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - every
4 | - some
5 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/itercb[any-boolean]-[object-object].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - pickIf
4 | - skipIf
5 |
--------------------------------------------------------------------------------
/packages/components/legend/doc/make_graph.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | dot -Tpng ./brushing.dot > ./brushing.png;
4 |
--------------------------------------------------------------------------------
/packages/tools/atlas/src/index.js:
--------------------------------------------------------------------------------
1 | export {default as regionSpecs} from './specs.js';
2 | export * from './utils.js';
3 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/itercb[any-boolean]-[iterable-any].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - findLastWhere
4 | - findWhere
5 |
--------------------------------------------------------------------------------
/packages/components/histogram/doc/make_graph.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | dot -Tpng ./brushing.dot > ./brushing.png;
4 |
--------------------------------------------------------------------------------
/packages/tools/dom/src/index.js:
--------------------------------------------------------------------------------
1 | export * from './attrs.js';
2 | export * from './html.js';
3 | export * from './nodes.js';
4 |
--------------------------------------------------------------------------------
/packages/tools/file/src/index.js:
--------------------------------------------------------------------------------
1 | export * from './path.js';
2 | export * from './read.js';
3 | export * from './write.js';
4 |
--------------------------------------------------------------------------------
/packages/docs/site/.gitignore:
--------------------------------------------------------------------------------
1 | /__sapper__/
2 | /node_modules/
3 | /src/node_modules/@sapper/
4 | /static/atlas/
5 | .DS_Store
6 |
--------------------------------------------------------------------------------
/packages/tools/dom/test_assets/01_input.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/itercb[any-any]-[iterable-array].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - flatMapWith
4 | - mapWith
5 | - uniquesBy
6 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/number-[number-number].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - add
4 | - deduct
5 | - divideBy
6 | - multiplyBy
7 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Circle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/favicon.png
--------------------------------------------------------------------------------
/packages/docs/site/static/logo-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/logo-192.png
--------------------------------------------------------------------------------
/packages/docs/site/static/logo-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/logo-512.png
--------------------------------------------------------------------------------
/packages/tools/atlas/src/lib/urls.js:
--------------------------------------------------------------------------------
1 | export const NUTS_HOME_URL = 'https://ec.europa.eu/eurostat/cache/GISCO/distribution/v2/nuts';
2 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/[any-any]-[any-any].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - asPartial
4 | - binary
5 | - flip
6 | - generic
7 | - unary
8 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/itercb[any-boolean]-[iterable-number].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - findIndexWhere
4 | - findLastIndexWhere
5 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Check.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Minus.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Play.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/tools/dom/test_assets/02_input.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-[any-boolean].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - is
4 | - isSVZ
5 | - isFinite
6 | - isInteger
7 | - isSafeInteger
8 |
--------------------------------------------------------------------------------
/packages/components/legend/doc/brushing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/components/legend/doc/brushing.png
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/lib/stores/POIs.js:
--------------------------------------------------------------------------------
1 | import {writable} from 'svelte/store';
2 |
3 | export const _POIs = writable([]);
4 |
--------------------------------------------------------------------------------
/packages/components/ui/doc/breakpoints.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/components/ui/doc/breakpoints.png
--------------------------------------------------------------------------------
/packages/components/ui/src/drivers/fonts/index.js:
--------------------------------------------------------------------------------
1 | export {default as FontsLoader} from './FontsLoader.svelte';
2 | export * from './utils.js';
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ChevronDown.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ChevronLeft.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ChevronRight.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ChevronUp.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/barchart/README.md:
--------------------------------------------------------------------------------
1 | # barchart
2 |
3 | A package containing a vertical barchart component for Svelte (`BarchartVDiv.svelte`).
4 |
--------------------------------------------------------------------------------
/packages/components/histogram/doc/brushing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/components/histogram/doc/brushing.png
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/lib/config.js:
--------------------------------------------------------------------------------
1 |
2 | export default {
3 | noDataMessage: 'No data',
4 | noLegendMessage: 'No legend'
5 | }
6 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Droplet.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/src/client.js:
--------------------------------------------------------------------------------
1 | import * as sapper from '@sapper/app';
2 |
3 | sapper.start({
4 | target: document.querySelector('#app')
5 | });
6 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Framer.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Navigation.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Navigation2.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Shield.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Twitch.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/static/font/OpenSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/OpenSans-Bold.ttf
--------------------------------------------------------------------------------
/packages/docs/site/static/font/OpenSans-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/OpenSans-Light.ttf
--------------------------------------------------------------------------------
/packages/tools/atlas/.gitignore:
--------------------------------------------------------------------------------
1 | data/base/NUTS/1
2 | data/base/NUTS/2
3 | data/base/NUTS/3
4 | data/base/NUTS/4
5 | data/base/world/1
6 | !src/bin/dist
7 |
--------------------------------------------------------------------------------
/packages/tools/request/src/index.js:
--------------------------------------------------------------------------------
1 | export * from './fetchManager/fetchManager.js';
2 | export * from './json.js';
3 | export * from './webstreams.js';
4 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "packages/tools/atlas/distro"]
2 | path = packages/tools/atlas/data/dist
3 | url = git@github.com:nestauk/svizzle_atlas_distro.git
4 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Activity.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Cloud.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Moon.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Square.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Volume.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Zap.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/static/font/OpenSans-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/OpenSans-Regular.ttf
--------------------------------------------------------------------------------
/packages/tools/dom/test_assets/01_expected.html:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Bookmark.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/static/font/AvenirNext/Variable.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/AvenirNext/Variable.ttf
--------------------------------------------------------------------------------
/packages/docs/site/static/font/OpenDyslexic/Bold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/OpenDyslexic/Bold.otf
--------------------------------------------------------------------------------
/packages/docs/site/static/font/OpenDyslexic/Italic.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/OpenDyslexic/Italic.otf
--------------------------------------------------------------------------------
/packages/docs/site/static/font/OpenSans-SemiBold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/OpenSans-SemiBold.ttf
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/object-array.md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - enumerables
4 | - keys
5 | - ownPairs
6 | - pairs
7 | - tear
8 | - tearOwn
9 | - values
10 |
--------------------------------------------------------------------------------
/packages/components/legend/src/index.js:
--------------------------------------------------------------------------------
1 | export {default as ColorBinsG} from './ColorBinsG.svelte';
2 | export {default as ColorBinsDiv} from './ColorBinsDiv.svelte';
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Edit2.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Filter.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Umbrella.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/index.js:
--------------------------------------------------------------------------------
1 | export {default as Icon} from './Icon.svelte';
2 | export * from './feather/index.js';
3 | export * from './svizzle/index.js';
4 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/components/_examples/binsFill_3.json:
--------------------------------------------------------------------------------
1 | ["magenta","beige","seashell","darkolivegreen","slategray","peru","navajowhite","ivory","lavenderblush"]
--------------------------------------------------------------------------------
/packages/docs/site/static/font/NobotoFlex/Variable.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/NobotoFlex/Variable.woff2
--------------------------------------------------------------------------------
/packages/docs/site/static/font/OpenDyslexic/Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/OpenDyslexic/Regular.otf
--------------------------------------------------------------------------------
/packages/components/time_region_value/README.md:
--------------------------------------------------------------------------------
1 | # `time_region_value`
2 |
3 | Svelte components to be used as SvelteKit/Sapper routes for the `{time, region, value}` domain.
4 |
--------------------------------------------------------------------------------
/packages/components/trends/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## `@svizzle/trends` v0.1.0
2 |
3 | - added `PercentilesTrends.svelte`
4 | - added `StreamGraph.svelte`
5 | - added `Trends.svelte`
6 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Bluetooth.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Disc.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Thermometer.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/X.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/static/font/OpenDyslexic/BoldItalic.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/OpenDyslexic/BoldItalic.otf
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Clock.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Facebook.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/MessageSquare.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Plus.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/components/_examples/binsFill.js:
--------------------------------------------------------------------------------
1 | export default ["indigo","lightcyan","darkcyan","honeydew","skyblue","plum","burlywood","limegreen","darkorange"];
2 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/numerical-[numerical-boolean].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | numerical: Number | String | Date | Boolean
4 |
5 | - isGT
6 | - isGTE
7 | - isLT
8 | - isLTE
9 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowUp.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Code.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/MinusCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Power.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Search.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/StopCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowDown.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowDownLeft.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowLeft.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowRight.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowUpLeft.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowUpRight.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CornerDownLeft.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CornerLeftUp.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CornerRightUp.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CornerUpLeft.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CornerUpRight.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Crop.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Folder.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/MousePointer.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Pause.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PieChart.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PlayCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Send.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/SkipBack.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/SkipForward.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Slash.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Terminal.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/User.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/static/font/Archivo/VariableFont_wdth,wght.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/Archivo/VariableFont_wdth,wght.ttf
--------------------------------------------------------------------------------
/packages/tools/atlas/data/base/NUTS/0/history/source/1995-1999.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/tools/atlas/data/base/NUTS/0/history/source/1995-1999.xls
--------------------------------------------------------------------------------
/packages/tools/atlas/data/base/NUTS/0/history/source/1999-2003.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/tools/atlas/data/base/NUTS/0/history/source/1999-2003.xls
--------------------------------------------------------------------------------
/packages/tools/atlas/data/base/NUTS/0/history/source/2003-2006.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/tools/atlas/data/base/NUTS/0/history/source/2003-2006.xls
--------------------------------------------------------------------------------
/packages/tools/atlas/data/base/NUTS/0/history/source/2006-2010.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/tools/atlas/data/base/NUTS/0/history/source/2006-2010.xls
--------------------------------------------------------------------------------
/packages/tools/atlas/data/base/NUTS/0/history/source/NUTS2021.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/tools/atlas/data/base/NUTS/0/history/source/NUTS2021.xlsx
--------------------------------------------------------------------------------
/packages/tools/dom/test_assets/02_expected.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | [Object object]
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/packages/tools/geo/src/index.js:
--------------------------------------------------------------------------------
1 | export * from './modules/geojson.js';
2 | export {default as pruneTopology} from './modules/pruneTopology.js';
3 | export * from './modules/topojson.js';
4 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowDownRight.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ChevronsDown.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ChevronsLeft.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ChevronsRight.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ChevronsUp.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CornerDownRight.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CornerLeftDown.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CornerRightDown.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Edit3.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Eye.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Octagon.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Rewind.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/RotateCcw.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Underline.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/sensors/index.js:
--------------------------------------------------------------------------------
1 | export {_screen, default as ScreenSensor} from './screen/ScreenSensor.svelte';
2 | export {default as StyleSensor} from './style/StyleSensor.svelte';
3 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-array.md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - flatten
4 | - init
5 | - reverse
6 | - shallowFlatten
7 | - tail
8 | - transpose
9 | - uniques
10 | - zipWithIndex
11 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/itercb[any-boolean]-[iterable-array].md:
--------------------------------------------------------------------------------
1 | # lamb
2 |
3 | - dropLastWhile
4 | - dropWhile
5 | - filterWith
6 | - partitionWith
7 | - takeLastWhile
8 | - takeWhile
9 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/AtSign.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Bell.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/FastForward.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Lock.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/MapPin.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/RotateCw.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Sidebar.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ToggleLeft.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ToggleRight.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Tv.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Unlock.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/tools/atlas/src/bin/dist/setup.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | DISTRO=data/dist
4 |
5 | rm -rf $DISTRO && \
6 | git clone --depth 1 git@github.com:nestauk/svizzle_atlas_distro.git $DISTRO
7 |
--------------------------------------------------------------------------------
/packages/components/choropleth/src/shared.js:
--------------------------------------------------------------------------------
1 | export const defaultGeometry = {
2 | bottom: 10,
3 | left: 10,
4 | right: 10,
5 | top: 10,
6 | };
7 |
8 | export * as projections from './projections.js';
9 |
--------------------------------------------------------------------------------
/packages/components/histogram/src/index.js:
--------------------------------------------------------------------------------
1 | export {default as HistogramG} from './HistogramG.svelte';
2 | export {default as HistogramDiv} from './HistogramDiv.svelte';
3 | export * from './utils.js';
4 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Award.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Battery.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Bold.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CheckCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Columns.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CreditCard.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/MinusSquare.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Music.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Tablet.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/TrendingUp.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Triangle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Video.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Volume1.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Wind.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/static/font/Archivo/Italic-VariableFont_wdth,wght.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/docs/site/static/font/Archivo/Italic-VariableFont_wdth,wght.ttf
--------------------------------------------------------------------------------
/packages/tools/geometry/src/index.js:
--------------------------------------------------------------------------------
1 | export * from './2DNetwork.js';
2 | export * from './2DPoint.js';
3 | export * from './2DVector.js';
4 | export * from './3DPoint.js';
5 | export * from './angle.js';
6 |
--------------------------------------------------------------------------------
/bin/rename_doc.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | # %5B -> [
4 | # %5D -> ]
5 | for f in packages/docs/site/static/jsDocBuild/*.html;
6 | do mv "$f" $(echo "$f" | sed 's/%5B/\[/g' | sed 's/%5D/\]/g');
7 | done
8 |
--------------------------------------------------------------------------------
/packages/components/choropleth/src/index.js:
--------------------------------------------------------------------------------
1 | export {default as ChoroplethG} from './ChoroplethG.svelte';
2 | export {default as ChoroplethDiv} from './ChoroplethDiv.svelte';
3 | export * from './shared.js';
4 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/DollarSign.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Flag.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Home.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Maximize.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Minimize.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Rss.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Smartphone.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/TrendingDown.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/tools/atlas/data/base/NUTS/0/history/source/NUTS2013-NUTS2016.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/tools/atlas/data/base/NUTS/0/history/source/NUTS2013-NUTS2016.xlsx
--------------------------------------------------------------------------------
/packages/tools/atlas/src/bin/base/world/run.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | echo '
4 | ==== world ====
5 | ' &&
6 |
7 | node src/bin/base/world/01_world_110m_iso_a2_topojson.js &&
8 |
9 | echo
10 |
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/lib/utils/index.js:
--------------------------------------------------------------------------------
1 | export * from './d3.js';
2 | export * from './domain.js';
3 | export * from './format.js';
4 | export * from './style.js';
5 | export * from './url.js';
6 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/BookOpen.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Divide.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/File.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/GitMerge.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Star.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Target.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/tools/atlas/data/base/NUTS/0/history/source/NUTS 2010 - NUTS 2013.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/mindrones/nestauk-svizzle/dev/packages/tools/atlas/data/base/NUTS/0/history/source/NUTS 2010 - NUTS 2013.xls
--------------------------------------------------------------------------------
/packages/components/mapbox/src/index.js:
--------------------------------------------------------------------------------
1 | export {default as CustomControl} from './CustomControl.svelte';
2 | export {default as Mapbox} from './Mapbox.svelte';
3 | export {default as SvgLayer} from './SvgLayer.svelte';
4 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Briefcase.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CheckSquare.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CloudLightning.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Compass.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/MoreHorizontal.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/MoreVertical.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Table.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/tools/atlas/src/bin/base/runAll.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | # path are relative to the root of the package, where we run `runAll` from
4 |
5 | src/bin/base/NUTS/run.sh &&
6 | src/bin/base/world/run.sh
7 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Anchor.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Book.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Info.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Italic.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Menu.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/XCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/BarChart.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/BarChart2.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Copy.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Key.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Link2.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Mail.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Paperclip.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PauseCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Percent.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PlusCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ThumbsUp.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Type.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ZoomOut.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/utils/url.js:
--------------------------------------------------------------------------------
1 | const absoluteURLRegex = /^(?:[a-z+]+:)?\/\//iu;
2 |
3 | export const getURL = href => new URL(
4 | href,
5 | absoluteURLRegex.test(href)
6 | ? undefined
7 | : location.origin
8 | );
9 |
--------------------------------------------------------------------------------
/packages/tools/dev/README.md:
--------------------------------------------------------------------------------
1 | ## `@svizzle/dev`
2 |
3 | Svizzle Dev contains development helpers.
4 |
5 | https://nestauk.github.io/svizzle
6 |
7 | ### Installation
8 |
9 | *npm*
10 |
11 | `npm i -S @svizzle/dev`
12 |
--------------------------------------------------------------------------------
/packages/tools/dev/src/index.js:
--------------------------------------------------------------------------------
1 | export * from './log/array-[any-any].js';
2 | export * from './log/iterable-array.js';
3 | export * from './log/string-[any-any].js';
4 | export * from './common.js';
5 | export * from './test.js';
6 |
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/lib/utils/d3.js:
--------------------------------------------------------------------------------
1 | import {isNotNil} from '@svizzle/utils';
2 |
3 | // extent([]) -> [undefined, undefined]
4 | export const isValidExtent = ([a, b]) => isNotNil(a) && isNotNil(b) && a !== b;
5 |
--------------------------------------------------------------------------------
/packages/components/trends/src/index.js:
--------------------------------------------------------------------------------
1 | export {default as PercentilesTrends} from './PercentilesTrends.svelte';
2 | export {default as StreamGraph} from './StreamGraph.svelte';
3 | export {default as Trends} from './Trends.svelte';
4 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/AlertCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowDownCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowLeftCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowRightCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ArrowUpCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Camera.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/GitCommit.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Hexagon.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Pocket.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Tag.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Trash.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Voicemail.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Volume2.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Airplay.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Archive.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/FolderMinus.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/HelpCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Layout.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Share.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/UserMinus.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Edit.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Image.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Layers.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/LogIn.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/LogOut.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Speaker.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Upload.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/UserCheck.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/VolumeX.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/XSquare.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/tools/file/README.md:
--------------------------------------------------------------------------------
1 | ## `@svizzle/file`
2 |
3 | Svizzle File contains file related helpers for node.
4 |
5 | https://nestauk.github.io/svizzle
6 |
7 | ### Installation
8 |
9 | *npm*
10 |
11 | `npm i -S @svizzle/file`
12 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Clipboard.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CloudOff.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Database.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Delete.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Download.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Feather.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Heart.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Link.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Map.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Monitor.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PlusSquare.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ShoppingBag.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ThumbsDown.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Trello.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/GitBranch.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/VideoOff.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/lib/utils/style.js:
--------------------------------------------------------------------------------
1 | import {getTruthyValuesKeys, joinWithBlank} from '@svizzle/utils';
2 | import * as _ from 'lamb';
3 |
4 | export const makeClasses = _.pipe([getTruthyValuesKeys, joinWithBlank]); // TBD to /dom?
5 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CameraOff.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ShoppingCart.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Cast.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/DownloadCloud.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ExternalLink.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/FileMinus.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/GitPullRequest.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Hash.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Meh.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Radio.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Smile.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Tool.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Frown.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PenTool.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Repeat.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Save.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/AlignCenter.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/AlignJustify.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/AlignLeft.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/AlignRight.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/DivideCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Headphones.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Maximize2.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/RefreshCcw.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/RefreshCw.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ZoomIn.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/FolderPlus.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Grid.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Instagram.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Linkedin.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Minimize2.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ShieldOff.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/UserX.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Users.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Wifi.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | _
2 | .DS_Store
3 | /node_modules
4 | packages/docs/site/static/jsDocBuild
5 | packages/**/package-lock.json
6 | packages/components/**/node_modules
7 | packages/docs/**/node_modules
8 | packages/tools/**/node_modules
9 | packages/tools/utils/_/
10 | *.todo.js
11 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Globe.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Inbox.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Printer.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Twitter.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/UserPlus.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/XOctagon.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/src/lib/components/Elements.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 | {#each elements as {tag, content}}
6 | {#if tag === 'p'}
7 |
{content}
8 | {:else if tag === 'pre'}
9 | {content}
10 | {/if}
11 | {/each}
12 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Calendar.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/a11y/index.js:
--------------------------------------------------------------------------------
1 | export {default as A11yMenu} from './menu/A11yMenu.svelte';
2 | export {default as A11yMenuDriver} from './menu/A11yMenuDriver.svelte';
3 | export {default as ColorCorrection} from './menu/ColorCorrection.svelte';
4 | export * from './menu/settings.js';
5 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/AlertOctagon.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/DivideSquare.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Mic.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Truck.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/components/_examples/binsFill_2.js:
--------------------------------------------------------------------------------
1 | export default ["palegreen","darkgreen","lime","mediumturquoise","grey","aquamarine","papayawhip","peachpuff","hotpink","purple","red","mediumvioletred","lightsalmon","silver","darkblue","mediumorchid","brown","darkslateblue"];
2 |
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/lib/stores/selectedYear.js:
--------------------------------------------------------------------------------
1 | import {writable} from 'svelte/store';
2 |
3 | export const _selectedYear = writable();
4 | export const setSelectedYear = year => _selectedYear.set(Number(year));
5 | export const resetSelectedYear = () => _selectedYear.set();
6 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/AlertTriangle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CloudRain.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Command.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Dribbble.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/BatteryCharging.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/MessageCircle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/tools/request/src/fetchManager/rxUtils.js:
--------------------------------------------------------------------------------
1 | import {combineLatestWith, debounceTime, map, share} from 'rxjs/operators';
2 |
3 | export const derive = ([first, ...rest], fn) =>
4 | first.pipe(
5 | combineLatestWith(...rest),
6 | debounceTime(0),
7 | map(fn),
8 | share()
9 | );
10 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/FilePlus.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Server.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/UploadCloud.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/ZapOff.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/index.svelte:
--------------------------------------------------------------------------------
1 |
2 | Svizzle Tools
3 |
4 |
5 |
14 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Crosshair.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Scissors.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Share2.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Shuffle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/svizzle/FormatClear.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Chrome.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Coffee.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Trash2.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/sensors/screen/WindowBinder.svelte:
--------------------------------------------------------------------------------
1 |
6 |
7 |
12 |
--------------------------------------------------------------------------------
/packages/tools/dom/README.md:
--------------------------------------------------------------------------------
1 | ## `@svizzle/dom`
2 |
3 | Svizzle DOM contains DOM related helpers.
4 |
5 | https://nestauk.github.io/svizzle
6 |
7 | ### Installation
8 |
9 | *npm*
10 |
11 | `npm i -S @svizzle/dom`
12 |
13 | *browser*
14 |
15 | ```
16 |
7 |
8 |
13 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/FileText.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/tools/request/README.md:
--------------------------------------------------------------------------------
1 | ## `@svizzle/request`
2 |
3 | Svizzle Request contains helpers for fetching data.
4 |
5 | https://nestauk.github.io/svizzle
6 |
7 | ### Installation
8 |
9 | *npm*
10 |
11 | `npm i -S @svizzle/request`
12 |
13 | *browser*
14 |
15 | ```
16 |
16 |
17 | {#if doRender || id === $_viewId}
18 |
19 | {/if}
20 |
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/lib/stores/regionSettings.js:
--------------------------------------------------------------------------------
1 | import * as _ from 'lamb';
2 | import {derived, writable} from 'svelte/store';
3 |
4 | export const _regionSettings = writable({});
5 |
6 | /* levels */
7 |
8 | export const _availableLevels = derived(_regionSettings, _.getKey('levels'));
9 | export const _firstAvailableLevel = derived(_availableLevels, _.getAt(0));
10 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Github.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/tools/atlas/src/bin/base/NUTS/run.sh:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env bash
2 |
3 | echo '
4 | ==== NUTS ====
5 | ' &&
6 |
7 | node src/bin/base/NUTS/0-1_getBaseShapes.js &&
8 | node src/bin/base/NUTS/0-1_getMetadata.js &&
9 | node src/bin/base/NUTS/01-2_reconcileIds.js &&
10 | node src/bin/base/NUTS/12-3_augmentShapes.js &&
11 | node src/bin/base/NUTS/13-4_getCountriesTopojson.js &&
12 |
13 | echo
14 |
--------------------------------------------------------------------------------
/lerna.json:
--------------------------------------------------------------------------------
1 | {
2 | "command": {
3 | "version": {
4 | "allowBranch": "dev"
5 | },
6 | "publish": {
7 | "ignoreChanges": [
8 | "packages/docs/site/**",
9 | "*.md"
10 | ]
11 | }
12 | },
13 | "ignoreChanges": [
14 | "packages/docs/**",
15 | "*.md"
16 | ],
17 | "packages": [
18 | "packages/**"
19 | ],
20 | "version": "independent"
21 | }
22 |
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/lib/utils/url.js:
--------------------------------------------------------------------------------
1 | import {isClientSide} from '@svizzle/ui';
2 |
3 | export const makeURL = (base, id, year) => {
4 | let url = year
5 | ? `${base}/${id}/${year}`
6 | : `${base}/${id}`;
7 |
8 | if (isClientSide) {
9 | const {protocol, host} = location;
10 |
11 | url = new URL(url, `${protocol}//${host}`).toString();
12 | }
13 |
14 | return url;
15 | }
16 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Figma.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CloudDrizzle.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/components/_examples/trends/index.js:
--------------------------------------------------------------------------------
1 | import {config as percentilesTrends} from './PercentilesTrends.js';
2 | import {config as streamGraph} from './StreamGraph.js';
3 | import {config as trends} from './Trends.js';
4 |
5 | import {examplesFormatter4} from '../utils.js';
6 |
7 | export default examplesFormatter4([
8 | ...percentilesTrends,
9 | ...streamGraph,
10 | ...trends,
11 | ]);
12 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-undefined.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/any-undefined
3 | */
4 |
5 | /**
6 | * A function that does nothing
7 | *
8 | * @function
9 | * @arg {*} any
10 | * @return {undefined} - Any -> Undefined
11 | *
12 | * @example
13 | > noop()
14 | undefined
15 | *
16 | * @since v0.14.0
17 | */
18 | // eslint-disable-next-line no-empty-function
19 | export const noop = () => {};
20 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Aperture.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/WifiOff.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Youtube.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/components/_examples/index.js:
--------------------------------------------------------------------------------
1 | export {default as barchart} from './barchart.js';
2 | export {default as choropleth} from './choropleth.js';
3 | export {default as hierarchy} from './hierarchy.js';
4 | export {default as histogram} from './histogram.js';
5 | export {default as legend} from './legend.js';
6 | export {default as trends} from './trends/index.js';
7 | export {default as ui} from './ui/index.js';
8 |
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/index.js:
--------------------------------------------------------------------------------
1 | export {default as IdIndex} from './routes/[id]/index.svelte';
2 | export {default as IdYear} from './routes/[id]/[year].svelte';
3 | export {default as Layout} from './routes/_layout.svelte';
4 | export {default as Index} from './routes/index.svelte';
5 | export {default as types} from './lib/data/types.js';
6 | export * from './lib/stores/index.js';
7 | export * from './lib/utils/index.js';
8 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/CloudSnow.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/LifeBuoy.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/tools/geometry/src/3DPoint.spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {makePosition3D} from './3DPoint.js';
4 |
5 | describe('3DPoint', function () {
6 | describe('makePosition3D', function () {
7 | it('should create a point object from an array', function () {
8 | assert.deepStrictEqual(
9 | makePosition3D([1, 2, 3]),
10 | {x: 1, y: 2, z: 3}
11 | );
12 | });
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PhoneCall.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/svizzle/A11yPerson.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/packages/tools/atlas/src/lib/nutsUtils.js:
--------------------------------------------------------------------------------
1 | import {makeFilterTopoBy} from '@svizzle/geo';
2 | import * as _ from 'lamb';
3 |
4 | export const getNutsName = _.adapter([
5 | _.casus(_.hasKey('NAME_LATN'), _.getKey('NAME_LATN')),
6 | _.casus(_.hasKey('NUTS_NAME'), _.getKey('NUTS_NAME')),
7 | _.always('Unknown'),
8 | ]);
9 |
10 | export const makeFilterTopojsonByNutsId = makeFilterTopoBy({
11 | objKey: 'NUTS',
12 | propKey: 'NUTS_ID',
13 | });
14 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Film.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Sunrise.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Sunset.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array_proto-string.spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {join} from './array_proto-string.js';
4 |
5 | const arr = [0, 1, 2];
6 |
7 | describe('(prototype) Array -> String', function () {
8 | describe('join', function () {
9 | it('should join an array with commas (default behaviour)', function () {
10 | assert.deepStrictEqual(join(arr), '0,1,2');
11 | });
12 | });
13 | });
14 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PhoneOff.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/static/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "background_color": "#ffffff",
3 | "theme_color": "#333333",
4 | "name": "Svizzle",
5 | "short_name": "Svizzle",
6 | "display": "minimal-ui",
7 | "start_url": "/",
8 | "icons": [
9 | {
10 | "src": "logo-192.png",
11 | "sizes": "192x192",
12 | "type": "image/png"
13 | },
14 | {
15 | "src": "logo-512.png",
16 | "sizes": "512x512",
17 | "type": "image/png"
18 | }
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/packages/components/ui/src/utils/env.js:
--------------------------------------------------------------------------------
1 | import Bowser from 'bowser';
2 |
3 | export const isServerSide = typeof window === 'undefined';
4 |
5 | export const isClientSide = !isServerSide;
6 |
7 | export const PLATFORM = isClientSide
8 | ? {...Bowser.parse(window.navigator.userAgent)}
9 | : null;
10 |
11 | export const isPlatformIn = (oses, browsers) => isClientSide
12 | && oses.includes(PLATFORM?.os.name)
13 | && browsers.includes(PLATFORM?.browser.name);
14 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Loader.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PhoneMissed.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Sliders.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PhoneForwarded.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PhoneIncoming.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/PhoneOutgoing.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/.eslintrc.yml:
--------------------------------------------------------------------------------
1 | extends:
2 | - plugin:svelte/recommended
3 | overrides:
4 | -
5 | files:
6 | - '**/*.svelte'
7 | parser: svelte-eslint-parser
8 | -
9 | files:
10 | - '**/*.spec.js'
11 | rules:
12 | no-invalid-this: 'off'
13 | no-new: 'off'
14 | rules:
15 | brace-style: 'off'
16 | no-invalid-this: 'off'
17 | no-process-env: 'off'
18 | no-tabs: 'off'
19 | unused-export-let: 'off' # `export let prop` in components
20 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-string.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/any-string
3 | */
4 |
5 | /**
6 | * Return a string representation of the input with indentation = 2.
7 | *
8 | * @function
9 | * @arg {*} any
10 | * @return {string}
11 | * @example
12 | > stringify([{a: 1}, {a: 2}])
13 | [
14 | {
15 | "a": 1
16 | },
17 | {
18 | "a": 2
19 | }
20 | ]
21 | *
22 | *
23 | * @since 0.1.0
24 | */
25 | export const stringify = x => JSON.stringify(x, null, 2);
26 |
--------------------------------------------------------------------------------
/packages/components/README.md:
--------------------------------------------------------------------------------
1 | # Guidelines
2 |
3 | ## Font related CSS properties for accessibility
4 |
5 | In Svizzle components we don't define font families nor absolute font sizes
6 | because we prefer to let `A11yMenuDriver` to manage those.
7 |
8 | Font sizes in CSS should be defined in `em` units because we're adopting the
9 | convention of setting the main font size in the root element (`html`) and
10 | adjusting the font size in the `body` element for purposes of accessibility.
11 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/string_proto-array.spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {split} from './string_proto-array.js';
4 |
5 | describe('(prototype) String -> Array', function () {
6 | describe('split', function () {
7 | it('should return a function that splits the input string with the separator string', function () {
8 | const array = split('a-b-c', '-');
9 | assert.deepStrictEqual(array, ['a', 'b', 'c']);
10 | });
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/regexp-boolean.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Returns true if the provided RegExp is empty
3 | * @arg {RegExp} regexp
4 | * @return {boolean} - true if RegExp is empty
5 | */
6 | export const isRegexpEmpty = regexp => regexp.source === '(?:)';
7 |
8 | /**
9 | * Returns true if the provided RegExp is not empty
10 | * @arg {RegExp} regexp
11 | * @return {boolean} - true if RegExp is not empty
12 | */
13 | export const isRegexpNotEmpty = regexp => regexp.source !== '(?:)';
14 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Codesandbox.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/docs/site/src/server.js:
--------------------------------------------------------------------------------
1 | import compression from 'compression';
2 | import polka from 'polka';
3 | import sirv from 'sirv';
4 |
5 | import * as sapper from '@sapper/server';
6 |
7 | const {PORT, NODE_ENV} = process.env;
8 | const dev = NODE_ENV === 'development';
9 |
10 | polka()
11 | .use(
12 | 'svizzle',
13 | compression({threshold: 0}),
14 | sirv('static', {dev}),
15 | sapper.middleware()
16 | )
17 | .listen(PORT, err => {
18 | if (err) {
19 | console.log('error', err)
20 | }
21 | });
22 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/string-any.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/string-any
3 | */
4 |
5 | // TODO test, document
6 | export const exportedJsObjToAny = jsStr => {
7 | let jsonStr = jsStr;
8 |
9 | if (jsonStr.startsWith('export default ')) {
10 | jsonStr = jsStr.slice(15);
11 | }
12 | if (jsonStr.endsWith('\n')) {
13 | jsonStr = jsonStr.slice(0, -1);
14 | }
15 | if (jsonStr.endsWith(';')) {
16 | jsonStr = jsonStr.slice(0, -1);
17 | }
18 |
19 | return JSON.parse(jsonStr);
20 | }
21 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Sun.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/ui/src/ResponsiveFlex.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
24 |
--------------------------------------------------------------------------------
/packages/components/ui/src/icons/feather/Cpu.svelte:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/packages/components/histogram/README.md:
--------------------------------------------------------------------------------
1 | # Histogram
2 |
3 | Histogram components and utilities.
4 |
5 | The `HistogramG` component can be used within an SVG element (its main element being a `g`).
6 |
7 | The `HistogramDiv` component can be used within an HTML element (its main element being a `div`) and has the same props of `HistogramG` excluding `width` and `height` and with the addition of `headerHeight`, `padding` and `title`.
8 |
9 | [Utilities](packages/components/histogram/src/utils.js) can be useful when binning data.
10 |
--------------------------------------------------------------------------------
/packages/components/ui/src/actions/resizeObserver.js:
--------------------------------------------------------------------------------
1 | import {writable} from 'svelte/store';
2 |
3 | export const setupResizeObserver = () => {
4 | const _writable = writable({blockSize: 0, inlineSize: 0});
5 |
6 | function resizeObserver (node, type = 'borderBoxSize') {
7 | const callback = entries => _writable.set(entries[0][type][0]);
8 | const observer = new ResizeObserver(callback);
9 | observer.observe(node);
10 |
11 | return () => observer.disconnect();
12 | }
13 |
14 | return {_writable, resizeObserver}
15 | }
16 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/components/_utils.js:
--------------------------------------------------------------------------------
1 | import {
2 | indexValuesWith,
3 | pluckKeys,
4 | objectToKeyValueArray
5 | } from '@svizzle/utils';
6 | import * as _ from 'lamb';
7 |
8 | import * as examples from './_examples/index.js';
9 |
10 | const makeLookup = indexValuesWith(_.getKey('slug'));
11 | export const lookup = makeLookup(examples);
12 |
13 | const makeSidebar = _.pipe([
14 | _.mapValuesWith(pluckKeys(['slug', 'title'])),
15 | objectToKeyValueArray,
16 | ]);
17 | export const sidebar = makeSidebar(examples);
18 |
--------------------------------------------------------------------------------
/packages/tools/geometry/src/3DPoint.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/geometry/3D
3 | */
4 |
5 | import * as _ from 'lamb';
6 |
7 | /**
8 | * Creates a position object from an array of 3 numbers
9 | *
10 | * @function
11 | * @arg {array} pointArray - An array of 3 numbers
12 | * @return {object} - An object with {x, y, z} coordinates.
13 | *
14 | * @example
15 | > makePosition3D([1, 2, 3])
16 | {x: 1, y: 2, z: 3}
17 | *
18 | * @since 0.1.0
19 | */
20 | export const makePosition3D = _.partial(_.make, [['x', 'y', 'z'], _.__]);
21 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/string-number.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/string-number
3 | */
4 |
5 | /**
6 | * Return the length of the end of line, if any.
7 | *
8 | * @function
9 | * @arg {string}
10 | * @return {number}
11 | *
12 | * @example
13 | > getEndOfLineLength('hello')
14 | 0
15 | > getEndOfLineLength('hello\n')
16 | 1
17 | > getEndOfLineLength('hello\r\n')
18 | 2
19 | *
20 | * @since 0.9.0
21 | */
22 | export const getEndOfLineLength = s =>
23 | (/\r\n$/u).test(s) ? 2 : (/\n$/u).test(s) ? 1 : 0;
24 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/components/index.json.js:
--------------------------------------------------------------------------------
1 | export function get (req, res) {
2 | res.writeHead(200, {
3 | 'Content-Type': 'application/json'
4 | });
5 |
6 | res.end(JSON.stringify([
7 | {name: 'barchart', slug: 'BarchartVDiv'},
8 | {name: 'choropleth', slug: 'ChoroplethG'},
9 | {name: 'hierarchy', slug: 'Hierarchy'},
10 | {name: 'histogram', slug: 'HistogramG'},
11 | {name: 'legend', slug: 'ColorBinsG'},
12 | {name: 'trends', slug: 'Trends'},
13 | {name: 'ui', slug: 'ui-AlphabetPicker'},
14 | ]));
15 | }
16 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/compounds/index.svelte:
--------------------------------------------------------------------------------
1 |
2 | Svizzle Compounds
3 |
4 |
5 | Compounds
6 |
7 |
18 |
19 |
20 |
26 |
--------------------------------------------------------------------------------
/packages/components/mapbox/src/CustomControl.svelte:
--------------------------------------------------------------------------------
1 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array_proto-boolean.spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {includes} from './array_proto-boolean.js';
4 |
5 | describe('(prototype) Array -> (Any -> Boolean)', function () {
6 | describe('includes', function () {
7 | it('return an function expecting a value and returning true if it is included in the provided array', function () {
8 | assert.deepStrictEqual(includes([0, 1, 2], 2), true);
9 | assert.deepStrictEqual(includes([0, 1, 2], 3), false);
10 | });
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/components/_components.js:
--------------------------------------------------------------------------------
1 | import * as barchart from '@svizzle/barchart';
2 | import * as choropleth from '@svizzle/choropleth';
3 | import * as hierarchy from '@svizzle/hierarchy';
4 | import * as histogram from '@svizzle/histogram';
5 | import * as legend from '@svizzle/legend';
6 | import * as trends from '@svizzle/trends';
7 | import * as ui from '@svizzle/ui';
8 |
9 | export default {
10 | ...barchart,
11 | ...choropleth,
12 | ...hierarchy,
13 | ...histogram,
14 | ...legend,
15 | ...trends,
16 | ...ui,
17 | };
18 |
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/lib/stores/trends.js:
--------------------------------------------------------------------------------
1 | import {objectToKeyValueArray} from '@svizzle/utils';
2 | import * as _ from 'lamb';
3 | import {derived} from 'svelte/store';
4 |
5 | // lib/utils
6 | import {sortAscByYear} from '../utils/domain.js';
7 |
8 | // lib/stores
9 | import {_selectionData} from './indicator.js';
10 |
11 | const makeTrends = _.pipe([
12 | _.groupBy(_.getPath('region.id')),
13 | _.mapValuesWith(sortAscByYear),
14 | objectToKeyValueArray
15 | ]);
16 |
17 | export const _trends = derived(_selectionData, makeTrends);
18 |
--------------------------------------------------------------------------------
/packages/docs/site/src/template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | %sapper.base%
8 |
9 |
10 |
11 | %sapper.styles%
12 | %sapper.head%
13 |
14 |
15 | %sapper.html%
16 | %sapper.scripts%
17 |
18 |
19 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/number-[number-number].spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {roundTo} from './number-[number-number].js';
4 |
5 | describe('Number -> (Number -> Number)', function () {
6 | describe('roundTo', function () {
7 | it('should return a function that rounds the input number to the provided number of digits', function () {
8 | const roundTo2 = roundTo(2)
9 | assert.deepStrictEqual(roundTo2(2.41285), 2.41);
10 | assert.deepStrictEqual(roundTo2(2.41785), 2.42);
11 | });
12 | });
13 | });
14 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/compounds/time_region_value/[id]/index.svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
18 |
19 |
24 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/object-[string-boolean].spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {isKeyOf} from './object-[string-boolean].js';
4 |
5 | describe('Object -> (String -> Boolean)', function () {
6 | describe('isKeyOf', function () {
7 | it('should return a function that checks if the expected string is a key of the provided object', function () {
8 | const isKeyOfObj = isKeyOf({a: 1, b: 2});
9 | assert.strictEqual(isKeyOfObj('a'), true);
10 | assert.strictEqual(isKeyOfObj('c'), false);
11 | });
12 | });
13 | });
14 |
--------------------------------------------------------------------------------
/packages/components/mapbox/src/util.js:
--------------------------------------------------------------------------------
1 | export class CustomControl {
2 | constructor (node) {
3 | this.elementNode = node;
4 | }
5 |
6 | onAdd (map) {
7 | this._map = map;
8 | this._container = document.createElement('div');
9 | this._container.className = 'mapboxgl-ctrl mapboxgl-ctrl-group';
10 | this._container.appendChild(this.elementNode);
11 |
12 | return this._container;
13 | }
14 |
15 | onRemove () {
16 | this._container.remove();
17 | this.map = undefined;
18 | }
19 | }
20 |
21 | export const ws_en_to_wsen = ([[w, s], [e, n]]) => [w, s, e, n];
22 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/compounds/time_region_value/_data/stores.js:
--------------------------------------------------------------------------------
1 | import {getYearExtent, makeIndicatorsLookup} from '@svizzle/time_region_value';
2 | import {inclusiveRange} from '@svizzle/utils';
3 | import {derived, readable} from 'svelte/store';
4 |
5 | import {default as groups} from './indicatorsGroups.js';
6 |
7 | export const lookup = makeIndicatorsLookup(groups);
8 |
9 | /* data */
10 |
11 | export const _groups = readable(groups);
12 | export const _yearExtent = derived(_groups, getYearExtent);
13 | export const _yearRange = derived(_yearExtent, inclusiveRange);
14 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[number-number].spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {makePolynomial} from './array-[number-number].js';
4 |
5 | describe('Array -> (Number -> Number)', function () {
6 | describe('makePolynomial', function () {
7 | it('should return a function that computes the polynomial of the input number using the provided cofficients', function () {
8 | const poly = makePolynomial([0,2,0,4]);
9 |
10 | assert.deepStrictEqual(poly(2), 36);
11 | assert.deepStrictEqual(poly(5), 510);
12 | });
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-string.spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {stringify} from './any-string.js';
4 |
5 | describe('Any -> String', function () {
6 | describe('stringify', function () {
7 | it('should return a string representation of the input with indentation = 2', function () {
8 | assert.deepStrictEqual(stringify([]), '[]');
9 | assert.deepStrictEqual(stringify([1]), '[\n 1\n]');
10 | assert.deepStrictEqual(stringify({a: 1}), '{\n "a": 1\n}');
11 | });
12 | });
13 | // TODO very minimal testing, improve
14 | });
15 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/compounds/mapbox/empty.svelte:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
15 |
16 |
17 |
23 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-undefined.spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {noop} from './any-undefined.js';
4 |
5 | describe('Any -> Undefined', function () {
6 | describe('noop', function () {
7 | it('should do nothing and return `undefined`', function () {
8 | assert.deepStrictEqual(noop(), undefined);
9 | assert.deepStrictEqual(noop(1), undefined);
10 | assert.deepStrictEqual(noop('d'), undefined);
11 | assert.deepStrictEqual(noop([1, 2]), undefined);
12 | assert.deepStrictEqual(noop({a: 1}), undefined);
13 | });
14 | });
15 | });
16 |
--------------------------------------------------------------------------------
/packages/components/ui/src/viewports/ViewsXor.svelte:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
23 |
24 |
25 |
31 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/buffer-any.spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {jsonBufferToAny} from './buffer-any.js';
4 |
5 | describe('Stream-Any', function () {
6 | describe('jsonBufferToAny', function () {
7 | it('should convert a buffer representing a json object into a javascript object', function () {
8 | const encoder = new TextEncoder();
9 | const buffer = encoder.encode('{"a": 1}');
10 | const actual = jsonBufferToAny(buffer);
11 | const expected = {a: 1};
12 |
13 | assert.deepStrictEqual(actual, expected);
14 | });
15 | });
16 | });
17 |
--------------------------------------------------------------------------------
/packages/components/ui/src/MessageView.svelte:
--------------------------------------------------------------------------------
1 |
14 |
15 |
22 | {text}
23 |
24 |
--------------------------------------------------------------------------------
/packages/components/histogram/doc/brushing.dot:
--------------------------------------------------------------------------------
1 | digraph G {
2 | /*
3 | compound=true;
4 | */
5 | nodesep=0.9;
6 | overlap=false;
7 | rankdir=LR;
8 | splines=true;
9 |
10 | Off -> Pressed [label="mousedown \n store origin"];
11 | Pressed -> Off [label="mouseup \n reset brush"];
12 | Pressed -> Pressed [label="mousemove \n update delta"];
13 | Pressed -> Brushing [label="mousemove 'enough' \n start = current bin \n event: 'brushstart'"];
14 | Brushing -> Off [label="mouseup \n reset brush \n event: 'brushend'"];
15 | Brushing -> Brushing [label="mouseenter \n end = entered bin \n event: 'brushed'"];
16 | }
17 |
--------------------------------------------------------------------------------
/packages/components/legend/doc/brushing.dot:
--------------------------------------------------------------------------------
1 | digraph G {
2 | /*
3 | compound=true;
4 | */
5 | nodesep=0.9;
6 | overlap=false;
7 | rankdir=LR;
8 | splines=true;
9 |
10 | Off -> Pressed [label="mousedown \n store origin"];
11 | Pressed -> Off [label="mouseup \n reset brush"];
12 | Pressed -> Pressed [label="mousemove \n update delta"];
13 | Pressed -> Brushing [label="mousemove 'enough' \n start = current bin \n event: 'brushstart'"];
14 | Brushing -> Off [label="mouseup \n reset brush \n event: 'brushend'"];
15 | Brushing -> Brushing [label="mouseenter \n end = entered bin \n event: 'brushed'"];
16 | }
17 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/compounds/time_region_value/[id]/[year].svelte:
--------------------------------------------------------------------------------
1 |
13 |
14 |
19 |
20 |
26 |
--------------------------------------------------------------------------------
/packages/components/mapbox/src/MapboxglUnsupported.svelte:
--------------------------------------------------------------------------------
1 |
2 |
Your browser does not support Mapbox GL and therefore will not display correctly.
3 |
Please use latest Firefox or Chrome, Safari 9+ or Edge 13+.
4 |
5 |
6 |
22 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/compounds/time_region_value/_layout.svelte:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 | @svizzle/time_region_value
14 |
15 |
16 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/packages/components/ui/src/drivers/fonts/FontsLoader.svelte:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/iterable-number.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/iterable-number
3 | */
4 |
5 | import * as _ from 'lamb';
6 |
7 | /**
8 | * Get the length of the iterable
9 | *
10 | * @function
11 | * @arg {iterable} iterable
12 | * @return {number}
13 | *
14 | * @example
15 | > getLength('a')
16 | 1
17 | > getLength('two')
18 | 3
19 | > getLength([10])
20 | 1
21 | > getLength([3, 7])
22 | 2
23 | > function func () {
24 | return getLength(arguments);
25 | }
26 | > func()
27 | 0
28 | > func()
29 | 0
30 | > func('a', 'b')
31 | 2
32 | *
33 | * @since 0.1.0
34 | */
35 | export const getLength = _.getKey('length');
36 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/number-[number-number].js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/number-[number-number]
3 | */
4 |
5 | /**
6 | * Return a function that rounds the input number to the provided number of digits.
7 | * @see https://github.com/d3/d3-path/issues/10#issuecomment-262577521
8 | *
9 | * @function
10 | * @arg {number} precision - Must be an integer
11 | * @return {function} - Number -> Number
12 | *
13 | * @example
14 | > roundTo2 = roundTo(2)
15 | > roundTo2(2.41285)
16 | 2.41
17 | > roundTo2(2.41785)
18 | 2.42
19 | * @since 0.6.0
20 | */
21 | export const roundTo = precision => x => Number(x.toFixed(precision));
22 |
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/lib/stores/index.js:
--------------------------------------------------------------------------------
1 | export {toggleColorScheme} from './colors.js';
2 | export {
3 | getYearExtent,
4 | makeIndicatorsLookup,
5 | setGroups,
6 | } from './dataset.js';
7 | export {
8 | hideGeoModal,
9 | hideInfoModal,
10 | toggleGeoModal,
11 | toggleInfoModal,
12 | } from './modals.js';
13 | export {showView} from './navigation.js';
14 | export {
15 | deselectAllRoots,
16 | focusRoot,
17 | selectAllRoots,
18 | setCurrentLevel,
19 | toggleRoot,
20 | } from './selectedRegions.js';
21 | export {setSelectedYear, resetSelectedYear} from './selectedYear.js';
22 | export {customizeTheme} from './theme.js';
23 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/string-regexp.spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {regexOf, safeRegexOf} from './string-regexp.js';
4 |
5 | describe('String -> RegExp', function () {
6 | describe('regexOf', function () {
7 | it('should return a regular expression based on the given string', function () {
8 | assert.deepStrictEqual(regexOf('foo'), /foo/giu);
9 | });
10 | });
11 | describe('safeRegexOf', function () {
12 | it('should return a safe regular expression based on the given string', function () {
13 | assert.deepStrictEqual(safeRegexOf('foo+bar'), /foo\+bar/giu);
14 | });
15 | });
16 | });
17 |
--------------------------------------------------------------------------------
/packages/components/ui/src/sensors/style/StyleSensor.svelte:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/object-[string-boolean].js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/object-[string-boolean]
3 | */
4 |
5 | import * as _ from 'lamb';
6 |
7 | /**
8 | * Return a function that checks if the expected string is a key of the provided object
9 | *
10 | * @function
11 | * @arg {object} object
12 | * @return {function} - String -> Boolean
13 | *
14 | * @example
15 | > isKeyOfObj = isKeyOf({a: 1, b: 2})
16 | > isKeyOfObj('a')
17 | true
18 | > isKeyOfObj('c')
19 | false
20 | *
21 | * @since 0.7.0
22 | * @see https://ascartabelli.github.io/lamb/module-lamb.html#hasKey
23 | */
24 | export const isKeyOf = obj => key => _.has(obj, key);
25 |
--------------------------------------------------------------------------------
/packages/components/ui/src/drivers/fonts/utils.js:
--------------------------------------------------------------------------------
1 | import {isKeyValue} from '@svizzle/utils';
2 | import * as _ from 'lamb';
3 |
4 | export const getFamily = _.getKey('family');
5 | export const getFamilies = _.mapWith(getFamily);
6 |
7 | export const isFamilyEqualTo = family => isKeyValue(['family', family]);
8 |
9 | export const createFontFaces = ({family, faces}) => faces && faces.map(
10 | ({src, descriptors}) => new FontFace(family, src, descriptors)
11 | );
12 |
13 | export const loadFontFaces = faces => faces && Promise.all(
14 | faces.map(async face => {
15 | const fontFace = await face.load();
16 | document.fonts.add(fontFace);
17 | })
18 | );
19 |
--------------------------------------------------------------------------------
/packages/components/ui/src/drivers/style/StyleDriver.svelte:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/packages/tools/atlas/data/base/NUTS/0/history/README.md:
--------------------------------------------------------------------------------
1 | # History of NUTS
2 |
3 | Source: https://ec.europa.eu/eurostat/web/nuts/history
4 |
5 | - https://ec.europa.eu/eurostat/documents/345175/629341/1995-1999.xls
6 | - https://ec.europa.eu/eurostat/documents/345175/629341/1999-2003.xls
7 | - https://ec.europa.eu/eurostat/documents/345175/629341/2003-2006.xls
8 | - https://ec.europa.eu/eurostat/documents/345175/629341/2006-2010.xls
9 | - https://ec.europa.eu/eurostat/documents/345175/629341/NUTS+2010+-+NUTS+2013.xls
10 | - https://ec.europa.eu/eurostat/documents/345175/629341/NUTS2013-NUTS2016.xlsx
11 | - https://ec.europa.eu/eurostat/documents/345175/629341/NUTS2021.xlsx
12 |
--------------------------------------------------------------------------------
/packages/tools/atlas/src/specs.js:
--------------------------------------------------------------------------------
1 | export default {
2 | world: {
3 | // epsgId: undefined, // TODO
4 | // years: undefined, // TODO
5 | levels: [0],
6 | objectIds: ['countries', 'land'],
7 | properties: ['iso_a2'],
8 | resolutions: ['110m'],
9 | type: 'world',
10 | },
11 | NUTS: {
12 | epsgId: 4326,
13 | levels: [0, 1, 2, 3],
14 | objectIds: ['NUTS'],
15 | properties: [
16 | 'NUTS_ID',
17 | 'LEVL_CODE',
18 | 'CNTR_CODE',
19 | 'NUTS_NAME',
20 | 'FID',
21 | ],
22 | resolutions: ['03M', '10M'],
23 | type: 'NUTS',
24 | years: [
25 | 2003,
26 | 2006,
27 | 2010,
28 | 2013,
29 | 2016,
30 | 2021,
31 | ],
32 | },
33 | }
34 |
--------------------------------------------------------------------------------
/packages/components/ui/src/NoScript.svelte:
--------------------------------------------------------------------------------
1 |
8 |
9 |
35 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/_error.svelte:
--------------------------------------------------------------------------------
1 |
7 |
8 |
29 |
30 |
31 | {status}
32 |
33 |
34 | {status}
35 |
36 | {error.message}
37 |
38 | {#if dev && error.stack}
39 | {error.stack}
40 | {/if}
41 |
--------------------------------------------------------------------------------
/packages/tools/request/src/json.spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import nock from 'nock';
4 | import fetch from 'node-fetch';
5 |
6 | import {requestNdjson} from './json.js';
7 |
8 | global.fetch = fetch;
9 |
10 | describe('requestNdjson', function() {
11 | const ndjson = '{"a":1}\n{"b":2}\n\n';
12 | const array = [{a: 1}, {b: 2}];
13 |
14 | it('should return a request to a ndjson file as a promise',
15 | async function () {
16 | nock('http://this.test')
17 | .get('/ndjson')
18 | .reply(200, ndjson);
19 |
20 | const response = await requestNdjson('http://this.test/ndjson');
21 |
22 | assert.deepStrictEqual(response, array);
23 | }
24 | );
25 | });
26 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-[array-object].spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {makeKeyed} from './any-[array-object].js';
4 |
5 | describe('Any -> (Any -> Array)', function () {
6 | describe('toFloatOrIdentity', function () {
7 | it('should return a function expecting an array of keys and returning an object with the provided value as value of those keys', function () {
8 | const makeKeyedEmptyArray = makeKeyed([]);
9 |
10 | assert.deepStrictEqual(
11 | makeKeyedEmptyArray([1, 2]),
12 | {1: [], 2: []}
13 | );
14 | assert.deepStrictEqual(
15 | makeKeyedEmptyArray(['a', 'b']),
16 | {a: [], b: []}
17 | );
18 | });
19 | });
20 | });
21 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/components/_examples/utils.js:
--------------------------------------------------------------------------------
1 | import {makeRegexOf, transformValues} from '@svizzle/utils';
2 | import * as _ from 'lamb';
3 |
4 | const makeIndentSvelteMarkup = indent => str =>
5 | str.trim()
6 | .replace(makeRegexOf('gum')(`^\t{${indent}}`), '')
7 | .replace(/\t/gum, ' ');
8 |
9 | const makeExamplesFormatter = indent =>
10 | _.mapWith(transformValues({
11 | doc: _.mapWith(transformValues({
12 | content: s => s.trim(),
13 | })),
14 | data: _.mapWith(transformValues({
15 | usage: makeIndentSvelteMarkup(indent)
16 | }))
17 | }));
18 |
19 | export const examplesFormatter3 = makeExamplesFormatter(3);
20 | export const examplesFormatter4 = makeExamplesFormatter(4);
21 |
--------------------------------------------------------------------------------
/packages/tools/request/src/json.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/request/json
3 | */
4 |
5 | import {ndjsonToArray} from '@svizzle/utils';
6 | import {text} from 'd3-fetch';
7 |
8 | /* ndjson */
9 |
10 | /**
11 | * Return a request to a ndjson file as a promise.
12 | *
13 | * @function
14 | * @arg {string} url - The URL for the request (GET).
15 | * @return {promise}
16 | *
17 | * @example
18 | requestNdjson('ndjson/url')
19 | .then(x => console.log(x))
20 | .catch(err => console.error(err));
21 |
22 | async function foo() {
23 | const x = await requestNdjson('ndjson/url');
24 | // ...;
25 | }
26 | *
27 | * @since 0.1.0
28 | */
29 | export const requestNdjson = url => text(url).then(ndjsonToArray);
30 |
--------------------------------------------------------------------------------
/packages/tools/atlas/data/base/NUTS/0/history/recoded/2016_2021.tsv:
--------------------------------------------------------------------------------
1 | oldId newId
2 | HR041 HR050
3 | HR046 HR061
4 | HR044 HR062
5 | HR045 HR063
6 | HR043 HR064
7 | HR042 HR065
8 | HR047 HR021
9 | HR048 HR022
10 | HR049 HR023
11 | HR04A HR024
12 | HR04B HR025
13 | HR04C HR026
14 | HR04D HR027
15 | HR04E HR028
16 | UKN10 UKN0A
17 | UKN11 UKN0B
18 | UKN12 UKN0C
19 | UKN13 UKN0D
20 | UKN14 UKN0E
21 | UKN15 UKN0F
22 | UKN16 UKN0G
23 | NO011 NO081
24 | NO043 NO0A1
25 | NO053 NO0A3
26 | BE221 BE224
27 | BE222 BE225
28 | BE321 BE32A
29 | BE322 BE32B
30 | BE325 BE32C
31 | BE326 BE32D
32 | EE006 EE009
33 | EE007 EE00A
34 | ITG25 ITG2D
35 | ITG26 ITG2E
36 | ITG27 ITG2F
37 | ITG28 ITG2G
38 | NO05 NO0A
39 | UKK21 UKK24
40 | UKK22 UKK25
41 |
--------------------------------------------------------------------------------
/packages/components/time_region_value/src/lib/stores/modals.js:
--------------------------------------------------------------------------------
1 | import {negate, transformValues} from '@svizzle/utils';
2 | import {writable} from 'svelte/store';
3 |
4 | // modal utils
5 |
6 | const hidden = {isVisible: false};
7 | const toggleIsVisible = transformValues({isVisible: negate});
8 |
9 | /* geo modal */
10 |
11 | export const _geoModal = writable(hidden);
12 | export const hideGeoModal = () => _geoModal.set(hidden);
13 | export const toggleGeoModal = () => _geoModal.update(toggleIsVisible);
14 |
15 | /* info modal */
16 |
17 | export const _infoModal = writable(hidden);
18 | export const hideInfoModal = () => _infoModal.set(hidden);
19 | export const toggleInfoModal = () => _infoModal.update(toggleIsVisible);
20 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array_proto-string.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/array_proto-string
3 | */
4 |
5 | import * as _ from 'lamb';
6 |
7 | /**
8 | * Return an string by joining the provided array with the provided separator
9 | * @see
10 | {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join|Array.prototype.join},
11 | {@link https://ascartabelli.github.io/lamb/module-lamb.html#joinWith|joinWith}
12 | *
13 | * @function
14 | * @arg {array} array
15 | * @arg {string} separator
16 | * @return {string}
17 | *
18 | * @example
19 | > join([0, 1, 2], '-')
20 | '0-1-2'
21 | *
22 | * @since 0.1.0
23 | */
24 | export const join = _.generic(Array.prototype.join);
25 |
--------------------------------------------------------------------------------
/packages/components/ui/src/utils/rx.js:
--------------------------------------------------------------------------------
1 | import {get, readable, writable} from 'svelte/store';
2 |
3 | export const rxStreamToSvReadable = rxStream => readable(
4 | rxStream.getValue?.(),
5 | set => {
6 | const subscription = rxStream.subscribe(value => set(value));
7 |
8 | return () => subscription.unsubscribe();
9 | }
10 | );
11 |
12 | export const rxStreamToSvWritable = rxStream => {
13 | const store = writable(
14 | rxStream.getValue?.(),
15 | set => {
16 | const subscription = rxStream.subscribe(
17 | value => value !== get(store) && set(value)
18 | );
19 |
20 | return () => subscription.unsubscribe();
21 | }
22 | );
23 | store.subscribe(value => rxStream.next(value));
24 |
25 | return store;
26 | };
27 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/any-[array-object].js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/any-[array-object]
3 | */
4 |
5 | import * as _ from 'lamb';
6 |
7 | /**
8 | * Return a function expecting an array of keys and returning an object with
9 | * the provided value as value of those keys.
10 | *
11 | * @function
12 | * @arg {*} value
13 | * @return {function} function - Array -> Object
14 | *
15 | * @example
16 | > makeKeyedEmptyArray = makeKeyed([])
17 | > makeKeyedEmptyArray([1, 2])
18 | {1: [], 2: []}
19 | > makeKeyedEmptyArray(['a', 'b'])
20 | {a: [], b: []}
21 | *
22 | * @since 0.3.0
23 | */
24 | export const makeKeyed = value => _.pipe([
25 | _.collect([_.identity, _.mapWith(_.always(value))]),
26 | _.apply(_.make)
27 | ]);
28 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/[any-boolean]-[array-array].spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {raiseWith} from './[any-boolean]-[array-array].js';
4 |
5 | describe('(Any -> Boolean) -> (Array -> Array)', function () {
6 | describe('raiseWith', function () {
7 | it('should return a function expecting an array and returning a new array with all items satisfying the provided predicate in the tail, in the same relative order they were in the input array', function () {
8 | const raiseOdds = raiseWith(x => x % 2 === 1);
9 | let actual = raiseOdds([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
10 | let expected = [0, 2, 4, 6, 8, 1, 3, 5, 7, 9];
11 |
12 | assert.deepStrictEqual(actual, expected);
13 | });
14 | });
15 | });
16 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/[string-boolean]-[object-boolean].spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import * as _ from 'lamb';
4 |
5 | import {hasKeyWith} from './[string-boolean]-[object-boolean].js';
6 |
7 | describe('(String -> Boolean) -> (Object -> Boolean)', function () {
8 | describe('hasKeyWith', function () {
9 | it('should return a function expecting an object and returning `true` if the input object has a key satisfying the provided predicate', function () {
10 | const hasA = hasKeyWith(_.is('a'));
11 |
12 | assert.deepStrictEqual(
13 | hasA({a: 2, b: 4, c: 3}),
14 | true
15 | );
16 | assert.deepStrictEqual(
17 | hasA({b: 4, c: 3}),
18 | false
19 | );
20 | });
21 | });
22 | })
23 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/[string-string]-[object-object].spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {makePrefixed} from './string-[string-string].js';
4 | import {renameKeysWith} from './[string-string]-[object-object].js';
5 |
6 | describe('(String -> String) -> (Object -> Object)', function () {
7 | describe('renameKeysWith', function () {
8 | it('should return a function expecting an object and returning a new object with keys renamed with the provided function', function () {
9 | const rename = renameKeysWith(makePrefixed('--'));
10 |
11 | assert.deepStrictEqual(
12 | rename({foo: 1, bar: 2, 'another-var': 3}),
13 | {'--foo': 1, '--bar': 2, '--another-var': 3}
14 | );
15 | });
16 | });
17 | });
18 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/string-number.spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {getEndOfLineLength} from './string-number.js';
4 |
5 | describe('String -> Number', function () {
6 | describe('getEndOfLineLength', function () {
7 | it('should return 0 if the input string has no end of line', function () {
8 | assert.deepStrictEqual(getEndOfLineLength('hello'), 0);
9 | });
10 | it('should return 1 if the input string has the Unix end of line', function () {
11 | assert.deepStrictEqual(getEndOfLineLength('hello\n'), 1);
12 | });
13 | it('should return 1 if the input string has the Windows end of line', function () {
14 | assert.deepStrictEqual(getEndOfLineLength('hello\r\n'), 2);
15 | });
16 | });
17 | });
18 |
--------------------------------------------------------------------------------
/packages/docs/site/src/routes/components/_examples/bins_value_non_uniform.js:
--------------------------------------------------------------------------------
1 | export default [{
2 | "range": [0, 10],
3 | "value": 20
4 | }, {
5 | "range": [10, 12],
6 | "value": 2
7 | }, {
8 | "range": [12, 18],
9 | "value": 24
10 | }, {
11 | "range": [18, 20],
12 | "value": 12
13 | }, {
14 | "range": [20, 22],
15 | "value": 2
16 | }, {
17 | "range": [22, 24],
18 | "value": 15
19 | }, {
20 | "range": [24, 56],
21 | "value": 89
22 | }, {
23 | "range": [56, 70],
24 | "value": 24
25 | }, {
26 | "range": [70, 92],
27 | "value": 125
28 | }, {
29 | "range": [92, 99],
30 | "value": 1
31 | }, {
32 | "range": [99, 129],
33 | "value": 23
34 | }, {
35 | "range": [129, 152],
36 | "value": 67
37 | }, {
38 | "range": [152, 160],
39 | "value": 18
40 | }];
41 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[number-boolean].js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/array-[number-boolean]
3 | */
4 |
5 | import * as _ from 'lamb';
6 |
7 | /**
8 | * Return a function expecting a number and returning true if the number is within the provided range.
9 | * Note that the range is inclusive.
10 | *
11 | * @function
12 | * @arg {array} range - Array of two numbers
13 | * @return {function} predicate - Number -> Boolean
14 | *
15 | * @example
16 | > isWithinRange = makeIsWithinRange([0, 5])
17 | > isWithinRange(2)
18 | true
19 | > isWithinRange(5)
20 | true
21 | > isWithinRange(8)
22 | false
23 | *
24 | * @since 0.1.0
25 | */
26 | export const makeIsWithinRange = range => _.allOf([
27 | _.isGTE(range[0]),
28 | _.isLTE(range[1])
29 | ]);
30 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/string-[array-array].js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/string-[array-array]
3 | */
4 |
5 | import * as _ from 'lamb';
6 |
7 | /**
8 | * Return a function expecting an array of objects and plucking the provided array
9 | * with the input path
10 | *
11 | * @see https://ascartabelli.github.io/lamb/module-lamb.html#pluck
12 | *
13 | * @function
14 | * @arg {string} path
15 | * @return {function} - String -> (Array -> Array)
16 | *
17 | * @example
18 | > getABs = pluckPath('a.b')
19 | > getABs([{a: {b: -1, label: 'foo'}}, {a: {b: 4, label: 'bar'}}])
20 | [-1, 4]
21 | > getABs([{a: {label: 'foo'}}, {a: {b: 2}}])
22 | [undefined, 2]
23 | *
24 | * @since 0.16.0
25 | */
26 | export const pluckPath = path => _.mapWith(_.getPath(path));
27 |
--------------------------------------------------------------------------------
/packages/components/ui/src/sensors/style/README.md:
--------------------------------------------------------------------------------
1 | # StyleSensor
2 |
3 | This Svelte component provides a way to dynamically read a specific CSS rule in a specific stylesheet.
4 |
5 | It's useful to get a CSS style as a JS object in your application.
6 |
7 | ## Props
8 |
9 | | Prop | Type | Description |
10 | | --- | --- | --- |
11 | | `href` | `string` | The URL of the stylesheet to be read |
12 | | `selectorRegex` | `regexp` | A RegExp to identify the desired selector |
13 | | `styleRules` | `object` | An object where to store the properties for the provided selector. Typically you'd bind it to a store. |
14 |
15 | ## Usage
16 |
17 | ```html
18 |
23 | ```
24 |
--------------------------------------------------------------------------------
/packages/tools/atlas/src/bin/checkVersion.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | import {fileURLToPath} from 'node:url';
4 |
5 | import {readJson} from '@svizzle/file';
6 |
7 | import {version as utilsVersion} from '../utils.js';
8 |
9 | const packagePath =
10 | fileURLToPath(new URL('../../package.json', import.meta.url));
11 |
12 | readJson(packagePath)
13 | .then(({version: packageVersion}) => {
14 | if (utilsVersion !== packageVersion) {
15 | console.log(`\n======================\n✋`);
16 | console.log(`/atlas: version mismatch! src/utils.js: ${utilsVersion}, package.json: ${packageVersion}`);
17 | console.log(`======================\n`);
18 |
19 | // eslint-disable-next-line no-process-exit
20 | process.exit(1);
21 | }
22 | })
23 | .catch(err => console.error(err));
24 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[number-boolean].spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {makeIsWithinRange} from './array-[number-boolean].js';
4 |
5 | describe('Array -> (Number -> Boolean)', function () {
6 | describe('makeIsWithinRange', function () {
7 | it('should return a function expecting a number returning true if the number is within the provided range', function () {
8 | const isWithinRange = makeIsWithinRange([0, 5]);
9 |
10 | assert.deepStrictEqual(isWithinRange(-1), false);
11 | assert.deepStrictEqual(isWithinRange(0), true);
12 | assert.deepStrictEqual(isWithinRange(2), true);
13 | assert.deepStrictEqual(isWithinRange(5), true);
14 | assert.deepStrictEqual(isWithinRange(8), false);
15 | });
16 | });
17 | });
18 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/[string-boolean]-[object-boolean].js:
--------------------------------------------------------------------------------
1 | import * as _ from 'lamb';
2 |
3 | import {isNotNil} from './any-boolean.js';
4 |
5 | /**
6 | * @module @svizzle/utils/[string-boolean]-[object-boolean]
7 | */
8 |
9 | /**
10 | * Return a function expecting an object and returning `true` if the input
11 | * object has a key satisfying the provided predicate
12 | *
13 | * @function
14 | * @arg {predicate}
15 | * @return {function} - Object -> Boolean
16 | *
17 | * @example
18 | > hasA = hasKeyWith(_.is('a'))
19 | > hasA({a: 2, b: 4, c: 3})
20 | true
21 | > hasA({b: 4, c: 3})
22 | false
23 | *
24 | * @since 0.20.0
25 | */
26 | export const hasKeyWith = predicate => _.pipe([
27 | _.pairs,
28 | _.findWhere(_.pipe([_.head, predicate])),
29 | isNotNil
30 | ]);
31 |
--------------------------------------------------------------------------------
/packages/components/ui/src/actions/resizeHandler.js:
--------------------------------------------------------------------------------
1 | import * as _ from 'lamb';
2 |
3 | export const resizeHandler = (
4 | node,
5 | {
6 | onResize,
7 | onResizeEnd,
8 | onResizeStart,
9 | timeout = 500
10 | } = {}
11 | ) => {
12 | let resizing = false;
13 |
14 | const started = size => {
15 | resizing = true;
16 | onResizeStart?.(size);
17 | }
18 | const scheduleEnded = _.debounce(size => {
19 | resizing = false;
20 | onResizeEnd?.(size);
21 | }, timeout);
22 |
23 | const observer = new ResizeObserver(entries => {
24 | const [size] = entries[0].borderBoxSize;
25 | !resizing && started(size);
26 |
27 | onResize?.(size);
28 |
29 | scheduleEnded(size);
30 | });
31 | observer.observe(node);
32 |
33 | return () => {
34 | observer.disconnect();
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/packages/tools/dev/src/log/iterable-array.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/dev/log/iterable-array
3 | */
4 |
5 | import * as _ from 'lamb';
6 |
7 | import {tapValue} from './string-[any-any].js';
8 |
9 | /**
10 | * Print the provided array and element and return the result of appending the element to the array
11 | *
12 | * @function
13 | * @arg {iterable} iterable
14 | * @arg {*} any
15 | * @return {array} - @sideEffects: console.log
16 | *
17 | * @example
18 | > tapAppendTo([1, 2, 3], 4)
19 | [1, 2, 3] // logged
20 | 4 // logged
21 | [1, 2, 3, 4]
22 |
23 | > tapAppendTo('abc', {a: 1})
24 | 'abc' // logged
25 | {a: 1} // logged
26 | ['a', 'b', 'c', {a: 1}]
27 | *
28 | * @since 0.3.0
29 | */
30 | export const tapAppendTo = _.tapArgs(
31 | _.appendTo,
32 | [tapValue(), tapValue()]
33 | );
34 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[string-boolean].spec.js:
--------------------------------------------------------------------------------
1 | import {strict as assert} from 'node:assert';
2 |
3 | import {containsOneOf} from './array-[string-boolean].js';
4 |
5 | describe('Array -> (String -> Boolean)', function () {
6 | describe('containsOneOf', function () {
7 | it('should return a function that checks if a string contains one of the provided strings', function () {
8 | const isWeight = containsOneOf(['(g)', '(mg)', '(mcg)']);
9 | const weightLabels = [
10 | 'id',
11 | 'Energy (kcal)',
12 | 'Protein (g)',
13 | 'Cholesterol (mg)',
14 | 'Selenium (mcg)'
15 | ].filter(isWeight);
16 | const expected = ['Protein (g)', 'Cholesterol (mg)', 'Selenium (mcg)'];
17 |
18 | assert.deepStrictEqual(weightLabels, expected);
19 | });
20 | });
21 | });
22 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array_proto-boolean.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/array_proto-boolean
3 | */
4 |
5 | import * as _ from 'lamb';
6 |
7 | /**
8 | * Return an function expecting a value and returning true if it is included in the provided array
9 | * @see
10 | {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes|Array.prototype.includes},
11 | {@link module:@svizzle/utils/array-[any-boolean].makeIsIncluded|makeIsIncluded}
12 | *
13 | * @function
14 | * @arg {array} array
15 | * @arg {*} any
16 | * @return {boolean}
17 | *
18 | * @example
19 | > includes([0, 1, 2], 2)
20 | true
21 | > includes([0, 1, 2], 3)
22 | false
23 | *
24 | * @since 0.3.0
25 | */
26 | export const includes = _.generic(Array.prototype.includes);
27 |
--------------------------------------------------------------------------------
/packages/tools/utils/src/modules/array-[string-boolean].js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module @svizzle/utils/array-[string-boolean]
3 | */
4 |
5 | import * as _ from 'lamb';
6 |
7 | /**
8 | * Return a function that checks if a string contains one of the provided strings.
9 | *
10 | * @function
11 | * @arg {array} strings - strings to check against
12 | * @return {function} - String -> Boolean
13 | *
14 | * @example
15 | > isWeight = containsOneOf(['(g)', '(mg)', '(mcg)'])
16 | > weightLabels = [
17 | 'id',
18 | 'Energy (kcal)',
19 | 'Protein (g)',
20 | 'Cholesterol (mg)',
21 | 'Selenium (mcg)'
22 | ].filter(isWeight);
23 | ['Protein (g)', 'Cholesterol (mg)', 'Selenium (mcg)']
24 | *
25 | * @since 0.4.0
26 | */
27 | export const containsOneOf = array =>
28 | string => _.someIn(array, x => string.includes(x));
29 |
--------------------------------------------------------------------------------
/packages/components/ui/src/drivers/style/README.md:
--------------------------------------------------------------------------------
1 | # StyleDriver
2 |
3 | This Svelte component provides a way to dynamically set a stylesheet and its rules. It's useful for when you need to apply styles to your application dynamically.
4 |
5 | ## Props
6 |
7 | | Prop | Type | Description |
8 | | --- | --- | --- |
9 | | `href` | `string` | The URL of the stylesheet to be loaded |
10 | | `styleRules` | `object` | An object containing the rules that should be set on the stylesheet |
11 |
12 | ## Usage
13 |
14 | ```html
15 |
31 | ```
32 |
--------------------------------------------------------------------------------
/packages/tools/atlas/README.md:
--------------------------------------------------------------------------------
1 | ## `@svizzle/atlas`
2 |
3 | Svizzle Atlas contains geographic boundaries data for mapping.
4 |
5 | https://nestauk.github.io/svizzle
6 |
7 | ### Installation
8 |
9 | *npm*
10 |
11 | `npm i -S @svizzle/atlas`
12 |
13 |
14 | ### Distribution files
15 |
16 | Files fetched or processed via `@svizzle/atlas` are distributed in [this repo](git@github.com:nestauk/svizzle_atlas_distro.git), which is a registered as a git [submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules), so the first time you clone `svizzle` please use:
17 |
18 | ```
19 | git clone --recurse-submodules git@github.com:nestauk/svizzle.git
20 | ```
21 |
22 | to make sure to fetch it.
23 |
24 | If you already cloned it and forgot `--recurse-submodules`, you can run:
25 |
26 | ```
27 | git submodule update --init
28 | ```
29 |
--------------------------------------------------------------------------------
/packages/components/mapbox/src/SvgLayer.svelte:
--------------------------------------------------------------------------------
1 |
20 |
21 |
30 |
31 |
41 |
--------------------------------------------------------------------------------