├── .DS_Store ├── Paddy2.sketchplugin └── Contents │ ├── Resources │ ├── PaddyFramework.framework │ │ ├── Versions │ │ │ ├── Current │ │ │ └── A │ │ │ │ ├── Modules │ │ │ │ └── module.modulemap │ │ │ │ ├── PaddyFramework │ │ │ │ ├── Resources │ │ │ │ ├── icon.png │ │ │ │ ├── padding.png │ │ │ │ ├── spacing.png │ │ │ │ ├── icon_rounded.png │ │ │ │ ├── example_default.png │ │ │ │ ├── example_detailed.png │ │ │ │ ├── paddy_align_left.pdf │ │ │ │ ├── paddy_align_top.pdf │ │ │ │ ├── paddy_stack_view.pdf │ │ │ │ ├── example_simplified.png │ │ │ │ ├── layerlist_padding.pdf │ │ │ │ ├── paddy_align_bottom.pdf │ │ │ │ ├── paddy_align_center.pdf │ │ │ │ ├── paddy_align_middle.pdf │ │ │ │ ├── paddy_align_right.pdf │ │ │ │ ├── PaddySettingsWindow.nib │ │ │ │ ├── paddy_align_left_only.pdf │ │ │ │ ├── paddy_align_top_left.pdf │ │ │ │ ├── paddy_align_top_only.pdf │ │ │ │ ├── paddy_align_top_right.pdf │ │ │ │ ├── paddy_padding_layer.pdf │ │ │ │ ├── paddy_stack_vertical.pdf │ │ │ │ ├── PaddyStackPromptWindow.nib │ │ │ │ ├── paddy_align_bottom_left.pdf │ │ │ │ ├── paddy_align_bottom_only.pdf │ │ │ │ ├── paddy_align_center_only.pdf │ │ │ │ ├── paddy_align_middle_left.pdf │ │ │ │ ├── paddy_align_middle_only.pdf │ │ │ │ ├── paddy_align_right_only.pdf │ │ │ │ ├── paddy_align_top_center.pdf │ │ │ │ ├── paddy_stack_horizontal.pdf │ │ │ │ ├── PaddyPaddingPromptWindow.nib │ │ │ │ ├── paddy_align_bottom_center.pdf │ │ │ │ ├── paddy_align_bottom_right.pdf │ │ │ │ ├── paddy_align_middle_center.pdf │ │ │ │ ├── paddy_align_middle_right.pdf │ │ │ │ ├── paddy_stack_view_vertical.pdf │ │ │ │ ├── paddy_padding_layer_inverted.pdf │ │ │ │ ├── paddy_stack_view_horizontal.pdf │ │ │ │ ├── PaddyPaddingInspectorController.nib │ │ │ │ ├── paddy_stack_view_horizontal_top.pdf │ │ │ │ ├── paddy_stack_view_vertical_left.pdf │ │ │ │ ├── paddy_stack_view_vertical_right.pdf │ │ │ │ ├── PaddyAlignmentInspectorController.nib │ │ │ │ ├── paddy_stack_view_vertical_center.pdf │ │ │ │ ├── PaddyLayerDetailsInspectorController.nib │ │ │ │ ├── PaddyStackGroupInspectorController.nib │ │ │ │ ├── paddy_stack_view_horizontal_bottom.pdf │ │ │ │ ├── paddy_stack_view_horizontal_middle.pdf │ │ │ │ ├── main.js │ │ │ │ ├── Info.plist │ │ │ │ └── manifest.json │ │ │ │ └── Headers │ │ │ │ └── PaddyFramework.h │ │ ├── Headers │ │ ├── Modules │ │ ├── Resources │ │ └── PaddyFramework │ ├── icon.png │ ├── padding.png │ ├── spacing.png │ └── icon_rounded.png │ └── Sketch │ ├── main.js │ └── manifest.json ├── LICENSE ├── .appcast.xml └── README.md /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/.DS_Store -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Modules: -------------------------------------------------------------------------------- 1 | Versions/Current/Modules -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/PaddyFramework: -------------------------------------------------------------------------------- 1 | Versions/Current/PaddyFramework -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/icon.png -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/padding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/padding.png -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/spacing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/spacing.png -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/icon_rounded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/icon_rounded.png -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module PaddyFramework { 2 | umbrella header "PaddyFramework.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/PaddyFramework: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/PaddyFramework -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/icon.png -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/padding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/padding.png -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/spacing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/spacing.png -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/icon_rounded.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/icon_rounded.png -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/example_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/example_default.png -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/example_detailed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/example_detailed.png -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_left.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_left.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_top.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_top.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/example_simplified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/example_simplified.png -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/layerlist_padding.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/layerlist_padding.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_bottom.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_bottom.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_center.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_center.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_middle.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_middle.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_right.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_right.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddySettingsWindow.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddySettingsWindow.nib -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_left_only.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_left_only.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_top_left.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_top_left.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_top_only.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_top_only.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_top_right.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_top_right.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_padding_layer.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_padding_layer.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_vertical.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_vertical.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyStackPromptWindow.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyStackPromptWindow.nib -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_bottom_left.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_bottom_left.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_bottom_only.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_bottom_only.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_center_only.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_center_only.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_middle_left.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_middle_left.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_middle_only.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_middle_only.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_right_only.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_right_only.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_top_center.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_top_center.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_horizontal.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_horizontal.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyPaddingPromptWindow.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyPaddingPromptWindow.nib -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_bottom_center.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_bottom_center.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_bottom_right.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_bottom_right.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_middle_center.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_middle_center.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_middle_right.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_align_middle_right.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_vertical.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_vertical.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_padding_layer_inverted.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_padding_layer_inverted.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_horizontal.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_horizontal.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyPaddingInspectorController.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyPaddingInspectorController.nib -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_horizontal_top.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_horizontal_top.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_vertical_left.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_vertical_left.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_vertical_right.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_vertical_right.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyAlignmentInspectorController.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyAlignmentInspectorController.nib -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_vertical_center.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_vertical_center.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyLayerDetailsInspectorController.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyLayerDetailsInspectorController.nib -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyStackGroupInspectorController.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/PaddyStackGroupInspectorController.nib -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_horizontal_bottom.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_horizontal_bottom.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_horizontal_middle.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DWilliames/paddy2-beta/HEAD/Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/paddy_stack_view_horizontal_middle.pdf -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Headers/PaddyFramework.h: -------------------------------------------------------------------------------- 1 | // 2 | // PaddyFramework.h 3 | // PaddyFramework 4 | // 5 | // Created by David Williames on 1/4/18. 6 | // Copyright © 2018 David Williames. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for PaddyFramework. 12 | FOUNDATION_EXPORT double PaddyFrameworkVersionNumber; 13 | 14 | //! Project version string for PaddyFramework. 15 | FOUNDATION_EXPORT const unsigned char PaddyFrameworkVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 David Williames 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Sketch/main.js: -------------------------------------------------------------------------------- 1 | // Setup 2 | 3 | function onSetUp(context) { 4 | // Load framework 5 | if (NSClassFromString("PaddyManager") == null) { 6 | var path = context.plugin.urlForResourceNamed("PaddyFramework.framework").path().stringByDeletingLastPathComponent() 7 | Mocha.sharedRuntime().loadFrameworkWithName_inDirectory("PaddyFramework", path) 8 | } 9 | 10 | PaddyManager.updateContext(context) 11 | } 12 | 13 | function start(context) { 14 | // Stub, so that 'onSetUp' is run on plugin being enabled or Sketch starting 15 | PaddyManager.start() 16 | } 17 | 18 | function layoutSelection(context) { 19 | PaddyManager.layoutSelection() 20 | } 21 | 22 | function holdOffUntilNextSelection(context) { 23 | PaddyManager.holdOffUntilNextSelection() 24 | } 25 | 26 | function holdOffChangesFromSelection(context) { 27 | PaddyManager.holdOffChangesFromSelection() 28 | } 29 | 30 | function allActions(context) { 31 | print(context) 32 | } 33 | 34 | 35 | // Actions 36 | 37 | function showSettings(context) { 38 | PaddyManager.showSettings() 39 | } 40 | 41 | function promptToApplyPadding(context) { 42 | PaddyManager.promptToApplyPadding() 43 | } 44 | 45 | function autoApplyPadding(context) { 46 | PaddyManager.autoApplyPadding() 47 | } 48 | 49 | function applySpacing(context) { 50 | PaddyManager.applySpacing() 51 | } 52 | 53 | function restart(context) { 54 | PaddyManager.restart() 55 | } 56 | -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/main.js: -------------------------------------------------------------------------------- 1 | // Setup 2 | 3 | function onSetUp(context) { 4 | // Load framework 5 | if (NSClassFromString("PaddyManager") == null) { 6 | var path = context.plugin.urlForResourceNamed("PaddyFramework.framework").path().stringByDeletingLastPathComponent() 7 | Mocha.sharedRuntime().loadFrameworkWithName_inDirectory("PaddyFramework", path) 8 | } 9 | 10 | PaddyManager.updateContext(context) 11 | } 12 | 13 | function start(context) { 14 | // Stub, so that 'onSetUp' is run on plugin being enabled or Sketch starting 15 | PaddyManager.start() 16 | } 17 | 18 | function layoutSelection(context) { 19 | PaddyManager.layoutSelection() 20 | } 21 | 22 | function holdOffUntilNextSelection(context) { 23 | PaddyManager.holdOffUntilNextSelection() 24 | } 25 | 26 | function holdOffChangesFromSelection(context) { 27 | PaddyManager.holdOffChangesFromSelection() 28 | } 29 | 30 | function allActions(context) { 31 | print(context) 32 | } 33 | 34 | 35 | // Actions 36 | 37 | function showSettings(context) { 38 | PaddyManager.showSettings() 39 | } 40 | 41 | function promptToApplyPadding(context) { 42 | PaddyManager.promptToApplyPadding() 43 | } 44 | 45 | function autoApplyPadding(context) { 46 | PaddyManager.autoApplyPadding() 47 | } 48 | 49 | function applySpacing(context) { 50 | PaddyManager.applySpacing() 51 | } 52 | 53 | function restart(context) { 54 | PaddyManager.restart() 55 | } 56 | -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 18A391 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | PaddyFramework 11 | CFBundleIdentifier 12 | com.davidwilliames.Paddy 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | PaddyFramework 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSupportedPlatforms 22 | 23 | MacOSX 24 | 25 | CFBundleVersion 26 | 1 27 | DTCompiler 28 | com.apple.compilers.llvm.clang.1_0 29 | DTPlatformBuild 30 | 10A255 31 | DTPlatformVersion 32 | GM 33 | DTSDKBuild 34 | 18A384 35 | DTSDKName 36 | macosx10.14 37 | DTXcode 38 | 1000 39 | DTXcodeBuild 40 | 10A255 41 | NSHumanReadableCopyright 42 | Copyright © 2018 David Williames. All rights reserved. 43 | 44 | 45 | -------------------------------------------------------------------------------- /.appcast.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Paddy 2 5 | https://raw.githubusercontent.com/DWilliames/paddy2-beta/master/.appcast.xml 6 | Automated padding, spacing and alignment for your Sketch layers 7 | en 8 | 9 | Version 0.7 10 | A bunch of fixes 11 | 12 | 13 | 14 | Version 0.6 15 | A bunch of fixes 16 | 17 | 18 | 19 | Version 0.5 20 | A bunch of fixes 21 | 22 | 23 | 24 | Version 0.4 25 | A bunch of fixes 26 | 27 | 28 | 29 | Version 0.3 30 | A bunch of fixes 31 | 32 | 33 | 34 | Version 0.2 35 | Sketch 50 compatible 36 | 37 | 38 | 39 | Version 0.1 40 | Initial release 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Sketch/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Paddy 2", 3 | "description": "Automated padding, spacing and alignment for your Sketch layers", 4 | "author": "David Williames", 5 | "version": "0.7", 6 | "identifier": "com.davidwilliames.sketch-plugins.paddy2", 7 | "appcast": "https://raw.githubusercontent.com/DWilliames/paddy2-beta/master/.appcast.xml", 8 | "icon": "icon.png", 9 | "compatibleVersion": 49, 10 | "bundleVersion": 1, 11 | "commands": [{ 12 | "name": "Show settings", 13 | "identifier": "showSettings", 14 | "script": "main.js", 15 | "handler": "showSettings" 16 | }, 17 | { 18 | "name": "Restart (test re-starting Sketch)", 19 | "identifier": "restart", 20 | "script": "main.js", 21 | "handler": "restart" 22 | }, 23 | { 24 | "name": "Enter padding for selection", 25 | "identifier": "promptToApplyPadding", 26 | "shortcut": "control alt p", 27 | "script": "main.js", 28 | "handler": "promptToApplyPadding", 29 | "description": "Enter padding amount to the currently selected layers", 30 | "icon": "padding.png" 31 | }, 32 | { 33 | "name": "Imply padding for selection", 34 | "identifier": "autoApplyPadding", 35 | "shortcut": "command shift p", 36 | "script": "main.js", 37 | "handler": "autoApplyPadding", 38 | "description": "Apply implied padding to the currently selected layers", 39 | "icon": "padding.png" 40 | }, 41 | { 42 | "name": "Spacing for selection", 43 | "identifier": "applySpacing", 44 | "shortcut": "control alt command p", 45 | "script": "main.js", 46 | "handler": "applySpacing", 47 | "description": "Apply spacing to the currently selected groups", 48 | "icon": "spacing.png" 49 | }, 50 | { 51 | "script": "main.js", 52 | "handlers": { 53 | "actions": { 54 | "Startup": "start", 55 | "Paste.finish": "layoutSelection", 56 | "PasteHere.finish": "layoutSelection", 57 | "Duplicate.finish": "layoutSelection", 58 | "MoveToBack.begin": "holdOffUntilNextSelection", 59 | "MoveToFront.begin": "holdOffUntilNextSelection", 60 | "MoveForward.begin": "holdOffUntilNextSelection", 61 | "MoveBackward.begin": "holdOffUntilNextSelection", 62 | "Group.begin": "holdOffChangesFromSelection", 63 | "Group.finish": "layoutSelection", 64 | "Ungroup.finish": "layoutSelection" 65 | } 66 | } 67 | } 68 | ], 69 | "menu": { 70 | "items": [ 71 | "promptToApplyPadding", 72 | "autoApplyPadding", 73 | "-", 74 | "applySpacing", 75 | "-", 76 | "showSettings" 77 | ] 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /Paddy2.sketchplugin/Contents/Resources/PaddyFramework.framework/Versions/A/Resources/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Paddy 2", 3 | "description": "Automated padding, spacing and alignment for your Sketch layers", 4 | "author": "David Williames", 5 | "version": "0.7", 6 | "identifier": "com.davidwilliames.sketch-plugins.paddy2", 7 | "appcast": "https://raw.githubusercontent.com/DWilliames/paddy2-beta/master/.appcast.xml", 8 | "icon": "icon.png", 9 | "compatibleVersion": 49, 10 | "bundleVersion": 1, 11 | "commands": [{ 12 | "name": "Show settings", 13 | "identifier": "showSettings", 14 | "script": "main.js", 15 | "handler": "showSettings" 16 | }, 17 | { 18 | "name": "Restart (test re-starting Sketch)", 19 | "identifier": "restart", 20 | "script": "main.js", 21 | "handler": "restart" 22 | }, 23 | { 24 | "name": "Enter padding for selection", 25 | "identifier": "promptToApplyPadding", 26 | "shortcut": "control alt p", 27 | "script": "main.js", 28 | "handler": "promptToApplyPadding", 29 | "description": "Enter padding amount to the currently selected layers", 30 | "icon": "padding.png" 31 | }, 32 | { 33 | "name": "Imply padding for selection", 34 | "identifier": "autoApplyPadding", 35 | "shortcut": "command shift p", 36 | "script": "main.js", 37 | "handler": "autoApplyPadding", 38 | "description": "Apply implied padding to the currently selected layers", 39 | "icon": "padding.png" 40 | }, 41 | { 42 | "name": "Spacing for selection", 43 | "identifier": "applySpacing", 44 | "shortcut": "control alt command p", 45 | "script": "main.js", 46 | "handler": "applySpacing", 47 | "description": "Apply spacing to the currently selected groups", 48 | "icon": "spacing.png" 49 | }, 50 | { 51 | "script": "main.js", 52 | "handlers": { 53 | "actions": { 54 | "Startup": "start", 55 | "Paste.finish": "layoutSelection", 56 | "PasteHere.finish": "layoutSelection", 57 | "Duplicate.finish": "layoutSelection", 58 | "MoveToBack.begin": "holdOffUntilNextSelection", 59 | "MoveToFront.begin": "holdOffUntilNextSelection", 60 | "MoveForward.begin": "holdOffUntilNextSelection", 61 | "MoveBackward.begin": "holdOffUntilNextSelection", 62 | "Group.begin": "holdOffChangesFromSelection", 63 | "Group.finish": "layoutSelection", 64 | "Ungroup.finish": "layoutSelection" 65 | } 66 | } 67 | } 68 | ], 69 | "menu": { 70 | "items": [ 71 | "promptToApplyPadding", 72 | "autoApplyPadding", 73 | "-", 74 | "applySpacing", 75 | "-", 76 | "showSettings" 77 | ] 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ⚠️ This project is no longer actively maintained 2 | 3 | Whilst some of the functinality may continue to work on versions earlier than Sketch v53; I am no longer spending my time actively working on this project. Thanks for all the support of those that have been using Paddy! 4 | 5 | For a deeper understanding of why I have stopped working on it; [find out more here.](https://github.com/DWilliames/paddy2-beta/issues/76) 6 | 7 | It seems that the Sketch team are looking into building this functionality natively 🎉; in the meantime, Anima have released an update that has a lot of the same functionatlity as Paddy 2; [check it out here.](https://medium.com/sketch-app-sources/introducing-padding-in-sketch-with-anima-d5c884fd9887) 8 | 9 | --- 10 | 11 | # Paddy 2 – Beta 12 | 13 | I've began completely rewriting the [Paddy Sketch plugin](https://github.com/DWilliames/paddy-sketch-plugin) in a way that means I can do a lot more with it. 14 | 15 | I have a lot planned for what I want to do with this next version; one of the key things is to make it a lot more stable. 16 | 17 | Treat this as the **'Beta program'** for Paddy. If you are up for it; play around with it, and let me know what is working and what isn't. 18 | 19 | As you can see via the 'Todo list', not everything has been implemented yet – so bare with me, as I slowly implement it all. I'm trying to lock down the core things now (Padding / Spacing / Alignment); and then I'll move onto the complexities of symbols / nested symbols. 20 | 21 | 22 | ## Getting started 23 | 24 | **Warning: Please use the Beta version at your own risk. I don't want be responsible for possibly 'ruining' your very important Sketch document 😜** 25 | 26 | This will be installed separately to 'Paddy', called 'Paddy2'; eventually I'll make it the same thing once it is ready. 27 | 28 | **Testing:** 29 | * **Disable Paddy 1:** Make sure 'Paddy' isn't enabled 30 | * **Disable Anima Toolkit:** Make sure 'Anima Toolkit' is not enabled; right now for some reason, they don't seem to play nice together — in some cases :/ 31 | * **Restart sketch:** this is very important. Every time you re-enable 'Paddy 2', if it's not working, try restarting Sketch. 32 | 33 | 🙌 **Bugs:** Please report any issues that you find. Keep in mind, not everything has been implemented yet; see the 'Todo list' below. So only report on stuff not working if it has a 'tick' already against it. 34 | 35 | 💡 **Feature requests:** Got any other ideas you want to be on Paddy's roadmap; please submit them as an 'Issue', and I'll add them to this list. 36 | 37 | 38 | 39 | ## Key differences 40 | 41 | [Check out the video overview:](https://www.youtube.com/watch?v=cTXpWeiH17s) 42 | 43 | [![Paddy 2 beta Preview 1 video](https://img.youtube.com/vi/cTXpWeiH17s/0.jpg)](https://www.youtube.com/watch?v=cTXpWeiH17s) 44 | 45 | 46 | Compared to 'Paddy 1' there are a few key differences that have been built so far: 47 | 48 | * Setting the properties via the layer name is optional – you can now set them via the inspector panel too. 49 | * A lot faster. In my couple of tests I benchmarked; this came out at being around 30x faster; and in some cases as much as 200x faster!! 50 | * This approach will allow for 'Nested symbols'. Although, it's not currently enabled in the beta, it is something I think I've managed to crack 51 | 52 | 53 | 54 | ## When will is come out of beta? 55 | 56 | Once I can pretty much get feature parity with Paddy 1, and I know what I have implemented is stable, I will release it. With the plan of fast follow-on release for features like nested symbols. 57 | 58 | I will not aim to get everything in the following Todo list complete before shipping; some are stretch goals. 59 | 60 | 61 | ## Todo list 62 | 63 | ### Automatic re-layout 64 | 65 | - [x] Re-layout ancestors after moving a layer 66 | - [x] Re-layout ancestors and children after re-sizing a group 67 | - [x] Re-layout ancestors after changing Text layer value 68 | - [x] Re-layout layers after changing symbol overrides 69 | - [x] Don't re-layout after selection changes from 'un-doing' (e.g. CMD + Z) 70 | - [x] Re-layout after deselecting everything; as a 'catch-all' if it hasn't already been layed out 71 | - [ ] ~Make sure 'Moving' a layer works with AnimaToolkit installed~ — it looks like this will not be possible unfortunately 72 | - [x] Update after a 'un-grouping' a group 73 | - [x] Make sure using keyboard shortcut to move a layer in the layer list (e.g to back) works. At the moment, it thinks the layer was deleted 74 | - [ ] Have some better logic for how a group should re-position after; inserting layer, resizing layer, moving layer etc. 75 | - [x] Make sure 'selection changed' works for Sketch 49 and Sketch 50 76 | - [ ] Re-layout after changing text alignment from 'fixed' to 'auto' 77 | - [ ] Add option to re-layout manually – e.g. re-layout selected layers 78 | 79 | --- 80 | 81 | ### Spacing / Stacking 82 | 83 | - [x] Read properties from layer name 84 | - [x] Save Stack properties to the layer – so it doesn't *have* to be read from the layer name 85 | - [x] Vertical Stacking 86 | - [x] Horizontal Stacking 87 | - [x] Infer stacking properties from layers when they are turned into a 'stack group' 88 | - [x] Collapse hidden views – will ignore layers that are hidden 89 | - [x] Re-layout after hiding a layout; if 'collapsing' is turned on 90 | - [x] Re-layout after duplicating via CMD + D 91 | - [x] Re-layout after deleting layer 92 | - [x] Re-layout after deleting layers in Sketch v50 (seems to work in previous versions) 93 | - [x] Re-layout after pasting a new layer into a Stack group 94 | - [x] Pixel fit the spacing – based on the user's preferences 95 | - [ ] STRETCH: Allow multiple spacing values – e.g. (10 20) would alternate spacing 10 and 20 pixels 96 | - [x] STRETCH: After resizing a Stack group, resize the children to respect the new size, and the spacing. This is a really tricky one! But would be a huge time saver!!! 97 | - [ ] After resizing a group to infer new size, make sure that it does not infer a new size on Symbol Instances 98 | - [ ] Allow an option for 'stretching' – see https://github.com/DWilliames/paddy2-beta/issues/5 99 | - [ ] Read 'stretching' properties from the layer list names 100 | - [ ] Allow an Artboard to be a Stack Group 101 | - [x] Keyboard shortcut to make a Stack Group – 'Control + Alt + Command + p' 102 | - [x] Custom alert to enter Stack spacing after using the keyboard shortcut 103 | #### User interface 104 | - [x] Show a view in the inspector when eligible to create a stack group 105 | - [x] Show UI in the inspector to manipulate the stack vie properties 106 | - [x] Show option to 'remove' the stack group from within the inspector 107 | - [x] Change the icon of the 'Stack group' in the layer list to make it stand out 108 | - [x] Update the icon to have the alignment directions etc. darker rather than white 109 | - [x] Update the 'Stack group' icon, to something better 110 | - [x] Re-layout the layers after changing the spacing/orientation from within the inspector UI 111 | - [ ] Better placement within the inspector? 112 | - [ ] Show a custom icon for vertical/horizontal stretching 113 | 114 | --- 115 | 116 | ### Alignment 117 | 118 | - [x] Read properties from layer name 119 | - [x] Save alignment properties to layer data – so it doesn't *have* to be read from the layer name 120 | - [x] Allow multiple alignment values 121 | - [x] Pixel fit the alignment – based on the user's preferences 122 | - [x] If there's a 'locked' layer, use it as an anchor point for laying out / aligning the layers 123 | - [x] If there's not a 'locked' layer Anchor the laying out based on the selected layer – unless CMD or ALT are held down 124 | #### User interface 125 | - [x] Show an 'Alignments' view within the inspector for all groups 126 | - [x] Allow only one vertical alignment, and one horizontal alignment from within the UI 127 | - [x] Re-layout the layers as soon as the alignment value is changed from the Inspector 128 | - [x] Custom icon for each 'alignment group' within the layer list 129 | - [x] Handle setting Alignment to more than one group at once 130 | - [x] Hide vertical/horizontal alignment, based on if the group is stacked; and which direction it is stacked 131 | - [ ] Better placement within the inspector? 132 | 133 | --- 134 | 135 | ### Padding 136 | 137 | - [x] Read padding from layer name 138 | - [x] Save padding to layer data – so it doesn't *have* to be read from the layer name 139 | - [x] Shape layers as 'background' layer 140 | - [x] Ignore layers beginning with '-' 141 | - [x] Allow multiple layers to have padding 142 | - [x] Symbol instances as 'background' layer 143 | - [x] STRETCH: Adjust sibling layers to match the correct size after resizing the padding layer directly!! (This is a big one! Tricky to do; but a real new timesaver.) 144 | - [x] Re-layout layer after inserting a layer 145 | - [x] Allow undefined padding for specific edges – e.g. 'x' 146 | - [x] Allow a 'group' to have padding – so that it can be used for a detached symbol instance that has padding 147 | - [ ] Keyboard shortcut to add Padding to a layer – 'Control + Alt + p' or 'Shit + Alt + p' to imply padding 148 | - [ ] Custom alert to enter padding values after using the keyboard shortcut 149 | - [ ] Custom icon in layer list for symbol instance that has padding 150 | - [ ] Custom icon in the layer list for a group that has padding 151 | - [ ] Allow an Artboard to have Padding 152 | #### User interface 153 | - [x] Show padding values within the inspector 154 | - [x] Show a custom icon for a 'background' layer with padding within the layer list 155 | - [x] Re-layout the layers after changing the padding properties from within the Inspector 156 | - [x] Add a button to 'add' padding to a layer from within the inspector 157 | - [x] Infer the padding properties when 'adding' padding – at the moment, will work after 'CMD/ALT' clicking '+' to add padding 158 | - [x] Having a button to remove Padding 159 | - [x] Have a toggle to turn padding on/off 160 | - [x] Toggle the number of input fields; from 4 to 2 to 1. (By clicking on the input field labels, like on the colour picker RGB/HSV) 161 | - [x] Have a hover effect to highlight the input fields; to indicate clicking on them may do something 162 | - [ ] Better placement within the inspector? 163 | - [x] Infer current padding when CMD/ALT + clicking the '+' to add Padding 164 | - [x] Allow setting Padding on multiple layers at once 165 | - [ ] Better handling of setting specifc Padding values on multiple layers at once 166 | 167 | --- 168 | 169 | ### Advanced sizing 170 | 171 | - [ ] Min / max width 172 | - [ ] Min / max height 173 | #### User interface 174 | - [ ] Have a 'settings' button in the inspector when a layer has 'padding' to get to the 'advanced settings' 175 | - [ ] Show UI to set min / max height / width 176 | - [ ] Re-layout after changing the 'advanced sizing' 177 | 178 | --- 179 | 180 | ### Ignoring 181 | 182 | - [x] Read 'ignore' layer from the '-' prefix on a layer name 183 | - [x] Save the 'ignore' layer to the layer data 184 | - [x] Add an option to ignore – autosizing symbol instances (that have padding within their master) 185 | #### User interface 186 | - [x] Show 'ignore layer' in the Inspector 187 | - [x] Set the 'ignore layer' value on the selected layers when changing in the inspector 188 | - [x] Show an extra checkbox to not auto-update symbol instances 189 | - [ ] Add a custom icon if the layer should be ignored 190 | 191 | --- 192 | 193 | ### User settings 194 | 195 | - [ ] Turn auto-updating layout on/off 196 | - [x] Show/hide the views in the inspector 197 | - [ ] Turn 'nested symbol' support on/off 198 | - [ ] Feedback / submit bug button 199 | - [ ] Button to donate via PayPal 200 | - [x] Option to show custom icons in layer list or not 201 | - [ ] Update icon for detailed custom icons 202 | - [x] Option to always include the properties in the layer name / or not 203 | - [ ] Default padding – to be used when the padding is not inferred 204 | - [ ] Add option to re-organise layer list based on layers within stack group 205 | 206 | --- 207 | 208 | ### Installing / Updating 209 | 210 | - [x] Alert to restart Sketch after installing a new version of the plugin 211 | - [x] Alert to possibly turn off AnimaToolkit? 212 | - [x] Custom icon for the alerts 213 | - [x] After asking to restart Sketch – re-open the same documents again 214 | - [x] Auto disable Paddy 1 when installing Paddy 2 beta 215 | 216 | --- 217 | 218 | ### Symbols 219 | 220 | TODO: Update the todo list here 221 | 222 | - [ ] After detaching group, re-layout the detached group 223 | - [ ] Fix 'trailing' layers, after detaching from symbol 224 | - [x] Check if a symbol has Padding within it 225 | - [x] Check if a symbol has Stack groups within it 226 | - [x] Figure out when a layer in a Symbol master has changed, and all of its instances may need resizing 227 | - [x] Allow an instance to not be auto-resized even though its Master may have padding 228 | - [x] Update all instance sizing, and re-layout its ancestors after the Symbol Master updates 229 | - [ ] Only update the instances once the user has deselected everything 230 | - [ ] Include the 'background' colour of the symbol after 'detaching' 231 | - [ ] After 'detaching', make 'hidden' nested symbols ignored 232 | - [ ] Make sure it works with local Libraries 233 | - [ ] Make sure it works with remote Libraries 234 | - [ ] Cache auto-resize for symbol instances with the same overrides 235 | - [ ] After changing properties within a symbol; remove the size cache, and resize all instance 236 | - [ ] After changing properties within a symbol; remove the size cache for any symbol master an instance of it may appear in 237 | - [ ] Handle detaching symbols, that have a symbol instance with padding applied to it (perhaps allow Groups to have padding?) 238 | - [ ] Update all instances after 'update from library' command is run 239 | 240 | --- 241 | 242 | ### Nested symbols 243 | 244 | TODO: Update the todo list here – a lot to do 245 | 246 | - [ ] Only override the visual look of a symbol instance, if the master has Stack Groups within it 247 | 248 | --- 249 | 250 | ### Migration 251 | 252 | - [ ] Command to convert 'Anima Stack groups' to 'Paddy' stack groups? 253 | - [ ] Command to detach all symbols recursively for exporting to Zeplin etc. – possibly; this may not be necessary 254 | 255 | --- 256 | 257 | ### Other 258 | 259 | - [ ] Documentation for everything! 260 | - [ ] A demo video of the key changes 261 | - [ ] Create a 'Paddy' logo/icon 262 | - [ ] Cache 'PaddingLayers' and 'StackGroups' to be more performant 263 | --------------------------------------------------------------------------------