diff --git a/.codeclimate.yml b/.codeclimate.yml index dd9863a3..52f6fb92 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -4,15 +4,15 @@ engines: enabled: true config: languages: - - javascript + - javascript eslint: enabled: true fixme: enabled: true ratings: paths: - - "**.js" + - "**.js" exclude_paths: -- config/ -- tests/ -- vendor/ + - config/ + - tests/ + - vendor/ diff --git a/.eslintrc.js b/.eslintrc.js index ef486c2f..81b7f4b1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -38,30 +38,12 @@ module.exports = { ecmaVersion: 2018, sourceType: 'module', babelOptions: { - plugins: [ - [ - require.resolve('@babel/plugin-proposal-decorators'), - { legacy: true }, - ], - ], + plugins: [[require.resolve('@babel/plugin-proposal-decorators'), { legacy: true }]], }, requireConfigFile: false, }, - plugins: [ - 'ember', - 'qunit', - 'simple-import-sort', - 'import', - 'unused-imports', - 'unicorn', - 'no-useless-assign', - ], - extends: [ - 'eslint:recommended', - 'plugin:ember/recommended', - 'plugin:qunit/recommended', - 'plugin:unicorn/recommended', - ], + plugins: ['ember', 'qunit', 'simple-import-sort', 'import', 'unused-imports', 'unicorn', 'no-useless-assign'], + extends: ['eslint:recommended', 'plugin:ember/recommended', 'plugin:qunit/recommended', 'plugin:unicorn/recommended'], env: { browser: true, }, @@ -101,10 +83,7 @@ module.exports = { ], */ complexity: ['error', { max: 20 }], - 'no-magic-numbers': [ - 'error', - { ignore: [0, 1, -1], ignoreArrayIndexes: true }, - ], + 'no-magic-numbers': ['error', { ignore: [0, 1, -1], ignoreArrayIndexes: true }], 'object-shorthand': ['error', 'always'], 'no-restricted-imports': [ diff --git a/.prettier-cache b/.prettier-cache new file mode 100644 index 00000000..e024ef39 --- /dev/null +++ b/.prettier-cache @@ -0,0 +1 @@ +[{"/Users/runspired/github/oss/flexi/.editorconfig":"1","/Users/runspired/github/oss/flexi/.eslintignore":"2","/Users/runspired/github/oss/flexi/.gitignore":"3","/Users/runspired/github/oss/flexi/.prettierignore":"4","/Users/runspired/github/oss/flexi/.prettierrc.js":"5","/Users/runspired/github/oss/flexi/LICENSE.md":"6","/Users/runspired/github/oss/flexi/package.json":"7","/Users/runspired/github/oss/flexi/packages/flexi-config/.ember-cli":"8","/Users/runspired/github/oss/flexi/packages/flexi-config/.npmignore":"9","/Users/runspired/github/oss/flexi/packages/flexi-config/.watchmanconfig":"10","/Users/runspired/github/oss/flexi/packages/flexi-config/blueprints/@html-next/flexi-config/files/config/flexi.js":"11","/Users/runspired/github/oss/flexi/packages/flexi-config/blueprints/@html-next/flexi-config/index.js":"12","/Users/runspired/github/oss/flexi/packages/flexi-config/index.js":"13","/Users/runspired/github/oss/flexi/packages/flexi-config/LICENSE.md":"14","/Users/runspired/github/oss/flexi/packages/flexi-config/package.json":"15","/Users/runspired/github/oss/flexi/packages/flexi-config/README.md":"16","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/.ember-cli":"17","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/.npmignore":"18","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/.watchmanconfig":"19","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/.gitkeep":"20","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/components/_box.scss":"21","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/components/_centered.scss":"22","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/components/_container.scss":"23","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/components/_fill.scss":"24","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/components/_grid.scss":"25","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/components/_hbox.scss":"26","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/components/_page.scss":"27","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/components/_screen.scss":"28","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/components/_vbox.scss":"29","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/helpers/_alignment.scss":"30","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/mixins/_element.scss":"31","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/blueprints/@html-next/flexi-default-styles/index.js":"32","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/config/flexi.js":"33","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/lib/scss-variables-compiler.js":"34","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/LICENSE.md":"35","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/package.json":"36","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/README.md":"37","/Users/runspired/github/oss/flexi/packages/flexi-dsl/.ember-cli":"38","/Users/runspired/github/oss/flexi/packages/flexi-dsl/.npmignore":"39","/Users/runspired/github/oss/flexi/packages/flexi-dsl/.watchmanconfig":"40","/Users/runspired/github/oss/flexi/packages/flexi-dsl/blueprints/@html-next/flexi-dsl/index.js":"41","/Users/runspired/github/oss/flexi/packages/flexi-dsl/config/flexi.js":"42","/Users/runspired/github/oss/flexi/packages/flexi-dsl/LICENSE.md":"43","/Users/runspired/github/oss/flexi/packages/flexi-dsl/package.json":"44","/Users/runspired/github/oss/flexi/packages/flexi-dsl/README.md":"45","/Users/runspired/github/oss/flexi/packages/flexi-layouts/.ember-cli":"46","/Users/runspired/github/oss/flexi/packages/flexi-layouts/.npmignore":"47","/Users/runspired/github/oss/flexi/packages/flexi-layouts/.watchmanconfig":"48","/Users/runspired/github/oss/flexi/packages/flexi-layouts/addon/.DS_Store":"49","/Users/runspired/github/oss/flexi/packages/flexi-layouts/addon/.gitkeep":"50","/Users/runspired/github/oss/flexi/packages/flexi-layouts/addon/components/flexi-container.hbs":"51","/Users/runspired/github/oss/flexi/packages/flexi-layouts/addon/components/flexi-container.js":"52","/Users/runspired/github/oss/flexi/packages/flexi-layouts/addon/components/flexi-grid.js":"53","/Users/runspired/github/oss/flexi/packages/flexi-layouts/addon/helpers/-inject-layout.js":"54","/Users/runspired/github/oss/flexi/packages/flexi-layouts/app/.DS_Store":"55","/Users/runspired/github/oss/flexi/packages/flexi-layouts/app/.gitkeep":"56","/Users/runspired/github/oss/flexi/packages/flexi-layouts/app/components/flexi-container.js":"57","/Users/runspired/github/oss/flexi/packages/flexi-layouts/app/components/flexi-grid.js":"58","/Users/runspired/github/oss/flexi/packages/flexi-layouts/app/helpers/-inject-layout.js":"59","/Users/runspired/github/oss/flexi/packages/flexi-layouts/app/services/device/layout.js":"60","/Users/runspired/github/oss/flexi/packages/flexi-layouts/blueprints/.DS_Store":"61","/Users/runspired/github/oss/flexi/packages/flexi-layouts/blueprints/@html-next/flexi-layouts/index.js":"62","/Users/runspired/github/oss/flexi/packages/flexi-layouts/blueprints/layout-component/index.js":"63","/Users/runspired/github/oss/flexi/packages/flexi-layouts/blueprints/layout-route/index.js":"64","/Users/runspired/github/oss/flexi/packages/flexi-layouts/config/environment.js":"65","/Users/runspired/github/oss/flexi/packages/flexi-layouts/config/flexi.js":"66","/Users/runspired/github/oss/flexi/packages/flexi-layouts/ember-cli-build.js":"67","/Users/runspired/github/oss/flexi/packages/flexi-layouts/lib/.DS_Store":"68","/Users/runspired/github/oss/flexi/packages/flexi-layouts/lib/commands/index.js":"69","/Users/runspired/github/oss/flexi/packages/flexi-layouts/lib/helpers/make-dir.js":"70","/Users/runspired/github/oss/flexi/packages/flexi-layouts/LICENSE.md":"71","/Users/runspired/github/oss/flexi/packages/flexi-layouts/package.json":"72","/Users/runspired/github/oss/flexi/packages/flexi-layouts/testem.js":"73","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/.DS_Store":"74","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/acceptance/layouts-test.js":"75","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/acceptance/mobile-first-test.js":"76","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/app.js":"77","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/components/classic-component.js":"78","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/components/component-with-layouts/-layouts/huge.hbs":"79","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/components/component-with-layouts/-layouts/mobile.hbs":"80","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/components/component-with-layouts/-layouts/tablet.hbs":"81","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/helpers/.gitkeep":"82","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/resolver.js":"83","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/router.js":"84","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/.gitkeep":"85","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/application/route.js":"86","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/classic-layout-testroute.js":"87","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/index/route.js":"88","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/components/destroyed-container/component-that-destroys-container/component.js":"89","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/components/destroyed-container/component-that-destroys-container/template.hbs":"90","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/components/destroyed-container/component.js":"91","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/components/missing-layout/template.hbs":"92","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/layouts/-layouts/huge.hbs":"93","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/layouts/-layouts/mobile.hbs":"94","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/layouts/-layouts/tablet.hbs":"95","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/layouts/route.js":"96","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/mobile-first/route.js":"97","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/modern-component/template.hbs":"98","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/route.js":"99","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/template.hbs":"100","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/defaults/_normalize.scss":"101","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/mixins/_element.scss":"102","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/templates/classic-layout-testroute/-layouts/mobile.hbs":"103","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/transitions.js":"104","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/config/environment.js":"105","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/config/flexi.js":"106","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/config/optional-features.json":"107","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/public/crossdomain.xml":"108","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/public/robots.txt":"109","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/helpers/index.js":"110","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/integration/.gitkeep":"111","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/integration/components/flexi-container-test.js":"112","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/test-helper.js":"113","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/unit/.gitkeep":"114","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/unit/helpers/-inject-layout-test.js":"115","/Users/runspired/github/oss/flexi/packages/flexi-sustain/.ember-cli":"116","/Users/runspired/github/oss/flexi/packages/flexi-sustain/.npmignore":"117","/Users/runspired/github/oss/flexi/packages/flexi-sustain/.watchmanconfig":"118","/Users/runspired/github/oss/flexi/packages/flexi-sustain/addon/.DS_Store":"119","/Users/runspired/github/oss/flexi/packages/flexi-sustain/addon/.gitkeep":"120","/Users/runspired/github/oss/flexi/packages/flexi-sustain/addon/components/sustain-support.js":"121","/Users/runspired/github/oss/flexi/packages/flexi-sustain/addon/helpers/sustain.js":"122","/Users/runspired/github/oss/flexi/packages/flexi-sustain/addon/services/-sustains.js":"123","/Users/runspired/github/oss/flexi/packages/flexi-sustain/app/.DS_Store":"124","/Users/runspired/github/oss/flexi/packages/flexi-sustain/app/.gitkeep":"125","/Users/runspired/github/oss/flexi/packages/flexi-sustain/app/components/sustain-support.js":"126","/Users/runspired/github/oss/flexi/packages/flexi-sustain/app/helpers/sustain.js":"127","/Users/runspired/github/oss/flexi/packages/flexi-sustain/app/services/-sustains.js":"128","/Users/runspired/github/oss/flexi/packages/flexi-sustain/config/ember-try.js":"129","/Users/runspired/github/oss/flexi/packages/flexi-sustain/config/environment.js":"130","/Users/runspired/github/oss/flexi/packages/flexi-sustain/config/flexi.js":"131","/Users/runspired/github/oss/flexi/packages/flexi-sustain/ember-cli-build.js":"132","/Users/runspired/github/oss/flexi/packages/flexi-sustain/LICENSE.md":"133","/Users/runspired/github/oss/flexi/packages/flexi-sustain/package.json":"134","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/.DS_Store":"135","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/acceptance/sustain-labels-test.js":"136","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/acceptance/sustain-missing-layout-test.js":"137","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/app.js":"138","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/components/classic-component.hbs":"139","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/helpers/.gitkeep":"140","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/resolver.js":"141","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/router.js":"142","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/.gitkeep":"143","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/application/route.js":"144","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/application/template.hbs":"145","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/index/route.js":"146","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/components/missing-layout/template.hbs":"147","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/mobile-first/route.js":"148","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/route.js":"149","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-b/route.js":"150","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-b/template.hbs":"151","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-classic-component/route.js":"152","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-hooks/controller.js":"153","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-hooks/has-hooks/component.js":"154","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-hooks/has-hooks/template.hbs":"155","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-hooks/route.js":"156","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-hooks/template.hbs":"157","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-labels-2/route.js":"158","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-labels/route.js":"159","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-labels/template.hbs":"160","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-no-layout/route.js":"161","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-no-layout/template.hbs":"162","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/has-model/component.js":"163","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/tagless-title/component.js":"164","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/test-title/component.js":"165","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/test-title/template.hbs":"166","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/route.js":"167","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/template.hbs":"168","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/template.hbs":"169","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/defaults/_normalize.scss":"170","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/mixins/_element.scss":"171","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/templates/application.hbs":"172","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/transitions.js":"173","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/config/environment.js":"174","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/config/flexi.js":"175","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/config/optional-features.json":"176","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/public/crossdomain.xml":"177","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/public/robots.txt":"178","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/helpers/index.js":"179","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/integration/.gitkeep":"180","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/test-helper.js":"181","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/unit/.gitkeep":"182","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/unit/services/-sustains-test.js":"183","/Users/runspired/github/oss/flexi/packages/flexi/.ember-cli":"184","/Users/runspired/github/oss/flexi/packages/flexi/.npmignore":"185","/Users/runspired/github/oss/flexi/packages/flexi/.watchmanconfig":"186","/Users/runspired/github/oss/flexi/packages/flexi/config/environment.js":"187","/Users/runspired/github/oss/flexi/packages/flexi/config/flexi.js":"188","/Users/runspired/github/oss/flexi/packages/flexi/ember-cli-build.js":"189","/Users/runspired/github/oss/flexi/packages/flexi/LICENSE.md":"190","/Users/runspired/github/oss/flexi/packages/flexi/package.json":"191","/Users/runspired/github/oss/flexi/packages/flexi/sketch/fixed-left-with-top-nav.sketch":"192","/Users/runspired/github/oss/flexi/packages/flexi/sketch/fixed-left.sketch":"193","/Users/runspired/github/oss/flexi/packages/flexi/sketch/grid.sketch":"194","/Users/runspired/github/oss/flexi/packages/flexi/testem.js":"195","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/app.js":"196","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/components/nav-banner.hbs":"197","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/components/nav-menu.hbs":"198","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/helpers/.gitkeep":"199","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/resolver.js":"200","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/router.js":"201","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/.gitkeep":"202","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/blueprints/route.js":"203","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/blueprints/snippets/generate.js":"204","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/container-css/route.js":"205","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/index/-layouts/tablet.hbs":"206","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/index/route.js":"207","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/installation/route.js":"208","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/installation/snippets/install.js":"209","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/layout-attributes/route.js":"210","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/layout-components/route.js":"211","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/layout-elements/route.js":"212","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/layout-service/route.js":"213","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/layouts-overview/route.js":"214","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/media-css/route.js":"215","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/overview/route.js":"216","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/route.js":"217","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/settings/route.js":"218","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/settings/snippets/settings.js":"219","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/sustain/route.js":"220","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/transitions.js":"221","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/config/environment.js":"222","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/config/flexi.js":"223","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/config/optional-features.json":"224","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/public/crossdomain.xml":"225","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/public/fixed-left-with-top-nav.svg":"226","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/public/fixed-left.svg":"227","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/public/grid.svg":"228","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/public/robots.txt":"229","/Users/runspired/github/oss/flexi/packages/flexi/tests/helpers/index.js":"230","/Users/runspired/github/oss/flexi/packages/flexi/tests/test-helper.js":"231","/Users/runspired/github/oss/flexi/.codeclimate.yml":"232","/Users/runspired/github/oss/flexi/.eslintrc.js":"233","/Users/runspired/github/oss/flexi/.prettier-cache":"234","/Users/runspired/github/oss/flexi/jsconfig.json":"235","/Users/runspired/github/oss/flexi/lerna.json":"236","/Users/runspired/github/oss/flexi/packages/flexi-config/lib/get-validated-flexi-config.js":"237","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/addon.scss":"238","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/components/_index.scss":"239","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/grid/_functions.scss":"240","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/grid/_grid.scss":"241","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/grid/_mixins.scss":"242","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/helpers/_index.scss":"243","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/mixins/_flex.scss":"244","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/addon/styles/mixins/_index.scss":"245","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/CHANGELOG.md":"246","/Users/runspired/github/oss/flexi/packages/flexi-default-styles/index.js":"247","/Users/runspired/github/oss/flexi/packages/flexi-dsl/CHANGELOG.md":"248","/Users/runspired/github/oss/flexi/packages/flexi-dsl/dsl/dsl-defaults.js":"249","/Users/runspired/github/oss/flexi/packages/flexi-dsl/dsl/template-precompiler.js":"250","/Users/runspired/github/oss/flexi/packages/flexi-dsl/index.js":"251","/Users/runspired/github/oss/flexi/packages/flexi-layouts/addon/components/flexi-grid.hbs":"252","/Users/runspired/github/oss/flexi/packages/flexi-layouts/addon/lib/monitor.js":"253","/Users/runspired/github/oss/flexi/packages/flexi-layouts/addon/services/device/layout.js":"254","/Users/runspired/github/oss/flexi/packages/flexi-layouts/blueprints/layout/index.js":"255","/Users/runspired/github/oss/flexi/packages/flexi-layouts/CHANGELOG.md":"256","/Users/runspired/github/oss/flexi/packages/flexi-layouts/config/ember-try.js":"257","/Users/runspired/github/oss/flexi/packages/flexi-layouts/index.js":"258","/Users/runspired/github/oss/flexi/packages/flexi-layouts/lib/commands/move.js":"259","/Users/runspired/github/oss/flexi/packages/flexi-layouts/lib/compile.js":"260","/Users/runspired/github/oss/flexi/packages/flexi-layouts/lib/layout-compiler.js":"261","/Users/runspired/github/oss/flexi/packages/flexi-layouts/lib/pod-templates-shim.js":"262","/Users/runspired/github/oss/flexi/packages/flexi-layouts/lib/tasks/rename-template.js":"263","/Users/runspired/github/oss/flexi/packages/flexi-layouts/README.md":"264","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/acceptance/classic-layouts-test.js":"265","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/components/classic-component.hbs":"266","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/components/component-with-layouts/-layouts/desktop.hbs":"267","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/index.html":"268","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/application/template.hbs":"269","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/index/-layouts/mobile.hbs":"270","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/site-index/template.hbs":"271","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/components/destroyed-container/template.hbs":"272","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/layouts/-layouts/desktop.hbs":"273","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/mobile-first/-layouts/desktop.hbs":"274","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/routes/tests/mobile-first/-layouts/mobile.hbs":"275","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/_variables.scss":"276","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/app.scss":"277","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/defaults/_buttons.scss":"278","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/defaults/_colors.scss":"279","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/defaults/_headers.scss":"280","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/defaults/_index.scss":"281","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/defaults/_links.scss":"282","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/defaults/_lists.scss":"283","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/defaults/_table.scss":"284","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/mixins/_flex.scss":"285","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/app/styles/mixins/_index.scss":"286","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/dummy/config/targets.js":"287","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/index.html":"288","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/integration/components/flexi-grid-test.js":"289","/Users/runspired/github/oss/flexi/packages/flexi-layouts/tests/unit/services/device/layout-test.js":"290","/Users/runspired/github/oss/flexi/packages/flexi-sustain/addon/classes/sustain.js":"291","/Users/runspired/github/oss/flexi/packages/flexi-sustain/addon/components/sustain-support.hbs":"292","/Users/runspired/github/oss/flexi/packages/flexi-sustain/CHANGELOG.md":"293","/Users/runspired/github/oss/flexi/packages/flexi-sustain/index.js":"294","/Users/runspired/github/oss/flexi/packages/flexi-sustain/README.md":"295","/Users/runspired/github/oss/flexi/packages/flexi-sustain/testem.js":"296","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/acceptance/sustain-classic-component-test.js":"297","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/acceptance/sustain-hooks-test.js":"298","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/acceptance/sustain-test.js":"299","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/index.html":"300","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/index/-layouts/mobile.hbs":"301","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/site-index/template.hbs":"302","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/mobile-first/-layouts/desktop.hbs":"303","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/mobile-first/-layouts/mobile.hbs":"304","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-classic-component/template.hbs":"305","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-labels-2/template.hbs":"306","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/has-model/template.hbs":"307","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/tagless-title/template.hbs":"308","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/_variables.scss":"309","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/app.scss":"310","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/defaults/_buttons.scss":"311","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/defaults/_colors.scss":"312","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/defaults/_headers.scss":"313","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/defaults/_index.scss":"314","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/defaults/_links.scss":"315","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/defaults/_lists.scss":"316","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/defaults/_table.scss":"317","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/mixins/_flex.scss":"318","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/app/styles/mixins/_index.scss":"319","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/dummy/config/targets.js":"320","/Users/runspired/github/oss/flexi/packages/flexi-sustain/tests/index.html":"321","/Users/runspired/github/oss/flexi/packages/flexi/blueprints/flexi/index.js":"322","/Users/runspired/github/oss/flexi/packages/flexi/CHANGELOG.md":"323","/Users/runspired/github/oss/flexi/packages/flexi/config/ember-try.js":"324","/Users/runspired/github/oss/flexi/packages/flexi/index.js":"325","/Users/runspired/github/oss/flexi/packages/flexi/README.md":"326","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/index.html":"327","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/-layouts/mobile.hbs":"328","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/-layouts/tablet.hbs":"329","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/blueprints/template.hbs":"330","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/container-css/template.hbs":"331","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/index/-layouts/mobile.hbs":"332","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/installation/template.hbs":"333","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/layout-attributes/template.hbs":"334","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/layout-components/template.hbs":"335","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/layout-elements/template.hbs":"336","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/layout-service/template.hbs":"337","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/layouts-overview/template.hbs":"338","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/media-css/template.hbs":"339","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/overview/template.hbs":"340","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/settings/template.hbs":"341","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/routes/docs/sustain/template.hbs":"342","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/styles/_variables.scss":"343","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/styles/app.scss":"344","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/templates/application.hbs":"345","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/templates/components/lorem-ipsum.hbs":"346","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/templates/grid-responsive.hbs":"347","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/templates/grid-rows-responsive.hbs":"348","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/templates/grid-rows.hbs":"349","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/templates/grid.hbs":"350","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/templates/header-footer-with-scroll.hbs":"351","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/templates/index.hbs":"352","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/templates/sidebar.hbs":"353","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/templates/tabs.hbs":"354","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/app/templates/top-nav.hbs":"355","/Users/runspired/github/oss/flexi/packages/flexi/tests/dummy/config/targets.js":"356","/Users/runspired/github/oss/flexi/packages/flexi/tests/index.html":"357","/Users/runspired/github/oss/flexi/pnpm-workspace.yaml":"358","/Users/runspired/github/oss/flexi/README.md":"359"},{"hash":"360"},{"hash":"361"},{"hash":"362"},{"hash":"363"},{"hash":"364","hashOfOptions":"365"},{"hash":"366","hashOfOptions":"367"},{"hash":"368","hashOfOptions":"369"},{"hash":"370"},{"hash":"371"},{"hash":"372","hashOfOptions":"373"},{"hash":"374","hashOfOptions":"375"},{"hash":"376","hashOfOptions":"377"},{"hash":"378","hashOfOptions":"379"},{"hash":"380","hashOfOptions":"381"},{"hash":"382","hashOfOptions":"383"},{"hash":"384","hashOfOptions":"385"},{"hash":"370"},{"hash":"371"},{"hash":"372","hashOfOptions":"386"},{"hash":"387"},{"hash":"388","hashOfOptions":"389"},{"hash":"390","hashOfOptions":"391"},{"hash":"392","hashOfOptions":"393"},{"hash":"394","hashOfOptions":"395"},{"hash":"396","hashOfOptions":"397"},{"hash":"398","hashOfOptions":"399"},{"hash":"400","hashOfOptions":"401"},{"hash":"402","hashOfOptions":"403"},{"hash":"404","hashOfOptions":"405"},{"hash":"406","hashOfOptions":"407"},{"hash":"408","hashOfOptions":"409"},{"hash":"410","hashOfOptions":"411"},{"hash":"412","hashOfOptions":"413"},{"hash":"414","hashOfOptions":"415"},{"hash":"380","hashOfOptions":"416"},{"hash":"417","hashOfOptions":"418"},{"hash":"419","hashOfOptions":"420"},{"hash":"370"},{"hash":"371"},{"hash":"372","hashOfOptions":"421"},{"hash":"422","hashOfOptions":"423"},{"hash":"424","hashOfOptions":"425"},{"hash":"380","hashOfOptions":"426"},{"hash":"427","hashOfOptions":"428"},{"hash":"429","hashOfOptions":"430"},{"hash":"370"},{"hash":"431"},{"hash":"372","hashOfOptions":"432"},{"hash":"433"},{"hash":"387"},{"hash":"434","hashOfOptions":"435"},{"hash":"436","hashOfOptions":"437"},{"hash":"438","hashOfOptions":"439"},{"hash":"440","hashOfOptions":"441"},{"hash":"442"},{"hash":"387"},{"hash":"443","hashOfOptions":"444"},{"hash":"445","hashOfOptions":"446"},{"hash":"447","hashOfOptions":"448"},{"hash":"449","hashOfOptions":"450"},{"hash":"451"},{"hash":"410","hashOfOptions":"452"},{"hash":"453","hashOfOptions":"454"},{"hash":"453","hashOfOptions":"455"},{"hash":"456","hashOfOptions":"457"},{"hash":"424","hashOfOptions":"458"},{"hash":"459","hashOfOptions":"460"},{"hash":"461"},{"hash":"462","hashOfOptions":"463"},{"hash":"464","hashOfOptions":"465"},{"hash":"380","hashOfOptions":"466"},{"hash":"467","hashOfOptions":"468"},{"hash":"469","hashOfOptions":"470"},{"hash":"471"},{"hash":"472","hashOfOptions":"473"},{"hash":"474","hashOfOptions":"475"},{"hash":"476","hashOfOptions":"477"},{"hash":"478","hashOfOptions":"479"},{"hash":"480","hashOfOptions":"481"},{"hash":"482","hashOfOptions":"483"},{"hash":"484","hashOfOptions":"485"},{"hash":"387"},{"hash":"486","hashOfOptions":"487"},{"hash":"488","hashOfOptions":"489"},{"hash":"387"},{"hash":"490","hashOfOptions":"491"},{"hash":"490","hashOfOptions":"492"},{"hash":"490","hashOfOptions":"493"},{"hash":"494","hashOfOptions":"495"},{"hash":"496","hashOfOptions":"497"},{"hash":"498","hashOfOptions":"499"},{"hash":"500","hashOfOptions":"501"},{"hash":"480","hashOfOptions":"502"},{"hash":"482","hashOfOptions":"503"},{"hash":"484","hashOfOptions":"504"},{"hash":"505","hashOfOptions":"506"},{"hash":"490","hashOfOptions":"507"},{"hash":"508","hashOfOptions":"509"},{"hash":"490","hashOfOptions":"510"},{"hash":"511","hashOfOptions":"512"},{"hash":"513","hashOfOptions":"514"},{"hash":"408","hashOfOptions":"515"},{"hash":"516","hashOfOptions":"517"},{"hash":"518","hashOfOptions":"519"},{"hash":"520","hashOfOptions":"521"},{"hash":"522","hashOfOptions":"523"},{"hash":"524","hashOfOptions":"525"},{"hash":"526"},{"hash":"527"},{"hash":"528","hashOfOptions":"529"},{"hash":"387"},{"hash":"530","hashOfOptions":"531"},{"hash":"532","hashOfOptions":"533"},{"hash":"387"},{"hash":"534","hashOfOptions":"535"},{"hash":"536"},{"hash":"537"},{"hash":"372","hashOfOptions":"538"},{"hash":"539"},{"hash":"387"},{"hash":"540","hashOfOptions":"541"},{"hash":"542","hashOfOptions":"543"},{"hash":"544","hashOfOptions":"545"},{"hash":"546"},{"hash":"387"},{"hash":"547","hashOfOptions":"548"},{"hash":"549","hashOfOptions":"550"},{"hash":"551","hashOfOptions":"552"},{"hash":"553","hashOfOptions":"554"},{"hash":"555","hashOfOptions":"556"},{"hash":"424","hashOfOptions":"557"},{"hash":"558","hashOfOptions":"559"},{"hash":"380","hashOfOptions":"560"},{"hash":"561","hashOfOptions":"562"},{"hash":"563"},{"hash":"564","hashOfOptions":"565"},{"hash":"566","hashOfOptions":"567"},{"hash":"476","hashOfOptions":"568"},{"hash":"569","hashOfOptions":"570"},{"hash":"387"},{"hash":"486","hashOfOptions":"571"},{"hash":"572","hashOfOptions":"573"},{"hash":"387"},{"hash":"490","hashOfOptions":"574"},{"hash":"575","hashOfOptions":"576"},{"hash":"490","hashOfOptions":"577"},{"hash":"500","hashOfOptions":"578"},{"hash":"490","hashOfOptions":"579"},{"hash":"490","hashOfOptions":"580"},{"hash":"581","hashOfOptions":"582"},{"hash":"583","hashOfOptions":"584"},{"hash":"490","hashOfOptions":"585"},{"hash":"586","hashOfOptions":"587"},{"hash":"588","hashOfOptions":"589"},{"hash":"500","hashOfOptions":"590"},{"hash":"490","hashOfOptions":"591"},{"hash":"592","hashOfOptions":"593"},{"hash":"490","hashOfOptions":"594"},{"hash":"490","hashOfOptions":"595"},{"hash":"596","hashOfOptions":"597"},{"hash":"490","hashOfOptions":"598"},{"hash":"599","hashOfOptions":"600"},{"hash":"601","hashOfOptions":"602"},{"hash":"603","hashOfOptions":"604"},{"hash":"605","hashOfOptions":"606"},{"hash":"607","hashOfOptions":"608"},{"hash":"609","hashOfOptions":"610"},{"hash":"611","hashOfOptions":"612"},{"hash":"511","hashOfOptions":"613"},{"hash":"513","hashOfOptions":"614"},{"hash":"408","hashOfOptions":"615"},{"hash":"511","hashOfOptions":"616"},{"hash":"518","hashOfOptions":"617"},{"hash":"618","hashOfOptions":"619"},{"hash":"424","hashOfOptions":"620"},{"hash":"524","hashOfOptions":"621"},{"hash":"526"},{"hash":"527"},{"hash":"528","hashOfOptions":"622"},{"hash":"387"},{"hash":"532","hashOfOptions":"623"},{"hash":"387"},{"hash":"624","hashOfOptions":"625"},{"hash":"536"},{"hash":"626"},{"hash":"372","hashOfOptions":"627"},{"hash":"456","hashOfOptions":"628"},{"hash":"629","hashOfOptions":"630"},{"hash":"631","hashOfOptions":"632"},{"hash":"380","hashOfOptions":"633"},{"hash":"634","hashOfOptions":"635"},{"hash":"636"},{"hash":"637"},{"hash":"638"},{"hash":"469","hashOfOptions":"639"},{"hash":"476","hashOfOptions":"640"},{"hash":"641","hashOfOptions":"642"},{"hash":"643","hashOfOptions":"644"},{"hash":"387"},{"hash":"486","hashOfOptions":"645"},{"hash":"646","hashOfOptions":"647"},{"hash":"387"},{"hash":"490","hashOfOptions":"648"},{"hash":"649","hashOfOptions":"650"},{"hash":"490","hashOfOptions":"651"},{"hash":"652","hashOfOptions":"653"},{"hash":"654","hashOfOptions":"655"},{"hash":"490","hashOfOptions":"656"},{"hash":"657","hashOfOptions":"658"},{"hash":"490","hashOfOptions":"659"},{"hash":"490","hashOfOptions":"660"},{"hash":"490","hashOfOptions":"661"},{"hash":"490","hashOfOptions":"662"},{"hash":"490","hashOfOptions":"663"},{"hash":"490","hashOfOptions":"664"},{"hash":"490","hashOfOptions":"665"},{"hash":"490","hashOfOptions":"666"},{"hash":"490","hashOfOptions":"667"},{"hash":"668","hashOfOptions":"669"},{"hash":"490","hashOfOptions":"670"},{"hash":"518","hashOfOptions":"671"},{"hash":"672","hashOfOptions":"673"},{"hash":"674","hashOfOptions":"675"},{"hash":"524","hashOfOptions":"676"},{"hash":"526"},{"hash":"677"},{"hash":"678"},{"hash":"679"},{"hash":"527"},{"hash":"528","hashOfOptions":"680"},{"hash":"532","hashOfOptions":"681"},{"hash":"682","hashOfOptions":"683"},{"hash":"684","hashOfOptions":"685"},{"hash":"686"},{"hash":"687","hashOfOptions":"688"},{"hash":"689","hashOfOptions":"690"},{"hash":"691","hashOfOptions":"692"},{"hash":"693","hashOfOptions":"694"},{"hash":"695","hashOfOptions":"696"},{"hash":"697","hashOfOptions":"698"},{"hash":"699","hashOfOptions":"700"},{"hash":"701","hashOfOptions":"702"},{"hash":"703","hashOfOptions":"704"},{"hash":"705","hashOfOptions":"706"},{"hash":"707","hashOfOptions":"708"},{"hash":"709","hashOfOptions":"710"},{"hash":"711","hashOfOptions":"712"},{"hash":"709","hashOfOptions":"713"},{"hash":"714","hashOfOptions":"715"},{"hash":"716","hashOfOptions":"717"},{"hash":"718","hashOfOptions":"719"},{"hash":"720","hashOfOptions":"721"},{"hash":"722","hashOfOptions":"723"},{"hash":"724","hashOfOptions":"725"},{"hash":"726","hashOfOptions":"727"},{"hash":"709","hashOfOptions":"728"},{"hash":"729","hashOfOptions":"730"},{"hash":"731","hashOfOptions":"732"},{"hash":"733","hashOfOptions":"734"},{"hash":"735","hashOfOptions":"736"},{"hash":"737","hashOfOptions":"738"},{"hash":"739","hashOfOptions":"740"},{"hash":"741","hashOfOptions":"742"},{"hash":"743","hashOfOptions":"744"},{"hash":"745","hashOfOptions":"746"},{"hash":"569","hashOfOptions":"747"},{"hash":"748","hashOfOptions":"749"},{"hash":"750","hashOfOptions":"751"},{"hash":"752","hashOfOptions":"753"},{"hash":"754","hashOfOptions":"755"},{"hash":"756","hashOfOptions":"757"},{"hash":"758","hashOfOptions":"759"},{"hash":"748","hashOfOptions":"760"},{"hash":"748","hashOfOptions":"761"},{"hash":"762","hashOfOptions":"763"},{"hash":"764","hashOfOptions":"765"},{"hash":"766","hashOfOptions":"767"},{"hash":"768","hashOfOptions":"769"},{"hash":"770","hashOfOptions":"771"},{"hash":"772","hashOfOptions":"773"},{"hash":"774","hashOfOptions":"775"},{"hash":"776","hashOfOptions":"777"},{"hash":"778","hashOfOptions":"779"},{"hash":"780","hashOfOptions":"781"},{"hash":"782","hashOfOptions":"783"},{"hash":"707","hashOfOptions":"784"},{"hash":"785","hashOfOptions":"786"},{"hash":"787","hashOfOptions":"788"},{"hash":"789","hashOfOptions":"790"},{"hash":"791","hashOfOptions":"792"},{"hash":"793","hashOfOptions":"794"},{"hash":"795","hashOfOptions":"796"},{"hash":"709","hashOfOptions":"797"},{"hash":"798","hashOfOptions":"799"},{"hash":"800","hashOfOptions":"801"},{"hash":"802","hashOfOptions":"803"},{"hash":"804","hashOfOptions":"805"},{"hash":"806","hashOfOptions":"807"},{"hash":"808","hashOfOptions":"809"},{"hash":"810","hashOfOptions":"811"},{"hash":"812","hashOfOptions":"813"},{"hash":"814","hashOfOptions":"815"},{"hash":"748","hashOfOptions":"816"},{"hash":"762","hashOfOptions":"817"},{"hash":"818","hashOfOptions":"819"},{"hash":"820","hashOfOptions":"821"},{"hash":"822","hashOfOptions":"823"},{"hash":"824","hashOfOptions":"825"},{"hash":"764","hashOfOptions":"826"},{"hash":"766","hashOfOptions":"827"},{"hash":"768","hashOfOptions":"828"},{"hash":"770","hashOfOptions":"829"},{"hash":"772","hashOfOptions":"830"},{"hash":"774","hashOfOptions":"831"},{"hash":"776","hashOfOptions":"832"},{"hash":"778","hashOfOptions":"833"},{"hash":"780","hashOfOptions":"834"},{"hash":"782","hashOfOptions":"835"},{"hash":"707","hashOfOptions":"836"},{"hash":"837","hashOfOptions":"838"},{"hash":"787","hashOfOptions":"839"},{"hash":"840","hashOfOptions":"841"},{"hash":"709","hashOfOptions":"842"},{"hash":"843","hashOfOptions":"844"},{"hash":"845","hashOfOptions":"846"},{"hash":"847","hashOfOptions":"848"},{"hash":"750","hashOfOptions":"849"},{"hash":"850","hashOfOptions":"851"},{"hash":"852","hashOfOptions":"853"},{"hash":"854","hashOfOptions":"855"},{"hash":"856","hashOfOptions":"857"},{"hash":"858","hashOfOptions":"859"},{"hash":"860","hashOfOptions":"861"},{"hash":"862","hashOfOptions":"863"},{"hash":"864","hashOfOptions":"865"},{"hash":"866","hashOfOptions":"867"},{"hash":"868","hashOfOptions":"869"},{"hash":"870","hashOfOptions":"871"},{"hash":"872","hashOfOptions":"873"},{"hash":"874","hashOfOptions":"875"},{"hash":"876","hashOfOptions":"877"},{"hash":"878","hashOfOptions":"879"},{"hash":"880","hashOfOptions":"881"},{"hash":"882","hashOfOptions":"883"},{"hash":"884","hashOfOptions":"885"},{"hash":"886","hashOfOptions":"887"},{"hash":"888","hashOfOptions":"889"},{"hash":"890","hashOfOptions":"891"},{"hash":"892","hashOfOptions":"893"},{"hash":"894","hashOfOptions":"895"},{"hash":"896","hashOfOptions":"897"},{"hash":"898","hashOfOptions":"899"},{"hash":"900","hashOfOptions":"901"},{"hash":"902","hashOfOptions":"903"},{"hash":"904","hashOfOptions":"905"},{"hash":"906","hashOfOptions":"907"},{"hash":"787","hashOfOptions":"908"},{"hash":"909","hashOfOptions":"910"},{"hash":"911","hashOfOptions":"912"},"111ae184a6fcd506831c82f7fb1dadd5","0873e77cd4484f2fc93c701a992afc15","9104070157fa8191f4528d963c0d5d77","9b678fc61ae0850af5ec791d2dbfc730","59f357cf301b4d47e1bfb81dbb988e08","2147888429","873dae6259e9bc3bca54244bf7ef6924","3085896496","e7c8bba0d556bb059c56d80b3cf161d8","3513180804","d598452fc1508e735f782f17da0aa30a","5e89681cca49f06753b7fd2aa321f1f5","e3a1b0e9997f76e3bf11bdce636da1fd","3614527049","80a21e1ed0ab1e8d3d52a8ee24580e32","3443354573","5871ac531572b26660fbbb007daf15dd","4110086914","7035be62396218ebc1ac79faf66021fb","596051099","9e12e92fa52ee406486d31e60cddb7e5","832575426","feebd7c04a3646c6378ee12a9dd799ae","3006711318","6640afa4e0fb2a1527885334aefd5d79","2487184365","4166361501","d41d8cd98f00b204e9800998ecf8427e","41adf6e8b8411997fd7bc4406c2d0383","655834546","e75c14a9cc6e4b3b1d36ac3afa51c9a5","17334503","d65f68874ab0db18c978a083a9584000","1898411068","32bd55f5746bf4960134a88aed8d586e","2552674296","292c3fb32779c5fe749be0c8dcff2e59","2303440181","a88040984ab4d833f09f0c50332b4ab1","393998904","a75f9b6bc3ace1ecd959f7caae930f78","2506717388","a4e607597ff2ca168cc4320cb759f347","1406041295","a2bc031c6efa31a05a6c16a4ec86e4bd","374404166","b58cf21e5504b0a759061289dccd48dc","2268372531","1777bbce9ed08a9dbd2fcba2fba69fa3","465712541","d0ae8aa5a3d5de0f2b2377ac98d7bd69","1797024770","c59e31bdcb9710a08e4800f947fe4c32","1368271896","e540f4c7785d4cefb5e4981dd1425b30","2903711353","2225134446","b48733deebba46399ff54724be2f6815","3770184642","2b119009eb4fccb017ad2e5fa4850b41","3765894465","4015714506","2b172ca62ba6173a6f4d67f58f110480","3374587894","4042c2f86669edfe50fe6ecafd919fbb","2948268715","79782913","2a0cd50f41ae440881bdc135d974dede","2440553173","8fa2061840b731168224bd4f27d47369","2018254830","bf7c6364b05d55852ea139052d336dee","2425378398","41dda7c88ddd6bc72909b5c64adbb7bf","636de987141e02b5d2f9c8402e035517","2874180409","002eaf0497c25e9ed8d0f8bd3a745d68","1014764160","b4031c81493902977bce4b2251fc4f34","4179281397","ccf9b36addc10527baecec2a90cbbe94","3089467016","70331ef661c76b1f918d191e3285bd8b","bfbd31a7b4a75c7757838bb47d0232dd","586688065","28be3770445f88e7967d81d00cf60e26","1999638772","1398febd6fee5f41e942c1d7b21f3cd5","174193481","2278674cd14f345d67b497d9ce08977e","4143676282","0b6d26372012ae48350113d1d4bb93d7","419276062","fc6082e366dde7f646b227ba94a353b5","2680600918","4023891914","55c6234352d5608860abfa3b9a8dd746","1882610548","2673237015","dd93ea85ce1e9822b9ef6ab4412e29b2","421175975","9b8f95bb62a365c7a4007ed5d4b550af","b85c5989465e026af9266b89fcf11092","3771034373","25f20db4f3f136a82e5c19a784a0a408","574056440","3133031789","272e276bfba07547ab8915d0c7cf081b","172150337","8013c6a9c5785157bf46c132acd7aa9a","2534775872","c0b2b33096d1fa96a16b57b526f8993d","de20b64edcd5f8b2a5b919ee5c487b1e","2178606114","34055021db0ee5995d8d8ee53eeaf7d3","2842835594","f49279909ebffa96f152ef1103e3b233","3257451076","cf17e3fe731c83a66ac53f0141ade955","819539342","da54816697922cc4133a1d8f0a4b4d68","198484100","c50ad542f75680656051c1f37d0d33d9","1252241101","485a987da8670a407f83e9b64613828a","4278614601","3aca13d6eb481b93d0842334cd6e4ae4","2931930609","6e53d2152d6f220a29d169f7e40c8ff2","1980288430","a2dfdc56300bc28cf2f44a5b7e19a3ab","404049042","1604917489","608375856","19fd0863d6642d787d9b0760bc804f86","665696252","b6c08dba4d8db1b50532b65da649b6da","2289492514","d3d65b908ba5eede38d84480bfd4a30b","156279056","19a559cb22c45a6f6bdcae6c8cb721bf","3254657356","2475286923","1295703124","27109328","5994dda2106df976c5054f628b9df85c","2769505223","2671490579","ec7b83044e2381834fa8f17447e42c6b","3408581481","2685870305","bee3ea302fc5a00e5babbc800b729545","3300431345","1df9532c6d5e845fbd6e82dabe978555","20496567","2961233704","db6425276d6e9e1120062ee6c72feb01","2663177509","9f3fd672efbb8eb58c8838c3517979b6","1360309095","833f2cb69bf266a0e5e5524a9d2ef3bd","2340176191","6aa7a773d1271257b724d36f0bc08543","317809250","319b8d1796207df35917bd1775a2dd18","1351501589","9dd26dbc8f3f9a8a342d067335315a63","61cfff627b79058277e604686197bbbd","61cc98944c95436b3863d03de59775c0","2216798504","a02e7eb2d22bc1f75a00f336f64a4618","2839272311","2159f81bd389fd97b74fe3624c5601a5","4140395527","4f00a00534934a2588b16fab9f437e98","2956916411","088521aacd0ac621df464a1ae4e2d35f","f235d057ef33bee80d20b76a99055f13","1601344644","d62386bd73ec8b2e1de66239901e781d","7297448873e9de89401d5e0c5d20a048","3006870265","2a2a1b037700738fee55edd4e885aa70","2803452990","90acd10e4e88790a5c5d22541b8e57b9","3150843897","6223aed969f9c692f42357f142919aae","a2b6a597b65f16d5ad2c70ee351fb9ff","3485750202","9c368e2a8534c3c76f03a84457957859","1947531453","7379cb7d2fd8196538a0c3899ff4bd22","1144320698","0bd4f4744905082d171c087fb5917bca","4213951372","15e314cbd195e51078f3a7dff4639253","2707819214","906965617","385fe281da986457c27cdc11bb88f487","440905677","574928839","ffeb325386e9dc7e10753d69e83cb965","1577169819","df5b823c7a078fc1ce75d72928c1c494","b33fb5a4354be6203116a9ea6a9c1723","2874878632","043747dbcc876110d820b74e3f3658d9","3071768794","2352933226","f7c84f1c6ab6c4013ad590635a7f9fa8","957313185","3448946251","6172ed2174f9188c3335c6e9b1002520","2386748168","138931436","7b22358f1c57f830870d20e40f1c8483","3924752294","3770178442","2596811634","3386479417","1552705595","9c86f98c1174e176fe7599095552c301","772084242","d97449712cc24423fc30db8013734628","2232844800","2765887474","93cfb173cfbd3f09c9f938c91557f9b6","767045203","84b75648bc1c942a8f337561db7ff3d9","117173442","2977685212","2634974724","ae9bc95f3e7c99fbac9e9bfb4ec53280","653311118","2324806256","2572234357","45ba77282757a18184b3030ed9d23dc2","647430493","742748190","65839973a0429cc433fa0d772c3f817b","2896179956","fa8f339482a0fcb6cdfd244105eb9deb","139093921","406e8eeece7346fdb0ee3df2569858af","1333209753","27c3717bc4e12473ff86d579a71c71b5","125663852","9d1630d3682ec3e3e3826129654e35f2","1594342322","b1a2428f13ff806972958188ea03d37e","1315171143","e85ea68b57a2ed8abece9140e1a0cbd5","1339493131","2501263127","1370542609","3312091778","168658442","2968454797","fcf29d8ba6ce78d320038c32f0835640","56173209","834824892","446983739","1312280654","2868266541","2df1dca6641e4b49cc2af79fe96e3e0b","2933538750","e916395369c48481a1cbf3254ce13a09","3785865850","3510609496","34a80b23a9e9ecea418a2108c13cc062","2608020731","330db486edb725003ade678429eaa344","1488432323","817069649","80d1a90cbff42375b5793c0698126b0d","3647067429","399a7b6868bde085b264ab55d3365e02","9de519eab71ddbe285efe56e3d3ff608","9973ad4bb947a8b621bb8a753c3d4cac","1149702948","3998625888","ca3a9c66cc59ff64721356d3fad12ab9","3826414699","1f7b233ead95ed9095405245c68b511c","3997974328","427322069","4b1d8df72aa1d7178263b82c57387629","832658","2433299378","40488d802e62b6e96aef7abf2adb5c9d","1687683149","200713951","69dd20712cfbf48ac7ae0b5220129b5a","743154637","2bf3a684f66f0cc944f2ce4592ac73c2","3505561284","4267015224","ec11098ba31935299512b16ad017f01c","504482137","743583900","1943597149","3979274460","2259697088","3512365109","3703675740","2637018905","120543431","3550656815","21b2cb6b330c863e9748be507e4d64ea","1370908444","3376071635","162980227","617479098141fd5680995809a5b72c5d","1931567139","5041e342f61c999da99a0663447463c6","2108168006","2092676401","42d92b5f11d8b31e42eb26456ff931df","ec0f81a9d22ed3924f751faeb8c8ddd7","2df85480562c33df1f43be08730d38e4","2957973316","843786275","878bdda5932fae17bf53ef07bb9bb884","3289718016","bb429112a34e74e0b103b754a6214466","2778354415","5cfe03ab2933fb65bd87f11d263d4515","eb7ac4e9e18fd531926a8b5b4ae081da","3196910667","2434108c3d90c4fc7a294e486ed80c08","493558410","35f877b73f73e128f8d2dd67993bd965","2236044176","a06b1913b85295f8f1ae9cc5888a74b3","2953196663","e6ed3b278768b80ed1dd7a80bceffb9a","935336171","836b9bca4b59a3f8f48afda79b1215d5","816039314","cffb37cb7225386734fab26d20d43f75","872136773","4fc59e70a6d7089f70f410b2dd7b36da","3975195161","785c7d8e18084f98f8b2c02fb14938f4","2104000036","e72ef3694790ebe074b9b7a1abf5c6de","2771340422","998042904205393676dc1f1406cc9145","3387160071","755042cc8bad72dd2998e7618cb38f9d","1645055009","255945ae77c145edc868e4d50b3cf57c","1450957807","315423540","cda0b7b0694ee2a507df238b7bc55053","3982188410","42f30a8455d87574abe33dfa488e5317","1704747021","232c1275d34782c6a0ec706630ed56d4","3546367004","72be91df317fd03ec0338ea3ea912be7","1466092590","5cffb61c31739640defc92b8604f24c8","1885896577","06cd2d6689c55c9216e64e53d93541ee","2763982521","40a2eb8bfcbdadcd3b9fda3cc06152be","3111059334","2341988000","1d084c2354f478883a00caa83f08e9dd","2750385970","b753cbb62ecbf2efc6c80f28c1ee7600","1740139952","b00579e2a251b171e36500d61d6bd53e","4180368436","9fef7376bc9090adaf13c3e1a4f03de5","1882974937","a76f663641a9cad9bda7643fb7a30142","3082265674","20fbcb7e5cd9dada20d2ca841e7a91a3","3006727131","008aea39369adb64306104053831ea4c","2311124836","a7d41f319b7201c5ce700b6a855c1625","2883855234","3084b0d874c79007bfc0d7bcdaf8e51e","4181241095","2478110535","a972be49d495d723ef2015b3c3a40d2d","3479529155","e411efca2c2e768be9da3369d86caa9d","3888491847","db30a7fad113a840a0c053a9328406e6","1396664192","29bf03d5084ac7e7945f153026dad7c6","1508280765","67db666afc777f1a6862615290e117d0","3796151480","e1d833adc43606d9240ded79dee3cb3a","4171382286","2686491388","3030067120","9e51236f5b7aa46afd7b3be1c63b0019","3821920928","0e248855585e907e13cb4697fc84a153","342915134","26fe2f1f64fb01ab97ccdb946e59380b","4247862529","0b3f7194a265a5350859c148b7663d79","3825260771","9014c1393a7170a70cdc5d616c949332","3106166788","b4a39a5a91e599005b99c01bd2fae0cf","663147038","46bbe85578e29c62710d8682256020e6","521643666","91a0b1551a79fa3e25e112d894f1e5b1","2373356171","beec1a9957889620da5c06b3de736007","3243280847","8e066f6ca4717ac0f22e81e8966ad944","4027852694","b561193b6b4a76b12158a05d2c112345","3163185851","2676190482","7ff3497cd22fed67d9a35b837a0c892d","286206000","ccbfebb67cc10bea5b769f4e0a3b9c26","3249842652","6fabd302749565af6fa5d3c4cafd53d0","2553025742","80bf4fe171b414b22249ff51bb308b27","1375998922","53aa095dc504c8680fcf73a07a1ef817","774778429","033d5c8e0c0706873a444cac1de8e916","2433939250","3747007482","5aab0265972847aa9f8b2766d8d0ce90","601160150","feb312b3250e0981030d7374051bcdc2","3638131368","0471f7e80297a9df42ee05101f90844c","1849825690","6e65d728466e8b60ce2d83a5bb94b228","1149822007","2074b76e77c7d90d1d7164f05d4a15f3","2410660773","9eb784664b4b3ef119204af5188118bd","1429083810","3ab1c70b6d665eb6d92e64a7df445d65","3322263457","678d7597cfaa75e5b6b3ffafb7e0d72f","4282450711","f6001c2ec77afdc61b94051f794ccf25","4243632914","1169212938","3030977990","26c7aeb8ba34a96d2f54c41818946f68","2142950432","c5c954236f7e46b05f165502b8f81d4b","2611449634","f2086bbda557b50b03f945fc3b1ec1a5","2125142973","5d0297bde785bb01fd411230620ee0eb","3316061893","1574059108","2727065179","1964406589","2315223850","3097260152","872501740","2724214245","3594138921","83743472","4227888097","1320658284","5858256de436e055aefb3b29f7e8f222","4096631690","3918001462","87b1fe2f7dd6628dc5e627c2ebab3336","787302650","1521937796","641e9a8a3aefb77bd05df46c23ac22db","1437666326","f9109826aadd0883719df036e1f242eb","3725000140","780ea03543785ee07da08cca6fa9bd25","849244574","3125106219","f5edd802f357917cd08a12467ea60a93","3301960020","b1f13abe0d37c95d9a4c4dd1d0a2c4b6","2033366224","b23cca3d4cdd20107b21eb5e82b5b68f","4216875104","c62179011059ebe44ef996873ba3fc29","3727150451","f74f521b7d49f26164d9a518e03ec676","2011748433","70a16f5ed20bd7819d5632fc73cfcf04","3282110298","73e7e683d78b539a8b5fb0ad9746ed1f","1851478006","3215d725989513cd6c84bd0885cd27ae","2723717493","3c95f5553181083cfd898ade7acfce2c","2977753014","86e253e3117d65ed2999a1e8b499936d","2829791186","0921a8b5352e1f28f14c5ac603a30b9a","1070067613","59b93781d1cae9528179e25d5b17b8d1","3929625910","547663ab216f28d8b7decdc7fc248894","1037223353","c39598b4741127b8bd0de8b88e44e201","976264995","73b68f654244945f48647bb783e1dedc","852713855","fd9a9cf2c84ca9db714f5391559b7145","3614685274","5915f1a2766d7c8ae74f06c6a5f550e6","3737701349","bc742a503e7ac386a6e98879b4ccd237","1632845568","e804e43d70d8f9cb49eb4ae00d71e0c2","3356060777","71f56c1250da40ddf33004e99545f49b","2987168853","f790422fa0d20f90da58394d77fd4272","381289309","a2fb55ff0cd5bd3b613f7bcf57d78382","2501179888","a07151bca29c1bebed3b9ba079857447","2177679096","2975a8e4a68bf8cc148f4f4816806817","3920930318","a2d84e0653ec14f12d41c240628bee04","4029910302","8c7d4521d8906ce73cd29a1cec60b005","3047328020","b447fa0429834067e6b84574be886e24","2126213248","b3afa55fc151c5231995767dae0f95af","331671301","f226c8049955ffefd24002b214713893","2482088724","445795520","15e915330bfbfeab7601d69ae0a8a2ac","918790436","669735afb5bca6b6b93475c7dabaed07","2228665599"] \ No newline at end of file diff --git a/README.md b/README.md index 1e347608..ebae2dc7 100644 --- a/README.md +++ b/README.md @@ -22,10 +22,10 @@ Join the [Ember community on Discord](https://discord.gg/zT3asNS) ## Contributing - - Open an Issue for discussion first if you're unsure a feature/fix is wanted. - - Branch off of `main` (default branch) - - Use descriptive branch names (e.g. `/`) - - PR against `main` (default branch). +- Open an Issue for discussion first if you're unsure a feature/fix is wanted. +- Branch off of `main` (default branch) +- Use descriptive branch names (e.g. `/`) +- PR against `main` (default branch). ## Thanks diff --git a/jsconfig.json b/jsconfig.json index 123fe73b..e82074c0 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -10,6 +10,6 @@ "packages/*/dist", "packages/*/tmp", "packages/*/vendor", - ".git", + ".git" ] } diff --git a/lerna.json b/lerna.json index 518283f7..aba45823 100644 --- a/lerna.json +++ b/lerna.json @@ -1,16 +1,11 @@ { - "npmClient": "pnpm", - "useWorkspaces": true, - "packages": [ - "packages/*" - ], - "version": "3.0.0-alpha.0", - "command": { - "version": { - "allowBranch": [ - "main", - "release" - ] - } + "npmClient": "pnpm", + "useWorkspaces": true, + "packages": ["packages/*"], + "version": "3.0.0-alpha.0", + "command": { + "version": { + "allowBranch": ["main", "release"] } + } } diff --git a/package.json b/package.json index 05c26d3b..4de0cc78 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,8 @@ "scripts": { "lint": "pnpm run lint:prettier && pnpm run lint:js", "lint:js": "eslint --cache --ext=js,ts .", - "lint:prettier": "prettier --check .", + "lint:prettier": "prettier --check --cache --cache-location=.prettier-cache --log-level=warn .", + "lint:prettier:fix": "prettier --write --cache --cache-location=.prettier-cache --log-level=warn .", "test:development": "lerna run --stream --parallel --no-private test:development" }, "packageManager": "pnpm@9.12.3", diff --git a/packages/flexi-config/lib/get-validated-flexi-config.js b/packages/flexi-config/lib/get-validated-flexi-config.js index aabb684b..4ad67b56 100644 --- a/packages/flexi-config/lib/get-validated-flexi-config.js +++ b/packages/flexi-config/lib/get-validated-flexi-config.js @@ -14,8 +14,7 @@ function assert(statement, test) { module.exports = function (projectRoot) { if ( - (['g', 'generate'].includes(process.argv[2]) && - process.argv[3] === '@html-next/flexi-config') || + (['g', 'generate'].includes(process.argv[2]) && process.argv[3] === '@html-next/flexi-config') || (process.argv[2] === 'install' && process.argv[3].includes('flexi')) ) { // A flexi-config is currently being generated, diff --git a/packages/flexi-default-styles/CHANGELOG.md b/packages/flexi-default-styles/CHANGELOG.md index 326343f9..77a16585 100644 --- a/packages/flexi-default-styles/CHANGELOG.md +++ b/packages/flexi-default-styles/CHANGELOG.md @@ -1,5 +1,4 @@ -Changelog -========= +# Changelog ## v1.1.9 @@ -7,11 +6,11 @@ Changelog ### Pull Requests -- [#53](https://github.com/runspired/flexi/pull/53) **feat**: exposes DSL for end users to create their own layout syntaxes *by [Chris Thoburn](https://github.com/runspired)* +- [#53](https://github.com/runspired/flexi/pull/53) **feat**: exposes DSL for end users to create their own layout syntaxes _by [Chris Thoburn](https://github.com/runspired)_ #### Commits -- [302ac7cd](https://github.com/runspired/flexi/commit/302ac7cd59437781f0db8e6e43d0b6c5fbd999fc) **fix(engines)**: enable flexi to better work in nested engines *by [Chris Thoburn](https://github.com/runspired)* +- [302ac7cd](https://github.com/runspired/flexi/commit/302ac7cd59437781f0db8e6e43d0b6c5fbd999fc) **fix(engines)**: enable flexi to better work in nested engines _by [Chris Thoburn](https://github.com/runspired)_ ## v1.1.7 @@ -19,7 +18,7 @@ Changelog #### Commits -- [6ffecce3](https://github.com/runspired/flexi/commit/6ffecce3167a3cce793f218da01030779b937fa5) **fix(columnPrefix)**: correctly convert attributes to column classes *by [Chris Thoburn](https://github.com/runspired)* +- [6ffecce3](https://github.com/runspired/flexi/commit/6ffecce3167a3cce793f218da01030779b937fa5) **fix(columnPrefix)**: correctly convert attributes to column classes _by [Chris Thoburn](https://github.com/runspired)_ ## v1.1.4 @@ -27,19 +26,19 @@ Changelog ### Pull Requests -- [#35](https://github.com/runspired/flexi/pull/35) Release Changes *by [Chris Thoburn](https://github.com/runspired)* -- [#36](https://github.com/runspired/flexi/pull/36) **docs**: grammar and spelling fixes *by [koriroys/docs](https://github.com/koriroys/docs)* -- [#34](https://github.com/runspired/flexi/pull/34) **refactor**: more descriptive method name *by [koriroys/refactor](https://github.com/koriroys/refactor)* -- [#38](https://github.com/runspired/flexi/pull/38) 15 -> 5 secs per @runspired *by [Jay Phelps](https://github.com/jayphelps)* -- [#41](https://github.com/runspired/flexi/pull/41) Patch to fix Attribute Conversion *by [Chris Thoburn](https://github.com/runspired)* +- [#35](https://github.com/runspired/flexi/pull/35) Release Changes _by [Chris Thoburn](https://github.com/runspired)_ +- [#36](https://github.com/runspired/flexi/pull/36) **docs**: grammar and spelling fixes _by [koriroys/docs](https://github.com/koriroys/docs)_ +- [#34](https://github.com/runspired/flexi/pull/34) **refactor**: more descriptive method name _by [koriroys/refactor](https://github.com/koriroys/refactor)_ +- [#38](https://github.com/runspired/flexi/pull/38) 15 -> 5 secs per @runspired _by [Jay Phelps](https://github.com/jayphelps)_ +- [#41](https://github.com/runspired/flexi/pull/41) Patch to fix Attribute Conversion _by [Chris Thoburn](https://github.com/runspired)_ #### Commits -- [9d39e88b](https://github.com/runspired/flexi/commit/9d39e88bcda59cdc19c093cbfb5ca544e8d2d552) **fix(attribute-conversion)**: fixes issue #37 with parsing multiple attributes *by [Chris Thoburn](https://github.com/runspired)* -- [022884a9](https://github.com/runspired/flexi/commit/022884a9c2faa304cec123f88d023348d740223d) **fix(layout-service)**: spelling mistake *by [Kori Roys](https://github.com/koriroys)* -- [2f524a6a](https://github.com/runspired/flexi/commit/2f524a6aaf7e96218d2deb9aab916e4ce0140ece) **docs(readme)**: grammar and spelling fixes *by [Kori Roys](https://github.com/koriroys)* -- [b9acd6bb](https://github.com/runspired/flexi/commit/b9acd6bbb1a938d28b078f59b6888ffb44ad81cd) **fix(layout-service)**: prefer orientationIs to deviceIs/deviseIs - better naming *by [Kori Roys](https://github.com/koriroys)* -- [a1a70864](https://github.com/runspired/flexi/commit/a1a70864b53fe90d984fe01d8e5f953c819546ad) **refactor(layout-service)**: more descriptive method name *by [Kori Roys](https://github.com/koriroys)* +- [9d39e88b](https://github.com/runspired/flexi/commit/9d39e88bcda59cdc19c093cbfb5ca544e8d2d552) **fix(attribute-conversion)**: fixes issue #37 with parsing multiple attributes _by [Chris Thoburn](https://github.com/runspired)_ +- [022884a9](https://github.com/runspired/flexi/commit/022884a9c2faa304cec123f88d023348d740223d) **fix(layout-service)**: spelling mistake _by [Kori Roys](https://github.com/koriroys)_ +- [2f524a6a](https://github.com/runspired/flexi/commit/2f524a6aaf7e96218d2deb9aab916e4ce0140ece) **docs(readme)**: grammar and spelling fixes _by [Kori Roys](https://github.com/koriroys)_ +- [b9acd6bb](https://github.com/runspired/flexi/commit/b9acd6bbb1a938d28b078f59b6888ffb44ad81cd) **fix(layout-service)**: prefer orientationIs to deviceIs/deviseIs - better naming _by [Kori Roys](https://github.com/koriroys)_ +- [a1a70864](https://github.com/runspired/flexi/commit/a1a70864b53fe90d984fe01d8e5f953c819546ad) **refactor(layout-service)**: more descriptive method name _by [Kori Roys](https://github.com/koriroys)_ ## v1.1.1 @@ -47,24 +46,24 @@ Changelog ### Pull Requests -- [#22](https://github.com/runspired/flexi/pull/22) Faster initial sustain render *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#27](https://github.com/runspired/flexi/pull/27) **feat**: implements labels and tests, resolves #16 *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#28](https://github.com/runspired/flexi/pull/28) Adds documentation for labels and namespaces them *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#29](https://github.com/runspired/flexi/pull/29) Feat/sustain hooks *by [Chris Thoburn](https://github.com/runspired/feat)* +- [#22](https://github.com/runspired/flexi/pull/22) Faster initial sustain render _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#27](https://github.com/runspired/flexi/pull/27) **feat**: implements labels and tests, resolves #16 _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#28](https://github.com/runspired/flexi/pull/28) Adds documentation for labels and namespaces them _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#29](https://github.com/runspired/flexi/pull/29) Feat/sustain hooks _by [Chris Thoburn](https://github.com/runspired/feat)_ #### Commits -- [941b9be6](https://github.com/runspired/flexi/commit/941b9be629c3792da056232480781fac282f7869) **fix(tagless components)**: tagless components are now correctly handled *by [Chris Thoburn](https://github.com/runspired)* -- [74109e37](https://github.com/runspired/flexi/commit/74109e37d580496501ac1dfedfabde420116c993) **fix(mobile-first)**: ensure we always fall back to closest layout *by [Chris Thoburn](https://github.com/runspired)* -- [a4f4f7f1](https://github.com/runspired/flexi/commit/a4f4f7f1c49b441cdc768d3eed966c89ef78fa3a) **fix(layout-compile)**: improves efficiency of compiled templates, and resolves mobile-first issue *by [Chris Thoburn](https://github.com/runspired)* +- [941b9be6](https://github.com/runspired/flexi/commit/941b9be629c3792da056232480781fac282f7869) **fix(tagless components)**: tagless components are now correctly handled _by [Chris Thoburn](https://github.com/runspired)_ +- [74109e37](https://github.com/runspired/flexi/commit/74109e37d580496501ac1dfedfabde420116c993) **fix(mobile-first)**: ensure we always fall back to closest layout _by [Chris Thoburn](https://github.com/runspired)_ +- [a4f4f7f1](https://github.com/runspired/flexi/commit/a4f4f7f1c49b441cdc768d3eed966c89ef78fa3a) **fix(layout-compile)**: improves efficiency of compiled templates, and resolves mobile-first issue _by [Chris Thoburn](https://github.com/runspired)_ ## v1.0.1 ### Pull Requests -- [#19](https://github.com/runspired/flexi/pull/19) Fix layout path typo *by [Ilya Radchenko](https://github.com/knownasilya)* -- [#20](https://github.com/runspired/flexi/pull/20) Fixes leaky sustain movements *by [Chris Thoburn](https://github.com/runspired)* -- [#21](https://github.com/runspired/flexi/pull/21) set build branches to fix missing builds *by [Chris Thoburn](https://github.com/runspired)* +- [#19](https://github.com/runspired/flexi/pull/19) Fix layout path typo _by [Ilya Radchenko](https://github.com/knownasilya)_ +- [#20](https://github.com/runspired/flexi/pull/20) Fixes leaky sustain movements _by [Chris Thoburn](https://github.com/runspired)_ +- [#21](https://github.com/runspired/flexi/pull/21) set build branches to fix missing builds _by [Chris Thoburn](https://github.com/runspired)_ ## 0.0.0 diff --git a/packages/flexi-default-styles/addon/styles/addon.scss b/packages/flexi-default-styles/addon/styles/addon.scss index c5a3f8d2..8f37eb45 100644 --- a/packages/flexi-default-styles/addon/styles/addon.scss +++ b/packages/flexi-default-styles/addon/styles/addon.scss @@ -1,6 +1,6 @@ -@import 'variables'; +@import "variables"; -@import 'mixins/index'; -@import 'grid/grid'; -@import 'helpers/index'; -@import 'components/index'; +@import "mixins/index"; +@import "grid/grid"; +@import "helpers/index"; +@import "components/index"; diff --git a/packages/flexi-default-styles/addon/styles/components/_index.scss b/packages/flexi-default-styles/addon/styles/components/_index.scss index 1ff68f08..0328b70d 100644 --- a/packages/flexi-default-styles/addon/styles/components/_index.scss +++ b/packages/flexi-default-styles/addon/styles/components/_index.scss @@ -1,12 +1,12 @@ -@import 'grid'; -@import 'box'; -@import 'centered'; -@import 'hbox'; -@import 'page'; -@import 'screen'; -@import 'vbox'; -@import 'container'; -@import 'fill'; +@import "grid"; +@import "box"; +@import "centered"; +@import "hbox"; +@import "page"; +@import "screen"; +@import "vbox"; +@import "container"; +@import "fill"; $detected-elements: ( grid: true, @@ -21,41 +21,39 @@ $detected-elements: ( ); @if ($include-css and $include-element-css) { - - @if (map-get($detected-elements, 'grid')) { + @if (map-get($detected-elements, "grid")) { @include gridElement(); } - @if (map-get($detected-elements, 'box')) { + @if (map-get($detected-elements, "box")) { @include boxElement(); } - @if (map-get($detected-elements, 'centered')) { + @if (map-get($detected-elements, "centered")) { @include centeredElement(); } - @if (map-get($detected-elements, 'hbox')) { + @if (map-get($detected-elements, "hbox")) { @include hboxElement(); } - @if (map-get($detected-elements, 'page')) { + @if (map-get($detected-elements, "page")) { @include pageElement(); } - @if (map-get($detected-elements, 'screen')) { + @if (map-get($detected-elements, "screen")) { @include screenElement(); } - @if (map-get($detected-elements, 'vbox')) { + @if (map-get($detected-elements, "vbox")) { @include vboxElement(); } - @if (map-get($detected-elements, 'container')) { + @if (map-get($detected-elements, "container")) { @include containerElement(); } - @if (map-get($detected-elements, 'fill')) { + @if (map-get($detected-elements, "fill")) { @include fillElement(); } - } diff --git a/packages/flexi-default-styles/addon/styles/grid/_functions.scss b/packages/flexi-default-styles/addon/styles/grid/_functions.scss index fbdd7136..1a1781a7 100644 --- a/packages/flexi-default-styles/addon/styles/grid/_functions.scss +++ b/packages/flexi-default-styles/addon/styles/grid/_functions.scss @@ -14,7 +14,6 @@ @return if($next, breakpoint-min($next, $breakpoints) - 1px, null); } - @function pixel($num) { @if unitless($num) { @return $num * 1px; diff --git a/packages/flexi-default-styles/addon/styles/grid/_grid.scss b/packages/flexi-default-styles/addon/styles/grid/_grid.scss index d2fd973f..730ca7ab 100644 --- a/packages/flexi-default-styles/addon/styles/grid/_grid.scss +++ b/packages/flexi-default-styles/addon/styles/grid/_grid.scss @@ -1,5 +1,5 @@ -@import 'functions'; -@import 'mixins'; +@import "functions"; +@import "mixins"; @if ($include-css) { @include make-columns($breakpoints, $column-prefix, $columns); diff --git a/packages/flexi-default-styles/addon/styles/grid/_mixins.scss b/packages/flexi-default-styles/addon/styles/grid/_mixins.scss index 535467a0..56dd11b2 100644 --- a/packages/flexi-default-styles/addon/styles/grid/_mixins.scss +++ b/packages/flexi-default-styles/addon/styles/grid/_mixins.scss @@ -33,9 +33,9 @@ @mixin make-columns($breakpoints, $column-prefix, $columns) { $breakpoint-counter: 0; - $col-prefix: ''; + $col-prefix: ""; @if ($column-prefix) { - $col-prefix: '#{$column-prefix}-'; + $col-prefix: "#{$column-prefix}-"; } @each $name, $breakpoint-setup in $breakpoints { @@ -44,7 +44,6 @@ // @media and @container breakpoints @include breakpoint-up($name, $breakpoints) { - // responsive utilities .hidden-#{$bp-prefix} { display: none; @@ -187,13 +186,13 @@ // It is currently recommended that you use a sized to the offset // you need. @for $i from 0 through ($columns - 1) { - @if $breakpoint-counter != 1 or $i != 0 { // Avoid emitting useless .col-xs-offset-0 + @if $breakpoint-counter != 1 or $i != 0 { + // Avoid emitting useless .col-xs-offset-0 .#{$col-prefix}offset-#{$bp-prefix}-#{$i} { margin-left: percentage(math.div($i, $columns)); } } } - } } } diff --git a/packages/flexi-default-styles/addon/styles/helpers/_index.scss b/packages/flexi-default-styles/addon/styles/helpers/_index.scss index d44e6cc6..b0b64ec6 100644 --- a/packages/flexi-default-styles/addon/styles/helpers/_index.scss +++ b/packages/flexi-default-styles/addon/styles/helpers/_index.scss @@ -1 +1 @@ -@import 'alignment'; +@import "alignment"; diff --git a/packages/flexi-default-styles/addon/styles/mixins/_flex.scss b/packages/flexi-default-styles/addon/styles/mixins/_flex.scss index 20b47fe5..b60225ae 100644 --- a/packages/flexi-default-styles/addon/styles/mixins/_flex.scss +++ b/packages/flexi-default-styles/addon/styles/mixins/_flex.scss @@ -2,16 +2,16 @@ // https://github.com/philipwalton/flexbugs @mixin flex($values) { - @if $values == 'none' { + @if $values == "none" { -webkit-box-flex: 0; - -moz-box-flex: 0; + -moz-box-flex: 0; } @else { -webkit-box-flex: nth($values, 1); - -moz-box-flex: nth($values, 1); + -moz-box-flex: nth($values, 1); } - -webkit-flex: $values; - -ms-flex: $values; - flex: $values; + -webkit-flex: $values; + -ms-flex: $values; + flex: $values; } @mixin flexDisplay { diff --git a/packages/flexi-default-styles/addon/styles/mixins/_index.scss b/packages/flexi-default-styles/addon/styles/mixins/_index.scss index 375d01d0..aecca698 100644 --- a/packages/flexi-default-styles/addon/styles/mixins/_index.scss +++ b/packages/flexi-default-styles/addon/styles/mixins/_index.scss @@ -1,2 +1,2 @@ -@import 'element'; -@import 'flex'; +@import "element"; +@import "flex"; diff --git a/packages/flexi-default-styles/index.js b/packages/flexi-default-styles/index.js index c3953b0a..c7908e5e 100644 --- a/packages/flexi-default-styles/index.js +++ b/packages/flexi-default-styles/index.js @@ -12,10 +12,7 @@ module.exports = { return mergeTrees( [ tree, - new FlexiVariableCompiler( - path.join(__dirname, 'addon/styles'), - getValidatedFlexiConfig(this.project.root) - ), + new FlexiVariableCompiler(path.join(__dirname, 'addon/styles'), getValidatedFlexiConfig(this.project.root)), ], { overwrite: true } ); @@ -24,8 +21,7 @@ module.exports = { isDevelopingAddon(...args) { if ( typeof this.parent.name === 'string' && - (this.parent.name === 'flexi' || - this.parent.name.startsWith('@html-next/flexi-')) + (this.parent.name === 'flexi' || this.parent.name.startsWith('@html-next/flexi-')) ) { return this.parent.isDevelopingAddon(); } diff --git a/packages/flexi-dsl/CHANGELOG.md b/packages/flexi-dsl/CHANGELOG.md index 326343f9..77a16585 100644 --- a/packages/flexi-dsl/CHANGELOG.md +++ b/packages/flexi-dsl/CHANGELOG.md @@ -1,5 +1,4 @@ -Changelog -========= +# Changelog ## v1.1.9 @@ -7,11 +6,11 @@ Changelog ### Pull Requests -- [#53](https://github.com/runspired/flexi/pull/53) **feat**: exposes DSL for end users to create their own layout syntaxes *by [Chris Thoburn](https://github.com/runspired)* +- [#53](https://github.com/runspired/flexi/pull/53) **feat**: exposes DSL for end users to create their own layout syntaxes _by [Chris Thoburn](https://github.com/runspired)_ #### Commits -- [302ac7cd](https://github.com/runspired/flexi/commit/302ac7cd59437781f0db8e6e43d0b6c5fbd999fc) **fix(engines)**: enable flexi to better work in nested engines *by [Chris Thoburn](https://github.com/runspired)* +- [302ac7cd](https://github.com/runspired/flexi/commit/302ac7cd59437781f0db8e6e43d0b6c5fbd999fc) **fix(engines)**: enable flexi to better work in nested engines _by [Chris Thoburn](https://github.com/runspired)_ ## v1.1.7 @@ -19,7 +18,7 @@ Changelog #### Commits -- [6ffecce3](https://github.com/runspired/flexi/commit/6ffecce3167a3cce793f218da01030779b937fa5) **fix(columnPrefix)**: correctly convert attributes to column classes *by [Chris Thoburn](https://github.com/runspired)* +- [6ffecce3](https://github.com/runspired/flexi/commit/6ffecce3167a3cce793f218da01030779b937fa5) **fix(columnPrefix)**: correctly convert attributes to column classes _by [Chris Thoburn](https://github.com/runspired)_ ## v1.1.4 @@ -27,19 +26,19 @@ Changelog ### Pull Requests -- [#35](https://github.com/runspired/flexi/pull/35) Release Changes *by [Chris Thoburn](https://github.com/runspired)* -- [#36](https://github.com/runspired/flexi/pull/36) **docs**: grammar and spelling fixes *by [koriroys/docs](https://github.com/koriroys/docs)* -- [#34](https://github.com/runspired/flexi/pull/34) **refactor**: more descriptive method name *by [koriroys/refactor](https://github.com/koriroys/refactor)* -- [#38](https://github.com/runspired/flexi/pull/38) 15 -> 5 secs per @runspired *by [Jay Phelps](https://github.com/jayphelps)* -- [#41](https://github.com/runspired/flexi/pull/41) Patch to fix Attribute Conversion *by [Chris Thoburn](https://github.com/runspired)* +- [#35](https://github.com/runspired/flexi/pull/35) Release Changes _by [Chris Thoburn](https://github.com/runspired)_ +- [#36](https://github.com/runspired/flexi/pull/36) **docs**: grammar and spelling fixes _by [koriroys/docs](https://github.com/koriroys/docs)_ +- [#34](https://github.com/runspired/flexi/pull/34) **refactor**: more descriptive method name _by [koriroys/refactor](https://github.com/koriroys/refactor)_ +- [#38](https://github.com/runspired/flexi/pull/38) 15 -> 5 secs per @runspired _by [Jay Phelps](https://github.com/jayphelps)_ +- [#41](https://github.com/runspired/flexi/pull/41) Patch to fix Attribute Conversion _by [Chris Thoburn](https://github.com/runspired)_ #### Commits -- [9d39e88b](https://github.com/runspired/flexi/commit/9d39e88bcda59cdc19c093cbfb5ca544e8d2d552) **fix(attribute-conversion)**: fixes issue #37 with parsing multiple attributes *by [Chris Thoburn](https://github.com/runspired)* -- [022884a9](https://github.com/runspired/flexi/commit/022884a9c2faa304cec123f88d023348d740223d) **fix(layout-service)**: spelling mistake *by [Kori Roys](https://github.com/koriroys)* -- [2f524a6a](https://github.com/runspired/flexi/commit/2f524a6aaf7e96218d2deb9aab916e4ce0140ece) **docs(readme)**: grammar and spelling fixes *by [Kori Roys](https://github.com/koriroys)* -- [b9acd6bb](https://github.com/runspired/flexi/commit/b9acd6bbb1a938d28b078f59b6888ffb44ad81cd) **fix(layout-service)**: prefer orientationIs to deviceIs/deviseIs - better naming *by [Kori Roys](https://github.com/koriroys)* -- [a1a70864](https://github.com/runspired/flexi/commit/a1a70864b53fe90d984fe01d8e5f953c819546ad) **refactor(layout-service)**: more descriptive method name *by [Kori Roys](https://github.com/koriroys)* +- [9d39e88b](https://github.com/runspired/flexi/commit/9d39e88bcda59cdc19c093cbfb5ca544e8d2d552) **fix(attribute-conversion)**: fixes issue #37 with parsing multiple attributes _by [Chris Thoburn](https://github.com/runspired)_ +- [022884a9](https://github.com/runspired/flexi/commit/022884a9c2faa304cec123f88d023348d740223d) **fix(layout-service)**: spelling mistake _by [Kori Roys](https://github.com/koriroys)_ +- [2f524a6a](https://github.com/runspired/flexi/commit/2f524a6aaf7e96218d2deb9aab916e4ce0140ece) **docs(readme)**: grammar and spelling fixes _by [Kori Roys](https://github.com/koriroys)_ +- [b9acd6bb](https://github.com/runspired/flexi/commit/b9acd6bbb1a938d28b078f59b6888ffb44ad81cd) **fix(layout-service)**: prefer orientationIs to deviceIs/deviseIs - better naming _by [Kori Roys](https://github.com/koriroys)_ +- [a1a70864](https://github.com/runspired/flexi/commit/a1a70864b53fe90d984fe01d8e5f953c819546ad) **refactor(layout-service)**: more descriptive method name _by [Kori Roys](https://github.com/koriroys)_ ## v1.1.1 @@ -47,24 +46,24 @@ Changelog ### Pull Requests -- [#22](https://github.com/runspired/flexi/pull/22) Faster initial sustain render *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#27](https://github.com/runspired/flexi/pull/27) **feat**: implements labels and tests, resolves #16 *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#28](https://github.com/runspired/flexi/pull/28) Adds documentation for labels and namespaces them *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#29](https://github.com/runspired/flexi/pull/29) Feat/sustain hooks *by [Chris Thoburn](https://github.com/runspired/feat)* +- [#22](https://github.com/runspired/flexi/pull/22) Faster initial sustain render _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#27](https://github.com/runspired/flexi/pull/27) **feat**: implements labels and tests, resolves #16 _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#28](https://github.com/runspired/flexi/pull/28) Adds documentation for labels and namespaces them _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#29](https://github.com/runspired/flexi/pull/29) Feat/sustain hooks _by [Chris Thoburn](https://github.com/runspired/feat)_ #### Commits -- [941b9be6](https://github.com/runspired/flexi/commit/941b9be629c3792da056232480781fac282f7869) **fix(tagless components)**: tagless components are now correctly handled *by [Chris Thoburn](https://github.com/runspired)* -- [74109e37](https://github.com/runspired/flexi/commit/74109e37d580496501ac1dfedfabde420116c993) **fix(mobile-first)**: ensure we always fall back to closest layout *by [Chris Thoburn](https://github.com/runspired)* -- [a4f4f7f1](https://github.com/runspired/flexi/commit/a4f4f7f1c49b441cdc768d3eed966c89ef78fa3a) **fix(layout-compile)**: improves efficiency of compiled templates, and resolves mobile-first issue *by [Chris Thoburn](https://github.com/runspired)* +- [941b9be6](https://github.com/runspired/flexi/commit/941b9be629c3792da056232480781fac282f7869) **fix(tagless components)**: tagless components are now correctly handled _by [Chris Thoburn](https://github.com/runspired)_ +- [74109e37](https://github.com/runspired/flexi/commit/74109e37d580496501ac1dfedfabde420116c993) **fix(mobile-first)**: ensure we always fall back to closest layout _by [Chris Thoburn](https://github.com/runspired)_ +- [a4f4f7f1](https://github.com/runspired/flexi/commit/a4f4f7f1c49b441cdc768d3eed966c89ef78fa3a) **fix(layout-compile)**: improves efficiency of compiled templates, and resolves mobile-first issue _by [Chris Thoburn](https://github.com/runspired)_ ## v1.0.1 ### Pull Requests -- [#19](https://github.com/runspired/flexi/pull/19) Fix layout path typo *by [Ilya Radchenko](https://github.com/knownasilya)* -- [#20](https://github.com/runspired/flexi/pull/20) Fixes leaky sustain movements *by [Chris Thoburn](https://github.com/runspired)* -- [#21](https://github.com/runspired/flexi/pull/21) set build branches to fix missing builds *by [Chris Thoburn](https://github.com/runspired)* +- [#19](https://github.com/runspired/flexi/pull/19) Fix layout path typo _by [Ilya Radchenko](https://github.com/knownasilya)_ +- [#20](https://github.com/runspired/flexi/pull/20) Fixes leaky sustain movements _by [Chris Thoburn](https://github.com/runspired)_ +- [#21](https://github.com/runspired/flexi/pull/21) set build branches to fix missing builds _by [Chris Thoburn](https://github.com/runspired)_ ## 0.0.0 diff --git a/packages/flexi-dsl/dsl/dsl-defaults.js b/packages/flexi-dsl/dsl/dsl-defaults.js index d05bae04..4d9ec21b 100644 --- a/packages/flexi-dsl/dsl/dsl-defaults.js +++ b/packages/flexi-dsl/dsl/dsl-defaults.js @@ -24,9 +24,7 @@ const LAYOUT_PROPERTIES = [ */ module.exports = { generateGridClass(breakpointPrefix, colNumber, columnPrefix) { - return `${ - columnPrefix ? `${columnPrefix}-` : '' - }${breakpointPrefix}-${colNumber}`; + return `${columnPrefix ? `${columnPrefix}-` : ''}${breakpointPrefix}-${colNumber}`; }, generateResponderClass(breakpointPrefix, responder, value) { @@ -46,26 +44,14 @@ module.exports = { }, generateOffsetClass(breakpointPrefix, colNumber, columnPrefix) { - return `${ - columnPrefix ? `${columnPrefix}-` : '' - }offset-${breakpointPrefix}-${colNumber}`; + return `${columnPrefix ? `${columnPrefix}-` : ''}offset-${breakpointPrefix}-${colNumber}`; }, /* Only elements with a tag matching elements in the DSL have their attributes and properties converted. */ - elements: [ - 'box', - 'centered', - 'container', - 'fill', - 'grid', - 'hbox', - 'page', - 'screen', - 'vbox', - ], + elements: ['box', 'centered', 'container', 'fill', 'grid', 'hbox', 'page', 'screen', 'vbox'], /* Responders are values which can occur within breakpoint properties diff --git a/packages/flexi-dsl/dsl/template-precompiler.js b/packages/flexi-dsl/dsl/template-precompiler.js index 0d62cadf..90b6bec8 100644 --- a/packages/flexi-dsl/dsl/template-precompiler.js +++ b/packages/flexi-dsl/dsl/template-precompiler.js @@ -23,32 +23,20 @@ function isResponsiveGrid(elementNode) { } function isFlexiLayoutComponent(node) { - return ( - node.type === 'ElementNode' && - (node.tag === 'container' || isResponsiveGrid(node)) - ); + return node.type === 'ElementNode' && (node.tag === 'container' || isResponsiveGrid(node)); } function isElementWeConvertAttributesFor({ dsl }, node) { - return ( - node.type === 'ElementNode' && - (dsl.transformAll || dsl.elements.has(node.tag)) - ); + return node.type === 'ElementNode' && (dsl.transformAll || dsl.elements.has(node.tag)); } function _convertGridColumns({ dsl }, breakpointPrefix, columns) { if (columns >= MIN_COLUMN_COUNT && columns <= dsl.columns) { - return dsl.generateGridClass( - breakpointPrefix, - columns, - dsl.columnPrefix, - dsl.columns - ); + return dsl.generateGridClass(breakpointPrefix, columns, dsl.columnPrefix, dsl.columns); } throw new Error( - `Flexi#attribute-conversion:: '${columns}'` + - ` is not a valid column value for ${breakpointPrefix}.` + `Flexi#attribute-conversion:: '${columns}'` + ` is not a valid column value for ${breakpointPrefix}.` ); } @@ -56,17 +44,11 @@ function _convertOffsetColumns({ dsl }, breakpointPrefix, value) { const offset = Number.parseInt(value.substr(OFFSET_STR.length), 10); if (!Number.isNaN(offset) && offset >= 0 && offset < dsl.columns) { - return dsl.generateOffsetClass( - breakpointPrefix, - offset, - dsl.columnPrefix, - dsl.columns - ); + return dsl.generateOffsetClass(breakpointPrefix, offset, dsl.columnPrefix, dsl.columns); } throw new Error( - `Flexi#attribute-conversion:: '${offset}'` + - ` is not a valid column offset for ${breakpointPrefix}.` + `Flexi#attribute-conversion:: '${offset}'` + ` is not a valid column offset for ${breakpointPrefix}.` ); } @@ -88,8 +70,7 @@ function _convertComplexAttribute({ dsl, utils }, attributeNode) { if (!validValues.includes(attributeValue)) { throw new Error( - `Flexi#attribute-conversion:: '${attributeValue}'` + - ` is not a valid value for ${attributeNode.name}.` + `Flexi#attribute-conversion:: '${attributeValue}'` + ` is not a valid value for ${attributeNode.name}.` ); } @@ -104,9 +85,7 @@ function _convertBreakpointAttribute({ dsl, utils }, breakpointAttribute) { // Convert column number values const columns = Number.parseInt(responderAttribute, 10); if (!Number.isNaN(columns)) { - classNames.push( - utils._convertGridColumns({ dsl, utils }, breakpointPrefix, columns) - ); + classNames.push(utils._convertGridColumns({ dsl, utils }, breakpointPrefix, columns)); return; } @@ -116,13 +95,7 @@ function _convertBreakpointAttribute({ dsl, utils }, breakpointAttribute) { const responderConverter = utils.responderConverters[splitAttribute[0]]; if (responderConverter) { classNames.push( - responderConverter.call( - this, - { dsl, utils }, - breakpointPrefix, - splitAttribute[0], - splitAttribute[1] - ) + responderConverter.call(this, { dsl, utils }, breakpointPrefix, splitAttribute[0], splitAttribute[1]) ); return; @@ -130,61 +103,35 @@ function _convertBreakpointAttribute({ dsl, utils }, breakpointAttribute) { // Convert offset values if (responderAttribute.startsWith(OFFSET_STR)) { - classNames.push( - utils._convertOffsetColumns( - { dsl, utils }, - breakpointPrefix, - responderAttribute - ) - ); + classNames.push(utils._convertOffsetColumns({ dsl, utils }, breakpointPrefix, responderAttribute)); return; } - throw new Error( - `Flexi#attribute-conversion:: '${responderAttribute}' is not a valid breakpoint attribute.` - ); + throw new Error(`Flexi#attribute-conversion:: '${responderAttribute}' is not a valid breakpoint attribute.`); }); return classNames; } -function _convertResponder( - { dsl }, - breakpointPrefix, - responder, - responderValue -) { +function _convertResponder({ dsl }, breakpointPrefix, responder, responderValue) { if (responderValue) { throw new Error( - 'Flexi#attribute-conversion:: ' + - `Attribute '${responder}' does not expect a value, given '${responderValue}'.` + 'Flexi#attribute-conversion:: ' + `Attribute '${responder}' does not expect a value, given '${responderValue}'.` ); } return dsl.generateResponderClass(breakpointPrefix, responder, null); } -function _convertComplexResponder( - { dsl, utils }, - breakpointPrefix, - responder, - responderValue -) { +function _convertComplexResponder({ dsl, utils }, breakpointPrefix, responder, responderValue) { const validValues = utils.complexResponderToValidValues[responder]; if (!validValues.includes(responderValue)) { - throw new Error( - `Flexi#attribute-conversion:: '${responderValue}'` + - ` is not a valid value for ${responder}.` - ); + throw new Error(`Flexi#attribute-conversion:: '${responderValue}'` + ` is not a valid value for ${responder}.`); } - return dsl.generateResponderClass( - breakpointPrefix, - responder, - responderValue - ); + return dsl.generateResponderClass(breakpointPrefix, responder, responderValue); } function setupConfig(config) { @@ -247,31 +194,17 @@ function setupConfig(config) { return { dsl, utils }; } -function processAttribute( - { dsl, utils }, - elementNode, - attributeNode, - classNames -) { +function processAttribute({ dsl, utils }, elementNode, attributeNode, classNames) { if (attributeNode.name === 'class') { return attributeNode; } // Return early if we don't have an attribute converter for this attribute - if ( - !Object.prototype.hasOwnProperty.call( - utils.attributeConverters, - attributeNode.name - ) - ) { + if (!Object.prototype.hasOwnProperty.call(utils.attributeConverters, attributeNode.name)) { return; } - const generatedClasses = utils.attributeConverters[attributeNode.name].call( - utils, - { dsl, utils }, - attributeNode - ); + const generatedClasses = utils.attributeConverters[attributeNode.name].call(utils, { dsl, utils }, attributeNode); if (typeof generatedClasses === 'string') { classNames.push(generatedClasses); @@ -280,10 +213,7 @@ function processAttribute( } // Remove the custom attribute from the node - elementNode.attributes.splice( - elementNode.attributes.indexOf(attributeNode), - 1 - ); + elementNode.attributes.splice(elementNode.attributes.indexOf(attributeNode), 1); } function updateClassNode(builder, elementNode, classNode, classNames) { @@ -323,12 +253,7 @@ module.exports = function (env, options) { // Iterate over the element's attributes backwards so we can remove attributes while iterating for (let i = node.attributes.length - 1; i >= 0; i--) { - const maybeClassNode = processAttribute( - converter, - node, - node.attributes[i], - classNames - ); + const maybeClassNode = processAttribute(converter, node, node.attributes[i], classNames); if (maybeClassNode) { classNode = maybeClassNode; } diff --git a/packages/flexi-dsl/index.js b/packages/flexi-dsl/index.js index a8bd1fe5..11208e88 100644 --- a/packages/flexi-dsl/index.js +++ b/packages/flexi-dsl/index.js @@ -10,8 +10,7 @@ module.exports = { isDevelopingAddon(...args) { if ( typeof this.parent.name === 'string' && - (this.parent.name === 'flexi' || - this.parent.name.startsWith('@html-next/flexi-')) + (this.parent.name === 'flexi' || this.parent.name.startsWith('@html-next/flexi-')) ) { return this.parent.isDevelopingAddon(); } diff --git a/packages/flexi-layouts/CHANGELOG.md b/packages/flexi-layouts/CHANGELOG.md index 326343f9..77a16585 100644 --- a/packages/flexi-layouts/CHANGELOG.md +++ b/packages/flexi-layouts/CHANGELOG.md @@ -1,5 +1,4 @@ -Changelog -========= +# Changelog ## v1.1.9 @@ -7,11 +6,11 @@ Changelog ### Pull Requests -- [#53](https://github.com/runspired/flexi/pull/53) **feat**: exposes DSL for end users to create their own layout syntaxes *by [Chris Thoburn](https://github.com/runspired)* +- [#53](https://github.com/runspired/flexi/pull/53) **feat**: exposes DSL for end users to create their own layout syntaxes _by [Chris Thoburn](https://github.com/runspired)_ #### Commits -- [302ac7cd](https://github.com/runspired/flexi/commit/302ac7cd59437781f0db8e6e43d0b6c5fbd999fc) **fix(engines)**: enable flexi to better work in nested engines *by [Chris Thoburn](https://github.com/runspired)* +- [302ac7cd](https://github.com/runspired/flexi/commit/302ac7cd59437781f0db8e6e43d0b6c5fbd999fc) **fix(engines)**: enable flexi to better work in nested engines _by [Chris Thoburn](https://github.com/runspired)_ ## v1.1.7 @@ -19,7 +18,7 @@ Changelog #### Commits -- [6ffecce3](https://github.com/runspired/flexi/commit/6ffecce3167a3cce793f218da01030779b937fa5) **fix(columnPrefix)**: correctly convert attributes to column classes *by [Chris Thoburn](https://github.com/runspired)* +- [6ffecce3](https://github.com/runspired/flexi/commit/6ffecce3167a3cce793f218da01030779b937fa5) **fix(columnPrefix)**: correctly convert attributes to column classes _by [Chris Thoburn](https://github.com/runspired)_ ## v1.1.4 @@ -27,19 +26,19 @@ Changelog ### Pull Requests -- [#35](https://github.com/runspired/flexi/pull/35) Release Changes *by [Chris Thoburn](https://github.com/runspired)* -- [#36](https://github.com/runspired/flexi/pull/36) **docs**: grammar and spelling fixes *by [koriroys/docs](https://github.com/koriroys/docs)* -- [#34](https://github.com/runspired/flexi/pull/34) **refactor**: more descriptive method name *by [koriroys/refactor](https://github.com/koriroys/refactor)* -- [#38](https://github.com/runspired/flexi/pull/38) 15 -> 5 secs per @runspired *by [Jay Phelps](https://github.com/jayphelps)* -- [#41](https://github.com/runspired/flexi/pull/41) Patch to fix Attribute Conversion *by [Chris Thoburn](https://github.com/runspired)* +- [#35](https://github.com/runspired/flexi/pull/35) Release Changes _by [Chris Thoburn](https://github.com/runspired)_ +- [#36](https://github.com/runspired/flexi/pull/36) **docs**: grammar and spelling fixes _by [koriroys/docs](https://github.com/koriroys/docs)_ +- [#34](https://github.com/runspired/flexi/pull/34) **refactor**: more descriptive method name _by [koriroys/refactor](https://github.com/koriroys/refactor)_ +- [#38](https://github.com/runspired/flexi/pull/38) 15 -> 5 secs per @runspired _by [Jay Phelps](https://github.com/jayphelps)_ +- [#41](https://github.com/runspired/flexi/pull/41) Patch to fix Attribute Conversion _by [Chris Thoburn](https://github.com/runspired)_ #### Commits -- [9d39e88b](https://github.com/runspired/flexi/commit/9d39e88bcda59cdc19c093cbfb5ca544e8d2d552) **fix(attribute-conversion)**: fixes issue #37 with parsing multiple attributes *by [Chris Thoburn](https://github.com/runspired)* -- [022884a9](https://github.com/runspired/flexi/commit/022884a9c2faa304cec123f88d023348d740223d) **fix(layout-service)**: spelling mistake *by [Kori Roys](https://github.com/koriroys)* -- [2f524a6a](https://github.com/runspired/flexi/commit/2f524a6aaf7e96218d2deb9aab916e4ce0140ece) **docs(readme)**: grammar and spelling fixes *by [Kori Roys](https://github.com/koriroys)* -- [b9acd6bb](https://github.com/runspired/flexi/commit/b9acd6bbb1a938d28b078f59b6888ffb44ad81cd) **fix(layout-service)**: prefer orientationIs to deviceIs/deviseIs - better naming *by [Kori Roys](https://github.com/koriroys)* -- [a1a70864](https://github.com/runspired/flexi/commit/a1a70864b53fe90d984fe01d8e5f953c819546ad) **refactor(layout-service)**: more descriptive method name *by [Kori Roys](https://github.com/koriroys)* +- [9d39e88b](https://github.com/runspired/flexi/commit/9d39e88bcda59cdc19c093cbfb5ca544e8d2d552) **fix(attribute-conversion)**: fixes issue #37 with parsing multiple attributes _by [Chris Thoburn](https://github.com/runspired)_ +- [022884a9](https://github.com/runspired/flexi/commit/022884a9c2faa304cec123f88d023348d740223d) **fix(layout-service)**: spelling mistake _by [Kori Roys](https://github.com/koriroys)_ +- [2f524a6a](https://github.com/runspired/flexi/commit/2f524a6aaf7e96218d2deb9aab916e4ce0140ece) **docs(readme)**: grammar and spelling fixes _by [Kori Roys](https://github.com/koriroys)_ +- [b9acd6bb](https://github.com/runspired/flexi/commit/b9acd6bbb1a938d28b078f59b6888ffb44ad81cd) **fix(layout-service)**: prefer orientationIs to deviceIs/deviseIs - better naming _by [Kori Roys](https://github.com/koriroys)_ +- [a1a70864](https://github.com/runspired/flexi/commit/a1a70864b53fe90d984fe01d8e5f953c819546ad) **refactor(layout-service)**: more descriptive method name _by [Kori Roys](https://github.com/koriroys)_ ## v1.1.1 @@ -47,24 +46,24 @@ Changelog ### Pull Requests -- [#22](https://github.com/runspired/flexi/pull/22) Faster initial sustain render *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#27](https://github.com/runspired/flexi/pull/27) **feat**: implements labels and tests, resolves #16 *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#28](https://github.com/runspired/flexi/pull/28) Adds documentation for labels and namespaces them *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#29](https://github.com/runspired/flexi/pull/29) Feat/sustain hooks *by [Chris Thoburn](https://github.com/runspired/feat)* +- [#22](https://github.com/runspired/flexi/pull/22) Faster initial sustain render _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#27](https://github.com/runspired/flexi/pull/27) **feat**: implements labels and tests, resolves #16 _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#28](https://github.com/runspired/flexi/pull/28) Adds documentation for labels and namespaces them _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#29](https://github.com/runspired/flexi/pull/29) Feat/sustain hooks _by [Chris Thoburn](https://github.com/runspired/feat)_ #### Commits -- [941b9be6](https://github.com/runspired/flexi/commit/941b9be629c3792da056232480781fac282f7869) **fix(tagless components)**: tagless components are now correctly handled *by [Chris Thoburn](https://github.com/runspired)* -- [74109e37](https://github.com/runspired/flexi/commit/74109e37d580496501ac1dfedfabde420116c993) **fix(mobile-first)**: ensure we always fall back to closest layout *by [Chris Thoburn](https://github.com/runspired)* -- [a4f4f7f1](https://github.com/runspired/flexi/commit/a4f4f7f1c49b441cdc768d3eed966c89ef78fa3a) **fix(layout-compile)**: improves efficiency of compiled templates, and resolves mobile-first issue *by [Chris Thoburn](https://github.com/runspired)* +- [941b9be6](https://github.com/runspired/flexi/commit/941b9be629c3792da056232480781fac282f7869) **fix(tagless components)**: tagless components are now correctly handled _by [Chris Thoburn](https://github.com/runspired)_ +- [74109e37](https://github.com/runspired/flexi/commit/74109e37d580496501ac1dfedfabde420116c993) **fix(mobile-first)**: ensure we always fall back to closest layout _by [Chris Thoburn](https://github.com/runspired)_ +- [a4f4f7f1](https://github.com/runspired/flexi/commit/a4f4f7f1c49b441cdc768d3eed966c89ef78fa3a) **fix(layout-compile)**: improves efficiency of compiled templates, and resolves mobile-first issue _by [Chris Thoburn](https://github.com/runspired)_ ## v1.0.1 ### Pull Requests -- [#19](https://github.com/runspired/flexi/pull/19) Fix layout path typo *by [Ilya Radchenko](https://github.com/knownasilya)* -- [#20](https://github.com/runspired/flexi/pull/20) Fixes leaky sustain movements *by [Chris Thoburn](https://github.com/runspired)* -- [#21](https://github.com/runspired/flexi/pull/21) set build branches to fix missing builds *by [Chris Thoburn](https://github.com/runspired)* +- [#19](https://github.com/runspired/flexi/pull/19) Fix layout path typo _by [Ilya Radchenko](https://github.com/knownasilya)_ +- [#20](https://github.com/runspired/flexi/pull/20) Fixes leaky sustain movements _by [Chris Thoburn](https://github.com/runspired)_ +- [#21](https://github.com/runspired/flexi/pull/21) set build branches to fix missing builds _by [Chris Thoburn](https://github.com/runspired)_ ## 0.0.0 diff --git a/packages/flexi-layouts/README.md b/packages/flexi-layouts/README.md index 57c12701..f216b9cc 100644 --- a/packages/flexi-layouts/README.md +++ b/packages/flexi-layouts/README.md @@ -5,9 +5,10 @@ Flexi-layouts is the layouts portion of flexi. It includes the following concepts: -* [Viewport Specific Templates](https://flexi.readme.io/docs/viewport-specific-templates) -* [Blueprints](https://flexi.readme.io/docs/blueprints) for generating viewport specific templates or moving existing templates into a layouts structure. -* [Layout Service](https://flexi.readme.io/docs/layout-service) for checking `isMobile`, `isDesktop` and other various things + +- [Viewport Specific Templates](https://flexi.readme.io/docs/viewport-specific-templates) +- [Blueprints](https://flexi.readme.io/docs/blueprints) for generating viewport specific templates or moving existing templates into a layouts structure. +- [Layout Service](https://flexi.readme.io/docs/layout-service) for checking `isMobile`, `isDesktop` and other various things ### Installation @@ -26,17 +27,16 @@ Alternatively install just this package: ember install @html-next/flexi-layouts ``` -That's all that required if you're using the classic component layout. If you are using a _pod_-based structure you will also need to install the shim for `ember-app`. This is done by modifiying your `ember-cli-build.js` file. This shim makes ember-cli's template tree able to find +That's all that required if you're using the classic component layout. If you are using a _pod_-based structure you will also need to install the shim for `ember-app`. This is done by modifiying your `ember-cli-build.js` file. This shim makes ember-cli's template tree able to find the templates for layouts. ```js -var EmberApp = require('ember-cli/lib/broccoli/ember-app'); -var shim = require('@html-next/flexi-layouts/lib/pod-templates-shim'); +var EmberApp = require("ember-cli/lib/broccoli/ember-app"); +var shim = require("@html-next/flexi-layouts/lib/pod-templates-shim"); shim(EmberApp); ``` - ## Support, Questions, Collaboration Join the [Ember community on Discord](https://discord.gg/zT3asNS) diff --git a/packages/flexi-layouts/addon/components/flexi-grid.hbs b/packages/flexi-layouts/addon/components/flexi-grid.hbs index 1597676e..1e7b69a8 100644 --- a/packages/flexi-layouts/addon/components/flexi-grid.hbs +++ b/packages/flexi-layouts/addon/components/flexi-grid.hbs @@ -1,7 +1,3 @@ - + {{yield}} \ No newline at end of file diff --git a/packages/flexi-layouts/addon/lib/monitor.js b/packages/flexi-layouts/addon/lib/monitor.js index 1129e6e6..60894b17 100644 --- a/packages/flexi-layouts/addon/lib/monitor.js +++ b/packages/flexi-layouts/addon/lib/monitor.js @@ -42,8 +42,7 @@ export class ResizeMonitor { const currentWidth = element.clientWidth; const currentHeight = element.clientHeight; const widthChanged = currentWidth !== info.width && info.width !== 0; - const heightChanged = - currentHeight !== info.height && info.height !== 0; + const heightChanged = currentHeight !== info.height && info.height !== 0; info.width = currentWidth; info.height = currentHeight; diff --git a/packages/flexi-layouts/addon/services/device/layout.js b/packages/flexi-layouts/addon/services/device/layout.js index 95b577db..c6d9ea34 100644 --- a/packages/flexi-layouts/addon/services/device/layout.js +++ b/packages/flexi-layouts/addon/services/device/layout.js @@ -69,10 +69,7 @@ export default class extends Service.extend(Evented) { } setupBreakpoints() { - assert( - 'You must configure some breakpoints', - Array.isArray(this.breakpoints) && this.breakpoints.length > 0 - ); + assert('You must configure some breakpoints', Array.isArray(this.breakpoints) && this.breakpoints.length > 0); // sort breakpoints largest to smallest // TODO do this at build time diff --git a/packages/flexi-layouts/blueprints/layout/index.js b/packages/flexi-layouts/blueprints/layout/index.js index 261afeb6..f9092ae7 100644 --- a/packages/flexi-layouts/blueprints/layout/index.js +++ b/packages/flexi-layouts/blueprints/layout/index.js @@ -52,13 +52,7 @@ module.exports = { const nameParts = options.dasherizedModuleName.split('/'); const name = nameParts.pop(); if (!LayoutNames.includes(name)) { - throw new Error( - "Invalid Layout name '" + - name + - "'. Valid names are '" + - LayoutNames.join(', ') + - "'" - ); + throw new Error("Invalid Layout name '" + name + "'. Valid names are '" + LayoutNames.join(', ') + "'"); } return name; }, diff --git a/packages/flexi-layouts/config/ember-try.js b/packages/flexi-layouts/config/ember-try.js index 1e6272c4..237f8f72 100644 --- a/packages/flexi-layouts/config/ember-try.js +++ b/packages/flexi-layouts/config/ember-try.js @@ -3,11 +3,7 @@ const getChannelURL = require('ember-source-channel-url'); module.exports = function () { - return Promise.all([ - getChannelURL('release'), - getChannelURL('beta'), - getChannelURL('canary'), - ]).then((urls) => { + return Promise.all([getChannelURL('release'), getChannelURL('beta'), getChannelURL('canary')]).then((urls) => { return { usePnpm: true, scenarios: [ diff --git a/packages/flexi-layouts/index.js b/packages/flexi-layouts/index.js index fac20ffe..c70060f5 100644 --- a/packages/flexi-layouts/index.js +++ b/packages/flexi-layouts/index.js @@ -13,8 +13,7 @@ module.exports = { isDevelopingAddon(...args) { if ( typeof this.parent.name === 'string' && - (this.parent.name === 'flexi' || - this.parent.name.startsWith('@html-next/flexi-')) + (this.parent.name === 'flexi' || this.parent.name.startsWith('@html-next/flexi-')) ) { return this.parent.isDevelopingAddon(); } diff --git a/packages/flexi-layouts/lib/commands/move.js b/packages/flexi-layouts/lib/commands/move.js index 913b2a59..40709c89 100644 --- a/packages/flexi-layouts/lib/commands/move.js +++ b/packages/flexi-layouts/lib/commands/move.js @@ -12,9 +12,7 @@ function assert(statement, test) { } function getPodPrefix(config) { - return config.podModulePrefix - ? config.podModulePrefix.substr(config.modulePrefix.length + 1) - : ''; + return config.podModulePrefix ? config.podModulePrefix.substr(config.modulePrefix.length + 1) : ''; } module.exports = { @@ -35,18 +33,14 @@ module.exports = { const flexiConfig = config.flexi || {}; let type = rawArgs.shift(); let name = rawArgs.shift(); - const breakpoint = - commandOptions.breakpoint || flexiConfig.defaultBreakpoint; + const breakpoint = commandOptions.breakpoint || flexiConfig.defaultBreakpoint; if (!name) { name = type; type = 'route'; } - assert( - 'You must supply a to transform into a layout.', - name - ); + assert('You must supply a to transform into a layout.', name); assert( 'You must either configure a defaultBreakpoint in config/flexi.js or use the -b flag to specify a breakpoint name for the layout.', breakpoint diff --git a/packages/flexi-layouts/lib/compile.js b/packages/flexi-layouts/lib/compile.js index efc705be..35314e0a 100644 --- a/packages/flexi-layouts/lib/compile.js +++ b/packages/flexi-layouts/lib/compile.js @@ -14,12 +14,7 @@ function build(file, inputs) { if (debug) { const modulePathOffset = 5; - console.log( - chalk.yellow( - 'Compiled Layout: ' + - file.substr(file.indexOf('.tmp') + modulePathOffset) - ) - ); + console.log(chalk.yellow('Compiled Layout: ' + file.substr(file.indexOf('.tmp') + modulePathOffset))); console.log('\n', chalk.cyan(fs.readFileSync(file), '\n\n')); } return true; @@ -59,21 +54,13 @@ module.exports = function compile(file, layouts, breakpoints) { const ordered = orderedLayouts(layouts, breakpoints); if (ordered.length === 1) { - inputs.push( - '{{#let (-inject-layout) as |FlexiLayout|}}', - ordered[0].data, - '{{/let}}' - ); + inputs.push('{{#let (-inject-layout) as |FlexiLayout|}}', ordered[0].data, '{{/let}}'); return build(file, inputs); } ordered.forEach(function (layout, index) { if (index === 0) { - inputs.push( - '{{#let (-inject-layout) as |FlexiLayout|}}', - makeFirstTest(layout.name), - layout.data - ); + inputs.push('{{#let (-inject-layout) as |FlexiLayout|}}', makeFirstTest(layout.name), layout.data); } else if (index === ordered.length - 1) { inputs.push('{{else}}', layout.data, '{{/if}}', '{{/let}}'); } else { diff --git a/packages/flexi-layouts/lib/layout-compiler.js b/packages/flexi-layouts/lib/layout-compiler.js index 4d6e328e..3ec55c94 100644 --- a/packages/flexi-layouts/lib/layout-compiler.js +++ b/packages/flexi-layouts/lib/layout-compiler.js @@ -43,9 +43,7 @@ function collectLayout(dirPath, pathInfo, layoutNames) { let templatePath; try { templatePath = - isClassic || isModern - ? path.join(dirPath, '../' + moduleName + '.hbs') - : path.join(dirPath, 'template.hbs'); + isClassic || isModern ? path.join(dirPath, '../' + moduleName + '.hbs') : path.join(dirPath, 'template.hbs'); const template = fs.statSync(templatePath); hasTemplate = template && template.isFile(); } catch { @@ -61,9 +59,7 @@ function collectLayout(dirPath, pathInfo, layoutNames) { fullPath: dirPath, pathInfo, }; - fs.readdirSync(path.join(dirPath, LAYOUT_DIRNAME)).forEach(function ( - layoutName - ) { + fs.readdirSync(path.join(dirPath, LAYOUT_DIRNAME)).forEach(function (layoutName) { const { name } = path.parse(layoutName); if (layoutNames.includes(name)) { @@ -75,9 +71,7 @@ function collectLayout(dirPath, pathInfo, layoutNames) { } else { const stats = fs.statSync(path.join(dirPath, LAYOUT_DIRNAME, layoutName)); if (stats && stats.isFile()) { - console.warn( - chalk.yellow('Layout ' + name + ' is not a valid layout.') - ); + console.warn(chalk.yellow('Layout ' + name + ' is not a valid layout.')); } } }); @@ -121,11 +115,7 @@ class LayoutCompiler extends Plugin { const destPath = layout.fullPath.substr(layout.pathInfo.base.length + 1); const dest = layout.isClassic || layout.isModern - ? path.join( - layout.pathInfo.output, - destPath, - '../' + layout.name + '.hbs' - ) + ? path.join(layout.pathInfo.output, destPath, '../' + layout.name + '.hbs') : path.join(layout.pathInfo.output, destPath, 'template.hbs'); makeDir(layout.pathInfo.output, destPath); diff --git a/packages/flexi-layouts/lib/pod-templates-shim.js b/packages/flexi-layouts/lib/pod-templates-shim.js index 1d38e8c6..cea8c78a 100644 --- a/packages/flexi-layouts/lib/pod-templates-shim.js +++ b/packages/flexi-layouts/lib/pod-templates-shim.js @@ -3,10 +3,8 @@ module.exports = function (EmberApp) { // shims ember-cli so that our layout and sustainables templates will work EmberApp.prototype._podTemplatePatterns = function () { - return this.registry - .extensionsForType('template') - .map(function (extension) { - return '**/*/*.' + extension; - }); + return this.registry.extensionsForType('template').map(function (extension) { + return '**/*/*.' + extension; + }); }; }; diff --git a/packages/flexi-layouts/lib/tasks/rename-template.js b/packages/flexi-layouts/lib/tasks/rename-template.js index 9b26ea99..9e91ac1f 100644 --- a/packages/flexi-layouts/lib/tasks/rename-template.js +++ b/packages/flexi-layouts/lib/tasks/rename-template.js @@ -50,12 +50,7 @@ function resolvePodComponent(name, options) { if (options.type !== 'component') { return false; } - const templatePath = path.join( - options.root, - 'components', - name, - 'template.hbs' - ); + const templatePath = path.join(options.root, 'components', name, 'template.hbs'); if (exists(templatePath, 'pod-component', options.verbose)) { return { @@ -85,12 +80,7 @@ function resolvePod(name, options) { } function resolvePodPrefix(name, options) { - const templatePath = path.join( - options.root, - options.prefix, - name, - 'template.hbs' - ); + const templatePath = path.join(options.root, options.prefix, name, 'template.hbs'); if (exists(templatePath, 'prefixed-pod', options.verbose)) { return { @@ -113,13 +103,7 @@ function resolvePodPrefixComponent(name, options) { return false; } - const templatePath = path.join( - options.root, - options.prefix, - 'components', - name, - 'template.hbs' - ); + const templatePath = path.join(options.root, options.prefix, 'components', name, 'template.hbs'); if (exists(templatePath, 'prefixed-pod-component', options.verbose)) { return { @@ -136,24 +120,18 @@ function resolvePodPrefixComponent(name, options) { function resolve(options) { const { name } = options; const matches = []; - [ - resolveClassic, - resolvePod, - resolvePodComponent, - resolvePodPrefix, - resolvePodPrefixComponent, - ].forEach(function (resolver) { - const found = resolver(name, options); - - if (found) { - matches.push(found); + [resolveClassic, resolvePod, resolvePodComponent, resolvePodPrefix, resolvePodPrefixComponent].forEach( + function (resolver) { + const found = resolver(name, options); + + if (found) { + matches.push(found); + } } - }); + ); if (matches.length === 0) { - console.log( - chalk.red('No ' + options.type + ' template was found for ' + name) - ); + console.log(chalk.red('No ' + options.type + ' template was found for ' + name)); if (!options.verbose) { console.log( chalk.yellow( @@ -198,8 +176,7 @@ function constructNewPath(info, options) { const parsed = path.parse(info.path); pathInfo.base = parsed.dir; - pathInfo.rest = - info.mode === 'classic' ? path.join(parsed.name, '-layouts') : '-layouts'; + pathInfo.rest = info.mode === 'classic' ? path.join(parsed.name, '-layouts') : '-layouts'; pathInfo.dirPath = path.join(parsed.dir, pathInfo.rest); pathInfo.filePath = path.join(pathInfo.dirPath, options.breakpoint + '.hbs'); diff --git a/packages/flexi-layouts/tests/acceptance/classic-layouts-test.js b/packages/flexi-layouts/tests/acceptance/classic-layouts-test.js index 26b359ac..75026720 100644 --- a/packages/flexi-layouts/tests/acceptance/classic-layouts-test.js +++ b/packages/flexi-layouts/tests/acceptance/classic-layouts-test.js @@ -12,10 +12,6 @@ module('Acceptance | classic layouts', function (hooks) { await visit('/classic-layout-testroute'); assert.strictEqual(currentURL(), '/classic-layout-testroute'); - assert.strictEqual( - find('h1.test-header').textContent, - 'Success!', - 'The layout renders' - ); + assert.strictEqual(find('h1.test-header').textContent, 'Success!', 'The layout renders'); }); }); diff --git a/packages/flexi-layouts/tests/dummy/app/components/classic-component.hbs b/packages/flexi-layouts/tests/dummy/app/components/classic-component.hbs index 3d936d26..3a8316c7 100644 --- a/packages/flexi-layouts/tests/dummy/app/components/classic-component.hbs +++ b/packages/flexi-layouts/tests/dummy/app/components/classic-component.hbs @@ -1 +1 @@ -

Classic Component

+

Classic Component

\ No newline at end of file diff --git a/packages/flexi-layouts/tests/dummy/app/components/component-with-layouts/-layouts/desktop.hbs b/packages/flexi-layouts/tests/dummy/app/components/component-with-layouts/-layouts/desktop.hbs index ed2a1862..d414ed2f 100644 --- a/packages/flexi-layouts/tests/dummy/app/components/component-with-layouts/-layouts/desktop.hbs +++ b/packages/flexi-layouts/tests/dummy/app/components/component-with-layouts/-layouts/desktop.hbs @@ -2,4 +2,4 @@

Desktop!

- + \ No newline at end of file diff --git a/packages/flexi-layouts/tests/dummy/app/index.html b/packages/flexi-layouts/tests/dummy/app/index.html index c8cca27c..9e30e751 100644 --- a/packages/flexi-layouts/tests/dummy/app/index.html +++ b/packages/flexi-layouts/tests/dummy/app/index.html @@ -1,16 +1,19 @@ - + - - + + Flexi | Just a layout framework. - - + + {{content-for "head"}} - - - + + + {{content-for "head-footer"}} diff --git a/packages/flexi-layouts/tests/dummy/app/routes/application/template.hbs b/packages/flexi-layouts/tests/dummy/app/routes/application/template.hbs index 39580c80..da268802 100644 --- a/packages/flexi-layouts/tests/dummy/app/routes/application/template.hbs +++ b/packages/flexi-layouts/tests/dummy/app/routes/application/template.hbs @@ -1,4 +1,3 @@ {{outlet}} - - + \ No newline at end of file diff --git a/packages/flexi-layouts/tests/dummy/app/routes/index/-layouts/mobile.hbs b/packages/flexi-layouts/tests/dummy/app/routes/index/-layouts/mobile.hbs index f54dad92..57087de2 100644 --- a/packages/flexi-layouts/tests/dummy/app/routes/index/-layouts/mobile.hbs +++ b/packages/flexi-layouts/tests/dummy/app/routes/index/-layouts/mobile.hbs @@ -11,10 +11,10 @@ -

Home

+

Home

-

Site Index

+

Site Index

Github

diff --git a/packages/flexi-layouts/tests/dummy/app/routes/site-index/template.hbs b/packages/flexi-layouts/tests/dummy/app/routes/site-index/template.hbs index 354b86bd..0c3d76a0 100644 --- a/packages/flexi-layouts/tests/dummy/app/routes/site-index/template.hbs +++ b/packages/flexi-layouts/tests/dummy/app/routes/site-index/template.hbs @@ -3,8 +3,8 @@ The Routes below are used for both manual and automated testing.

    -
  • Layouts Test
  • -
  • Mobile First Test
  • -
  • Modern Component With Layouts Test
  • -
  • Classic Layouts Test
  • +
  • Layouts Test
  • +
  • Mobile First Test
  • +
  • Modern Component With Layouts Test
  • +
  • Classic Layouts Test
\ No newline at end of file diff --git a/packages/flexi-layouts/tests/dummy/app/routes/tests/components/destroyed-container/template.hbs b/packages/flexi-layouts/tests/dummy/app/routes/tests/components/destroyed-container/template.hbs index 1f92c75d..6cfb55c3 100644 --- a/packages/flexi-layouts/tests/dummy/app/routes/tests/components/destroyed-container/template.hbs +++ b/packages/flexi-layouts/tests/dummy/app/routes/tests/components/destroyed-container/template.hbs @@ -4,8 +4,6 @@ {{/if}} - +

component that destroys the container

\ No newline at end of file diff --git a/packages/flexi-layouts/tests/dummy/app/routes/tests/layouts/-layouts/desktop.hbs b/packages/flexi-layouts/tests/dummy/app/routes/tests/layouts/-layouts/desktop.hbs index ed2a1862..d414ed2f 100644 --- a/packages/flexi-layouts/tests/dummy/app/routes/tests/layouts/-layouts/desktop.hbs +++ b/packages/flexi-layouts/tests/dummy/app/routes/tests/layouts/-layouts/desktop.hbs @@ -2,4 +2,4 @@

Desktop!

- + \ No newline at end of file diff --git a/packages/flexi-layouts/tests/dummy/app/routes/tests/mobile-first/-layouts/desktop.hbs b/packages/flexi-layouts/tests/dummy/app/routes/tests/mobile-first/-layouts/desktop.hbs index ed2a1862..d414ed2f 100644 --- a/packages/flexi-layouts/tests/dummy/app/routes/tests/mobile-first/-layouts/desktop.hbs +++ b/packages/flexi-layouts/tests/dummy/app/routes/tests/mobile-first/-layouts/desktop.hbs @@ -2,4 +2,4 @@

Desktop!

- + \ No newline at end of file diff --git a/packages/flexi-layouts/tests/dummy/app/routes/tests/mobile-first/-layouts/mobile.hbs b/packages/flexi-layouts/tests/dummy/app/routes/tests/mobile-first/-layouts/mobile.hbs index 114282a8..be55f9a2 100644 --- a/packages/flexi-layouts/tests/dummy/app/routes/tests/mobile-first/-layouts/mobile.hbs +++ b/packages/flexi-layouts/tests/dummy/app/routes/tests/mobile-first/-layouts/mobile.hbs @@ -2,4 +2,4 @@

Mobile!

- + \ No newline at end of file diff --git a/packages/flexi-layouts/tests/dummy/app/styles/_variables.scss b/packages/flexi-layouts/tests/dummy/app/styles/_variables.scss index 0617cdb8..5d02184b 100644 --- a/packages/flexi-layouts/tests/dummy/app/styles/_variables.scss +++ b/packages/flexi-layouts/tests/dummy/app/styles/_variables.scss @@ -20,5 +20,4 @@ $theme-colors: ( light-grey: $theme-light-grey ); - $gutter-padding: 5px; diff --git a/packages/flexi-layouts/tests/dummy/app/styles/app.scss b/packages/flexi-layouts/tests/dummy/app/styles/app.scss index 43aaa08b..9a29306d 100644 --- a/packages/flexi-layouts/tests/dummy/app/styles/app.scss +++ b/packages/flexi-layouts/tests/dummy/app/styles/app.scss @@ -1,6 +1,6 @@ -@import 'variables'; -@import 'defaults/index'; -@import 'mixins/index'; +@import "variables"; +@import "defaults/index"; +@import "mixins/index"; body { font-size: 125%; @@ -16,13 +16,13 @@ body { } p { - font-size: .85rem; + font-size: 0.85rem; line-height: 1.2em; } .site-banner { - - h1, h3 { + h1, + h3 { margin: 0; padding: $gutter-padding; } @@ -55,14 +55,12 @@ p { text-decoration: none; } - - &:active, &.active { - color: $theme-green; + &:active, + &.active { + color: $theme-green; text-decoration: none; } - } - } .has-site-banner { diff --git a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_buttons.scss b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_buttons.scss index fcf4d8ae..4b4095e5 100644 --- a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_buttons.scss +++ b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_buttons.scss @@ -1,10 +1,11 @@ -button, .button { +button, +.button { color: darken($theme-green, 30%); font-weight: bold; display: inline-block; background: $theme-green; border: 1px solid lighten($theme-green, 10%); - font-size: .75em; - padding: .25em .5em; + font-size: 0.75em; + padding: 0.25em 0.5em; border-radius: 1px; } diff --git a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_colors.scss b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_colors.scss index 5f602faa..619354a9 100644 --- a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_colors.scss +++ b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_colors.scss @@ -3,4 +3,3 @@ background: $color; } } - diff --git a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_headers.scss b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_headers.scss index 8bdae9ae..c568c8b2 100644 --- a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_headers.scss +++ b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_headers.scss @@ -8,7 +8,7 @@ h1 { color: $theme-dark-grey; line-height: 2rem; margin-top: 1rem; - margin-bottom: .25rem; + margin-bottom: 0.25rem; } h2.sub-title { @@ -27,11 +27,11 @@ h3 { } h4 { - font-size: .85rem; + font-size: 0.85rem; color: $theme-green; } p { - font-size: .75rem; + font-size: 0.75rem; color: $theme-dark-grey; } diff --git a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_index.scss b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_index.scss index 3f7743b2..b893f555 100644 --- a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_index.scss +++ b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_index.scss @@ -1,7 +1,7 @@ -@import 'normalize'; -@import 'headers'; -@import 'table'; -@import 'buttons'; -@import 'colors'; -@import 'links'; -@import 'lists'; +@import "normalize"; +@import "headers"; +@import "table"; +@import "buttons"; +@import "colors"; +@import "links"; +@import "lists"; diff --git a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_links.scss b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_links.scss index e645887f..9f7c8eb5 100644 --- a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_links.scss +++ b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_links.scss @@ -1,7 +1,7 @@ -@import '../variables'; +@import "../variables"; screen { - font-size: .85rem; + font-size: 0.85rem; } a { @@ -24,4 +24,3 @@ a:active { color: darken($theme-orange, 5%); text-decoration: underline; } - diff --git a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_lists.scss b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_lists.scss index 753bcd62..d397a79b 100644 --- a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_lists.scss +++ b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_lists.scss @@ -2,7 +2,7 @@ margin: 1rem auto; padding: 0; list-style-type: lower-roman; - font-size: .85rem; + font-size: 0.85rem; line-height: 1.2em; li { @@ -37,16 +37,12 @@ color: darken($theme-green, 0%); text-decoration: none; } - - } - } } .nav-menu { @media (max-width: 767.999px) { - background: #fff; ul { @@ -83,10 +79,8 @@ &:visited { color: #333; } - } } } } } - diff --git a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_table.scss b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_table.scss index e1ec6038..bb9d8618 100644 --- a/packages/flexi-layouts/tests/dummy/app/styles/defaults/_table.scss +++ b/packages/flexi-layouts/tests/dummy/app/styles/defaults/_table.scss @@ -12,7 +12,7 @@ scroll-horizontal { } table.workout { - font-size: .7rem; + font-size: 0.7rem; height: 100%; position: relative; @@ -39,7 +39,7 @@ table.main > tbody > tr > td { padding: $gutter-padding; &:first-of-type, - &:last-of-type{ + &:last-of-type { color: $theme-orange; } @@ -50,7 +50,7 @@ table.main > tbody > tr > td { padding: 0; margin: 0; color: $theme-light-grey; - font-size: .85rem; + font-size: 0.85rem; } } table.main > tbody > tr:nth-of-type(even) { diff --git a/packages/flexi-layouts/tests/dummy/app/styles/mixins/_flex.scss b/packages/flexi-layouts/tests/dummy/app/styles/mixins/_flex.scss index 26bd0d70..632e670e 100644 --- a/packages/flexi-layouts/tests/dummy/app/styles/mixins/_flex.scss +++ b/packages/flexi-layouts/tests/dummy/app/styles/mixins/_flex.scss @@ -3,10 +3,10 @@ @mixin flex($values) { -webkit-box-flex: $values; - -moz-box-flex: $values; - -webkit-flex: $values; - -ms-flex: $values; - flex: $values; + -moz-box-flex: $values; + -webkit-flex: $values; + -ms-flex: $values; + flex: $values; } @mixin flexDisplay { @@ -62,8 +62,6 @@ justify-content: $val; } - - @mixin flexOrder($val) { -webkit-box-ordinal-group: $val; -moz-box-ordinal-group: $val; diff --git a/packages/flexi-layouts/tests/dummy/app/styles/mixins/_index.scss b/packages/flexi-layouts/tests/dummy/app/styles/mixins/_index.scss index 375d01d0..aecca698 100644 --- a/packages/flexi-layouts/tests/dummy/app/styles/mixins/_index.scss +++ b/packages/flexi-layouts/tests/dummy/app/styles/mixins/_index.scss @@ -1,2 +1,2 @@ -@import 'element'; -@import 'flex'; +@import "element"; +@import "flex"; diff --git a/packages/flexi-layouts/tests/dummy/config/targets.js b/packages/flexi-layouts/tests/dummy/config/targets.js index 3cd797ab..6c153ac7 100644 --- a/packages/flexi-layouts/tests/dummy/config/targets.js +++ b/packages/flexi-layouts/tests/dummy/config/targets.js @@ -1,10 +1,6 @@ 'use strict'; -const browsers = [ - 'last 1 Chrome versions', - 'last 1 Firefox versions', - 'last 1 Safari versions', -]; +const browsers = ['last 1 Chrome versions', 'last 1 Firefox versions', 'last 1 Safari versions']; // Ember's browser support policy is changing, and IE11 support will end in // v4.0 onwards. diff --git a/packages/flexi-layouts/tests/index.html b/packages/flexi-layouts/tests/index.html index 1318ae29..3e6cf592 100644 --- a/packages/flexi-layouts/tests/index.html +++ b/packages/flexi-layouts/tests/index.html @@ -1,18 +1,17 @@ - + - - + + App Tests - - + + - {{content-for "head"}} - {{content-for "test-head"}} + {{content-for "head"}} {{content-for "test-head"}} - - - + + + - {{content-for "head-footer"}} - {{content-for "test-head-footer"}} + {{content-for "head-footer"}} {{content-for "test-head-footer"}} - {{content-for "body"}} - {{content-for "test-body"}} + {{content-for "body"}} {{content-for "test-body"}}
@@ -40,7 +37,6 @@ - {{content-for "body-footer"}} - {{content-for "test-body-footer"}} + {{content-for "body-footer"}} {{content-for "test-body-footer"}} diff --git a/packages/flexi-layouts/tests/integration/components/flexi-grid-test.js b/packages/flexi-layouts/tests/integration/components/flexi-grid-test.js index 247c4631..f2fd7db2 100644 --- a/packages/flexi-layouts/tests/integration/components/flexi-grid-test.js +++ b/packages/flexi-layouts/tests/integration/components/flexi-grid-test.js @@ -30,12 +30,7 @@ module('Integration | Component | flexi grid', function (hooks) {
`); - assert - .dom('grid') - .exists() - .hasAttribute('responsive') - .hasClass('container-lg') - .hasText('template block text'); + assert.dom('grid').exists().hasAttribute('responsive').hasClass('container-lg').hasText('template block text'); }); test('responsive grids are responsive', async function (assert) { @@ -49,38 +44,22 @@ module('Integration | Component | flexi grid', function (hooks) { `); - assert - .dom('grid') - .exists() - .hasClass('container-lg') - .hasText('template block text'); + assert.dom('grid').exists().hasClass('container-lg').hasText('template block text'); this.set('currentWidth', widths.desktop); await settled(); - assert - .dom('grid') - .exists() - .hasClass('container-md') - .hasText('template block text'); + assert.dom('grid').exists().hasClass('container-md').hasText('template block text'); this.set('currentWidth', widths.tablet); await settled(); - assert - .dom('grid') - .exists() - .hasClass('container-sm') - .hasText('template block text'); + assert.dom('grid').exists().hasClass('container-sm').hasText('template block text'); this.set('currentWidth', widths.mobile); await settled(); - assert - .dom('grid') - .exists() - .hasClass('container-xs') - .hasText('template block text'); + assert.dom('grid').exists().hasClass('container-xs').hasText('template block text'); }); test('it renders in angle bracket form', async function (assert) { diff --git a/packages/flexi-layouts/tests/unit/services/device/layout-test.js b/packages/flexi-layouts/tests/unit/services/device/layout-test.js index cf4c2734..65aa5688 100644 --- a/packages/flexi-layouts/tests/unit/services/device/layout-test.js +++ b/packages/flexi-layouts/tests/unit/services/device/layout-test.js @@ -86,35 +86,19 @@ module('Unit | Service | device/layout', function (hooks) { window.screen.width = 100; window.innerWidth = 0; window.document.documentElement.clientWidth = null; - assert.strictEqual( - service._currentWidth(), - 100, - 'Should ignore values of 0 or null' - ); + assert.strictEqual(service._currentWidth(), 100, 'Should ignore values of 0 or null'); window.innerWidth = 150; window.document.documentElement.clientWidth = 200; - assert.strictEqual( - service._currentWidth(), - 100, - 'Should choose the smallest value' - ); + assert.strictEqual(service._currentWidth(), 100, 'Should choose the smallest value'); window.screen.height = 100; window.innerHeight = 0; window.document.documentElement.clientHeight = null; - assert.strictEqual( - service._currentHeight(), - 100, - 'Should ignore values of 0 or null' - ); + assert.strictEqual(service._currentHeight(), 100, 'Should ignore values of 0 or null'); window.innerHeight = 150; window.document.documentElement.clientHeight = 200; - assert.strictEqual( - service._currentHeight(), - 100, - 'Should choose the smallest value' - ); + assert.strictEqual(service._currentHeight(), 100, 'Should choose the smallest value'); }); }); diff --git a/packages/flexi-sustain/CHANGELOG.md b/packages/flexi-sustain/CHANGELOG.md index 326343f9..77a16585 100644 --- a/packages/flexi-sustain/CHANGELOG.md +++ b/packages/flexi-sustain/CHANGELOG.md @@ -1,5 +1,4 @@ -Changelog -========= +# Changelog ## v1.1.9 @@ -7,11 +6,11 @@ Changelog ### Pull Requests -- [#53](https://github.com/runspired/flexi/pull/53) **feat**: exposes DSL for end users to create their own layout syntaxes *by [Chris Thoburn](https://github.com/runspired)* +- [#53](https://github.com/runspired/flexi/pull/53) **feat**: exposes DSL for end users to create their own layout syntaxes _by [Chris Thoburn](https://github.com/runspired)_ #### Commits -- [302ac7cd](https://github.com/runspired/flexi/commit/302ac7cd59437781f0db8e6e43d0b6c5fbd999fc) **fix(engines)**: enable flexi to better work in nested engines *by [Chris Thoburn](https://github.com/runspired)* +- [302ac7cd](https://github.com/runspired/flexi/commit/302ac7cd59437781f0db8e6e43d0b6c5fbd999fc) **fix(engines)**: enable flexi to better work in nested engines _by [Chris Thoburn](https://github.com/runspired)_ ## v1.1.7 @@ -19,7 +18,7 @@ Changelog #### Commits -- [6ffecce3](https://github.com/runspired/flexi/commit/6ffecce3167a3cce793f218da01030779b937fa5) **fix(columnPrefix)**: correctly convert attributes to column classes *by [Chris Thoburn](https://github.com/runspired)* +- [6ffecce3](https://github.com/runspired/flexi/commit/6ffecce3167a3cce793f218da01030779b937fa5) **fix(columnPrefix)**: correctly convert attributes to column classes _by [Chris Thoburn](https://github.com/runspired)_ ## v1.1.4 @@ -27,19 +26,19 @@ Changelog ### Pull Requests -- [#35](https://github.com/runspired/flexi/pull/35) Release Changes *by [Chris Thoburn](https://github.com/runspired)* -- [#36](https://github.com/runspired/flexi/pull/36) **docs**: grammar and spelling fixes *by [koriroys/docs](https://github.com/koriroys/docs)* -- [#34](https://github.com/runspired/flexi/pull/34) **refactor**: more descriptive method name *by [koriroys/refactor](https://github.com/koriroys/refactor)* -- [#38](https://github.com/runspired/flexi/pull/38) 15 -> 5 secs per @runspired *by [Jay Phelps](https://github.com/jayphelps)* -- [#41](https://github.com/runspired/flexi/pull/41) Patch to fix Attribute Conversion *by [Chris Thoburn](https://github.com/runspired)* +- [#35](https://github.com/runspired/flexi/pull/35) Release Changes _by [Chris Thoburn](https://github.com/runspired)_ +- [#36](https://github.com/runspired/flexi/pull/36) **docs**: grammar and spelling fixes _by [koriroys/docs](https://github.com/koriroys/docs)_ +- [#34](https://github.com/runspired/flexi/pull/34) **refactor**: more descriptive method name _by [koriroys/refactor](https://github.com/koriroys/refactor)_ +- [#38](https://github.com/runspired/flexi/pull/38) 15 -> 5 secs per @runspired _by [Jay Phelps](https://github.com/jayphelps)_ +- [#41](https://github.com/runspired/flexi/pull/41) Patch to fix Attribute Conversion _by [Chris Thoburn](https://github.com/runspired)_ #### Commits -- [9d39e88b](https://github.com/runspired/flexi/commit/9d39e88bcda59cdc19c093cbfb5ca544e8d2d552) **fix(attribute-conversion)**: fixes issue #37 with parsing multiple attributes *by [Chris Thoburn](https://github.com/runspired)* -- [022884a9](https://github.com/runspired/flexi/commit/022884a9c2faa304cec123f88d023348d740223d) **fix(layout-service)**: spelling mistake *by [Kori Roys](https://github.com/koriroys)* -- [2f524a6a](https://github.com/runspired/flexi/commit/2f524a6aaf7e96218d2deb9aab916e4ce0140ece) **docs(readme)**: grammar and spelling fixes *by [Kori Roys](https://github.com/koriroys)* -- [b9acd6bb](https://github.com/runspired/flexi/commit/b9acd6bbb1a938d28b078f59b6888ffb44ad81cd) **fix(layout-service)**: prefer orientationIs to deviceIs/deviseIs - better naming *by [Kori Roys](https://github.com/koriroys)* -- [a1a70864](https://github.com/runspired/flexi/commit/a1a70864b53fe90d984fe01d8e5f953c819546ad) **refactor(layout-service)**: more descriptive method name *by [Kori Roys](https://github.com/koriroys)* +- [9d39e88b](https://github.com/runspired/flexi/commit/9d39e88bcda59cdc19c093cbfb5ca544e8d2d552) **fix(attribute-conversion)**: fixes issue #37 with parsing multiple attributes _by [Chris Thoburn](https://github.com/runspired)_ +- [022884a9](https://github.com/runspired/flexi/commit/022884a9c2faa304cec123f88d023348d740223d) **fix(layout-service)**: spelling mistake _by [Kori Roys](https://github.com/koriroys)_ +- [2f524a6a](https://github.com/runspired/flexi/commit/2f524a6aaf7e96218d2deb9aab916e4ce0140ece) **docs(readme)**: grammar and spelling fixes _by [Kori Roys](https://github.com/koriroys)_ +- [b9acd6bb](https://github.com/runspired/flexi/commit/b9acd6bbb1a938d28b078f59b6888ffb44ad81cd) **fix(layout-service)**: prefer orientationIs to deviceIs/deviseIs - better naming _by [Kori Roys](https://github.com/koriroys)_ +- [a1a70864](https://github.com/runspired/flexi/commit/a1a70864b53fe90d984fe01d8e5f953c819546ad) **refactor(layout-service)**: more descriptive method name _by [Kori Roys](https://github.com/koriroys)_ ## v1.1.1 @@ -47,24 +46,24 @@ Changelog ### Pull Requests -- [#22](https://github.com/runspired/flexi/pull/22) Faster initial sustain render *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#27](https://github.com/runspired/flexi/pull/27) **feat**: implements labels and tests, resolves #16 *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#28](https://github.com/runspired/flexi/pull/28) Adds documentation for labels and namespaces them *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#29](https://github.com/runspired/flexi/pull/29) Feat/sustain hooks *by [Chris Thoburn](https://github.com/runspired/feat)* +- [#22](https://github.com/runspired/flexi/pull/22) Faster initial sustain render _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#27](https://github.com/runspired/flexi/pull/27) **feat**: implements labels and tests, resolves #16 _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#28](https://github.com/runspired/flexi/pull/28) Adds documentation for labels and namespaces them _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#29](https://github.com/runspired/flexi/pull/29) Feat/sustain hooks _by [Chris Thoburn](https://github.com/runspired/feat)_ #### Commits -- [941b9be6](https://github.com/runspired/flexi/commit/941b9be629c3792da056232480781fac282f7869) **fix(tagless components)**: tagless components are now correctly handled *by [Chris Thoburn](https://github.com/runspired)* -- [74109e37](https://github.com/runspired/flexi/commit/74109e37d580496501ac1dfedfabde420116c993) **fix(mobile-first)**: ensure we always fall back to closest layout *by [Chris Thoburn](https://github.com/runspired)* -- [a4f4f7f1](https://github.com/runspired/flexi/commit/a4f4f7f1c49b441cdc768d3eed966c89ef78fa3a) **fix(layout-compile)**: improves efficiency of compiled templates, and resolves mobile-first issue *by [Chris Thoburn](https://github.com/runspired)* +- [941b9be6](https://github.com/runspired/flexi/commit/941b9be629c3792da056232480781fac282f7869) **fix(tagless components)**: tagless components are now correctly handled _by [Chris Thoburn](https://github.com/runspired)_ +- [74109e37](https://github.com/runspired/flexi/commit/74109e37d580496501ac1dfedfabde420116c993) **fix(mobile-first)**: ensure we always fall back to closest layout _by [Chris Thoburn](https://github.com/runspired)_ +- [a4f4f7f1](https://github.com/runspired/flexi/commit/a4f4f7f1c49b441cdc768d3eed966c89ef78fa3a) **fix(layout-compile)**: improves efficiency of compiled templates, and resolves mobile-first issue _by [Chris Thoburn](https://github.com/runspired)_ ## v1.0.1 ### Pull Requests -- [#19](https://github.com/runspired/flexi/pull/19) Fix layout path typo *by [Ilya Radchenko](https://github.com/knownasilya)* -- [#20](https://github.com/runspired/flexi/pull/20) Fixes leaky sustain movements *by [Chris Thoburn](https://github.com/runspired)* -- [#21](https://github.com/runspired/flexi/pull/21) set build branches to fix missing builds *by [Chris Thoburn](https://github.com/runspired)* +- [#19](https://github.com/runspired/flexi/pull/19) Fix layout path typo _by [Ilya Radchenko](https://github.com/knownasilya)_ +- [#20](https://github.com/runspired/flexi/pull/20) Fixes leaky sustain movements _by [Chris Thoburn](https://github.com/runspired)_ +- [#21](https://github.com/runspired/flexi/pull/21) set build branches to fix missing builds _by [Chris Thoburn](https://github.com/runspired)_ ## 0.0.0 diff --git a/packages/flexi-sustain/README.md b/packages/flexi-sustain/README.md index 500d24b0..765f8312 100644 --- a/packages/flexi-sustain/README.md +++ b/packages/flexi-sustain/README.md @@ -12,7 +12,6 @@ ember install @html-next/flexi-sustain ``` - ## Support, Questions, Collaboration Join the [Ember community on Discord](https://discord.gg/zT3asNS) @@ -25,9 +24,8 @@ A sustain is essentially a "marker" for where a particular component instance is be reused. It allows you to explicitly declare what features of your app can be "recycled". Sustain improves the performance of your app by reducing the amount of work your app needs to do. - Instead of tearing down one instance and creating an entirely new instance, sustain seamlessly - swaps a component instance's location as layouts and routes transition from one position to the next. - +Instead of tearing down one instance and creating an entirely new instance, sustain seamlessly +swaps a component instance's location as layouts and routes transition from one position to the next. ```hbs {{sustain model}} @@ -52,6 +50,6 @@ a `label`. This allows unique instances of the same layout, which update from ro but do not overwrite previous sustains in the same template. ```hbs -{{sustain my-path label='foo'}} -{{sustain my-path label='bar'}} +{{sustain my-path label="foo"}} +{{sustain my-path label="bar"}} ``` diff --git a/packages/flexi-sustain/addon/classes/sustain.js b/packages/flexi-sustain/addon/classes/sustain.js index 7588ef84..443a8ab6 100644 --- a/packages/flexi-sustain/addon/classes/sustain.js +++ b/packages/flexi-sustain/addon/classes/sustain.js @@ -78,15 +78,12 @@ export default class Sustained { Object.assign(this, config); this.copy = config.copy || false; - this.expires = - config.expires && config.expires !== 0 ? config.expires : DEFAULT_EXPIRES; + this.expires = config.expires && config.expires !== 0 ? config.expires : DEFAULT_EXPIRES; this.fragment = config.dom.createDocumentFragment(); this.target = config.dom.createElement('div'); this.fragment.appendChild(this.target); - const firstNode = config.dom.createComment( - `sustain-start :: ${config.label}` - ); + const firstNode = config.dom.createComment(`sustain-start :: ${config.label}`); const lastNode = config.dom.createComment(`sustain-end :: ${config.label}`); this.range = { firstNode, @@ -142,11 +139,7 @@ export default class Sustained { const nIsDefined = newValue || newValue === 0; const nIsForever = newValue === 0 || newValue === -1; - if ( - nIsDefined && - !oIsForever && - (!oIsDefined || nIsForever || newValue > oldValue) - ) { + if (nIsDefined && !oIsForever && (!oIsDefined || nIsForever || newValue > oldValue)) { this.expires = newValue; } } diff --git a/packages/flexi-sustain/addon/components/sustain-support.hbs b/packages/flexi-sustain/addon/components/sustain-support.hbs index 1aaabd5a..b99ef943 100644 --- a/packages/flexi-sustain/addon/components/sustain-support.hbs +++ b/packages/flexi-sustain/addon/components/sustain-support.hbs @@ -2,11 +2,7 @@ {{#in-element sustained.target}}
{{sustained.range.firstNode}} - {{component - sustained.componentName - model=sustained.model - subscribe=sustained.subscribe - }} + {{component sustained.componentName model=sustained.model subscribe=sustained.subscribe}} {{sustained.range.lastNode}}
{{/in-element}} diff --git a/packages/flexi-sustain/index.js b/packages/flexi-sustain/index.js index 155a78a2..80002f6c 100644 --- a/packages/flexi-sustain/index.js +++ b/packages/flexi-sustain/index.js @@ -7,8 +7,7 @@ module.exports = { isDevelopingAddon(...args) { if ( typeof this.parent.name === 'string' && - (this.parent.name === 'flexi' || - this.parent.name.startsWith('@html-next/flexi-')) + (this.parent.name === 'flexi' || this.parent.name.startsWith('@html-next/flexi-')) ) { return this.parent.isDevelopingAddon(); } diff --git a/packages/flexi-sustain/testem.js b/packages/flexi-sustain/testem.js index 9494a4d6..49d97ee4 100644 --- a/packages/flexi-sustain/testem.js +++ b/packages/flexi-sustain/testem.js @@ -1,9 +1,7 @@ 'use strict'; // eslint-disable-next-line no-console -console.log( - `\n\nLaunching with ${process.env.TESTEM_CI_LAUNCHER || 'Chrome'}\n\n` -); +console.log(`\n\nLaunching with ${process.env.TESTEM_CI_LAUNCHER || 'Chrome'}\n\n`); module.exports = { test_page: 'tests/index.html?hidepassed&nocontainer', diff --git a/packages/flexi-sustain/tests/acceptance/sustain-classic-component-test.js b/packages/flexi-sustain/tests/acceptance/sustain-classic-component-test.js index 758477be..d04b31e1 100644 --- a/packages/flexi-sustain/tests/acceptance/sustain-classic-component-test.js +++ b/packages/flexi-sustain/tests/acceptance/sustain-classic-component-test.js @@ -10,11 +10,7 @@ module('Acceptance | sustain classic', function (hooks) { test('visiting /tests/sustain-classic-component', async function (assert) { await visit('/tests/sustain-classic-component'); - assert.strictEqual( - currentURL(), - '/tests/sustain-classic-component', - 'We transitioned to the initial route' - ); + assert.strictEqual(currentURL(), '/tests/sustain-classic-component', 'We transitioned to the initial route'); assert.dom('h2.classic-component').exists().hasText('Classic Component'); }); diff --git a/packages/flexi-sustain/tests/acceptance/sustain-hooks-test.js b/packages/flexi-sustain/tests/acceptance/sustain-hooks-test.js index 48bcde1b..81f7f4d4 100644 --- a/packages/flexi-sustain/tests/acceptance/sustain-hooks-test.js +++ b/packages/flexi-sustain/tests/acceptance/sustain-hooks-test.js @@ -18,50 +18,20 @@ module('Acceptance | sustain hooks', function (hooks) { const registry = this.owner.lookup('-view-registry:main'); const component = registry['sustain-hooks-test']; - assert.strictEqual( - component.get('didMoveTriggeredCount'), - 1, - 'didMove triggers on initial insert' - ); - assert.strictEqual( - component.get('didMoveEventCount'), - 1, - 'didMove event triggers on initial insert' - ); + assert.strictEqual(component.get('didMoveTriggeredCount'), 1, 'didMove triggers on initial insert'); + assert.strictEqual(component.get('didMoveEventCount'), 1, 'didMove event triggers on initial insert'); - assert.strictEqual( - component.get('willMoveTriggeredCount'), - 0, - 'willMove does not trigger on initial insert' - ); - assert.strictEqual( - component.get('willMoveEventCount'), - 0, - 'willMove event does not trigger on initial insert' - ); + assert.strictEqual(component.get('willMoveTriggeredCount'), 0, 'willMove does not trigger on initial insert'); + assert.strictEqual(component.get('willMoveEventCount'), 0, 'willMove event does not trigger on initial insert'); - assert.strictEqual( - component.get('insertTriggeredCount'), - 1, - 'didInsertElement properly triggers its super' - ); + assert.strictEqual(component.get('insertTriggeredCount'), 1, 'didInsertElement properly triggers its super'); - const controller = this.application.__container__.lookup( - 'controller:tests/sustain-hooks' - ); + const controller = this.application.__container__.lookup('controller:tests/sustain-hooks'); controller.set('showSustain', false); await settled(); - assert.strictEqual( - component.get('willMoveTriggeredCount'), - 1, - 'willMove triggers when leaving a location' - ); - assert.strictEqual( - component.get('willMoveEventCount'), - 1, - 'willMove event triggers when leaving a location' - ); + assert.strictEqual(component.get('willMoveTriggeredCount'), 1, 'willMove triggers when leaving a location'); + assert.strictEqual(component.get('willMoveEventCount'), 1, 'willMove event triggers when leaving a location'); }); }); diff --git a/packages/flexi-sustain/tests/acceptance/sustain-test.js b/packages/flexi-sustain/tests/acceptance/sustain-test.js index def7adc5..1108d3bc 100644 --- a/packages/flexi-sustain/tests/acceptance/sustain-test.js +++ b/packages/flexi-sustain/tests/acceptance/sustain-test.js @@ -13,11 +13,7 @@ module('Acceptance | sustain', function (hooks) { assert.expect(19); await visit('/tests/sustain'); - assert.strictEqual( - currentURL(), - '/tests/sustain', - 'We transitioned to the initial route' - ); + assert.strictEqual(currentURL(), '/tests/sustain', 'We transitioned to the initial route'); const sustains = findAll('layout.sustain-test'); assert.dom('h2.sustain-test').exists().hasText('I ought to be sustained'); @@ -34,27 +30,15 @@ module('Acceptance | sustain', function (hooks) { await click('#next-sustain-test-page'); - assert.strictEqual( - currentURL(), - '/tests/sustain-b', - 'We transitioned to the next route' - ); + assert.strictEqual(currentURL(), '/tests/sustain-b', 'We transitioned to the next route'); assert.dom('h2.sustain-test').exists().hasText('I ought to be sustained'); assert.dom('layout.sustain-test').exists({ count: 4 }).hasAttribute('id'); const newSustains = findAll('layout.sustain-test'); if (sustains.length > 1 && newSustains.length > 1) { - assert.strictEqual( - sustains[0], - newSustains[0], - 'we have the same element' - ); - assert.strictEqual( - sustains[1], - newSustains[1], - 'we have the same element' - ); + assert.strictEqual(sustains[0], newSustains[0], 'we have the same element'); + assert.strictEqual(sustains[1], newSustains[1], 'we have the same element'); } assert.dom('.tagless-stuff').exists({ count: 2 }); hasModelFoo = findAll('.has-model-foo'); diff --git a/packages/flexi-sustain/tests/dummy/app/index.html b/packages/flexi-sustain/tests/dummy/app/index.html index 2a596c32..74973cae 100644 --- a/packages/flexi-sustain/tests/dummy/app/index.html +++ b/packages/flexi-sustain/tests/dummy/app/index.html @@ -1,16 +1,19 @@ - + - - + + Flexi | Just a layout framework. - - + + {{content-for "head"}} - - - + + + {{content-for "head-footer"}} diff --git a/packages/flexi-sustain/tests/dummy/app/routes/index/-layouts/mobile.hbs b/packages/flexi-sustain/tests/dummy/app/routes/index/-layouts/mobile.hbs index 54bb4143..3fe4fef2 100644 --- a/packages/flexi-sustain/tests/dummy/app/routes/index/-layouts/mobile.hbs +++ b/packages/flexi-sustain/tests/dummy/app/routes/index/-layouts/mobile.hbs @@ -12,10 +12,10 @@ -

Home

+

Home

-

Tests

+

Tests

Github

diff --git a/packages/flexi-sustain/tests/dummy/app/routes/site-index/template.hbs b/packages/flexi-sustain/tests/dummy/app/routes/site-index/template.hbs index cad0f9ce..e6e12e12 100644 --- a/packages/flexi-sustain/tests/dummy/app/routes/site-index/template.hbs +++ b/packages/flexi-sustain/tests/dummy/app/routes/site-index/template.hbs @@ -3,10 +3,10 @@ The Routes below are used for both manual and automated testing.

    -
  • Mobile First
  • -
  • Sustain
  • -
  • Sustain Classic Component
  • -
  • Sustain Hooks
  • -
  • Sustain Labels
  • -
  • Sustain With No Layout
  • +
  • Mobile First
  • +
  • Sustain
  • +
  • Sustain Classic Component
  • +
  • Sustain Hooks
  • +
  • Sustain Labels
  • +
  • Sustain With No Layout
\ No newline at end of file diff --git a/packages/flexi-sustain/tests/dummy/app/routes/tests/mobile-first/-layouts/desktop.hbs b/packages/flexi-sustain/tests/dummy/app/routes/tests/mobile-first/-layouts/desktop.hbs index ed2a1862..d414ed2f 100644 --- a/packages/flexi-sustain/tests/dummy/app/routes/tests/mobile-first/-layouts/desktop.hbs +++ b/packages/flexi-sustain/tests/dummy/app/routes/tests/mobile-first/-layouts/desktop.hbs @@ -2,4 +2,4 @@

Desktop!

- + \ No newline at end of file diff --git a/packages/flexi-sustain/tests/dummy/app/routes/tests/mobile-first/-layouts/mobile.hbs b/packages/flexi-sustain/tests/dummy/app/routes/tests/mobile-first/-layouts/mobile.hbs index 114282a8..be55f9a2 100644 --- a/packages/flexi-sustain/tests/dummy/app/routes/tests/mobile-first/-layouts/mobile.hbs +++ b/packages/flexi-sustain/tests/dummy/app/routes/tests/mobile-first/-layouts/mobile.hbs @@ -2,4 +2,4 @@

Mobile!

- + \ No newline at end of file diff --git a/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-classic-component/template.hbs b/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-classic-component/template.hbs index 8f2ea074..b582776d 100644 --- a/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-classic-component/template.hbs +++ b/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-classic-component/template.hbs @@ -1 +1 @@ -{{sustain 'classic-component'}} +{{sustain "classic-component"}} \ No newline at end of file diff --git a/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-labels-2/template.hbs b/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-labels-2/template.hbs index ae1f7d96..e3e75c2c 100644 --- a/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-labels-2/template.hbs +++ b/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain-labels-2/template.hbs @@ -1,4 +1,4 @@ -{{!-- initial location --}} +{{! initial location }}
{{sustain "tests/components/missing-layout"}}
@@ -6,7 +6,7 @@ {{sustain "tests/components/missing-layout" label="label-test-1"}} -{{!-- final location --}} +{{! final location }}
{{sustain "tests/components/missing-layout"}}
diff --git a/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/has-model/template.hbs b/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/has-model/template.hbs index 007199a3..1fe8325b 100644 --- a/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/has-model/template.hbs +++ b/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/has-model/template.hbs @@ -1,7 +1,6 @@

I ought to be sustained with a model

-

If I was, the component above's ID will be identical between the routes - sustain and sustain-b.

+

If I was, the component above's ID will be identical between the routes sustain and sustain-b.

My model's foo value should show below:

{{@model.foo}}

\ No newline at end of file diff --git a/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/tagless-title/template.hbs b/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/tagless-title/template.hbs index 8907ef0c..27e50171 100644 --- a/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/tagless-title/template.hbs +++ b/packages/flexi-sustain/tests/dummy/app/routes/tests/sustain/components/tagless-title/template.hbs @@ -1,9 +1,7 @@

I ought to be sustained without an extra div

-

If I was, the component above's ID will be identicall between the routes - sustain and sustain-b.

+

If I was, the component above's ID will be identicall between the routes sustain and sustain-b.

-
More Tagless Stuff just to show multiple top level elements still works - nicely
+
More Tagless Stuff just to show multiple top level elements still works nicely
\ No newline at end of file diff --git a/packages/flexi-sustain/tests/dummy/app/styles/_variables.scss b/packages/flexi-sustain/tests/dummy/app/styles/_variables.scss index 0617cdb8..5d02184b 100644 --- a/packages/flexi-sustain/tests/dummy/app/styles/_variables.scss +++ b/packages/flexi-sustain/tests/dummy/app/styles/_variables.scss @@ -20,5 +20,4 @@ $theme-colors: ( light-grey: $theme-light-grey ); - $gutter-padding: 5px; diff --git a/packages/flexi-sustain/tests/dummy/app/styles/app.scss b/packages/flexi-sustain/tests/dummy/app/styles/app.scss index 43aaa08b..9a29306d 100644 --- a/packages/flexi-sustain/tests/dummy/app/styles/app.scss +++ b/packages/flexi-sustain/tests/dummy/app/styles/app.scss @@ -1,6 +1,6 @@ -@import 'variables'; -@import 'defaults/index'; -@import 'mixins/index'; +@import "variables"; +@import "defaults/index"; +@import "mixins/index"; body { font-size: 125%; @@ -16,13 +16,13 @@ body { } p { - font-size: .85rem; + font-size: 0.85rem; line-height: 1.2em; } .site-banner { - - h1, h3 { + h1, + h3 { margin: 0; padding: $gutter-padding; } @@ -55,14 +55,12 @@ p { text-decoration: none; } - - &:active, &.active { - color: $theme-green; + &:active, + &.active { + color: $theme-green; text-decoration: none; } - } - } .has-site-banner { diff --git a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_buttons.scss b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_buttons.scss index fcf4d8ae..4b4095e5 100644 --- a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_buttons.scss +++ b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_buttons.scss @@ -1,10 +1,11 @@ -button, .button { +button, +.button { color: darken($theme-green, 30%); font-weight: bold; display: inline-block; background: $theme-green; border: 1px solid lighten($theme-green, 10%); - font-size: .75em; - padding: .25em .5em; + font-size: 0.75em; + padding: 0.25em 0.5em; border-radius: 1px; } diff --git a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_colors.scss b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_colors.scss index 5f602faa..619354a9 100644 --- a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_colors.scss +++ b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_colors.scss @@ -3,4 +3,3 @@ background: $color; } } - diff --git a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_headers.scss b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_headers.scss index 8bdae9ae..c568c8b2 100644 --- a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_headers.scss +++ b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_headers.scss @@ -8,7 +8,7 @@ h1 { color: $theme-dark-grey; line-height: 2rem; margin-top: 1rem; - margin-bottom: .25rem; + margin-bottom: 0.25rem; } h2.sub-title { @@ -27,11 +27,11 @@ h3 { } h4 { - font-size: .85rem; + font-size: 0.85rem; color: $theme-green; } p { - font-size: .75rem; + font-size: 0.75rem; color: $theme-dark-grey; } diff --git a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_index.scss b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_index.scss index 3f7743b2..b893f555 100644 --- a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_index.scss +++ b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_index.scss @@ -1,7 +1,7 @@ -@import 'normalize'; -@import 'headers'; -@import 'table'; -@import 'buttons'; -@import 'colors'; -@import 'links'; -@import 'lists'; +@import "normalize"; +@import "headers"; +@import "table"; +@import "buttons"; +@import "colors"; +@import "links"; +@import "lists"; diff --git a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_links.scss b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_links.scss index e645887f..9f7c8eb5 100644 --- a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_links.scss +++ b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_links.scss @@ -1,7 +1,7 @@ -@import '../variables'; +@import "../variables"; screen { - font-size: .85rem; + font-size: 0.85rem; } a { @@ -24,4 +24,3 @@ a:active { color: darken($theme-orange, 5%); text-decoration: underline; } - diff --git a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_lists.scss b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_lists.scss index 753bcd62..d397a79b 100644 --- a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_lists.scss +++ b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_lists.scss @@ -2,7 +2,7 @@ margin: 1rem auto; padding: 0; list-style-type: lower-roman; - font-size: .85rem; + font-size: 0.85rem; line-height: 1.2em; li { @@ -37,16 +37,12 @@ color: darken($theme-green, 0%); text-decoration: none; } - - } - } } .nav-menu { @media (max-width: 767.999px) { - background: #fff; ul { @@ -83,10 +79,8 @@ &:visited { color: #333; } - } } } } } - diff --git a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_table.scss b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_table.scss index e1ec6038..bb9d8618 100644 --- a/packages/flexi-sustain/tests/dummy/app/styles/defaults/_table.scss +++ b/packages/flexi-sustain/tests/dummy/app/styles/defaults/_table.scss @@ -12,7 +12,7 @@ scroll-horizontal { } table.workout { - font-size: .7rem; + font-size: 0.7rem; height: 100%; position: relative; @@ -39,7 +39,7 @@ table.main > tbody > tr > td { padding: $gutter-padding; &:first-of-type, - &:last-of-type{ + &:last-of-type { color: $theme-orange; } @@ -50,7 +50,7 @@ table.main > tbody > tr > td { padding: 0; margin: 0; color: $theme-light-grey; - font-size: .85rem; + font-size: 0.85rem; } } table.main > tbody > tr:nth-of-type(even) { diff --git a/packages/flexi-sustain/tests/dummy/app/styles/mixins/_flex.scss b/packages/flexi-sustain/tests/dummy/app/styles/mixins/_flex.scss index 26bd0d70..632e670e 100644 --- a/packages/flexi-sustain/tests/dummy/app/styles/mixins/_flex.scss +++ b/packages/flexi-sustain/tests/dummy/app/styles/mixins/_flex.scss @@ -3,10 +3,10 @@ @mixin flex($values) { -webkit-box-flex: $values; - -moz-box-flex: $values; - -webkit-flex: $values; - -ms-flex: $values; - flex: $values; + -moz-box-flex: $values; + -webkit-flex: $values; + -ms-flex: $values; + flex: $values; } @mixin flexDisplay { @@ -62,8 +62,6 @@ justify-content: $val; } - - @mixin flexOrder($val) { -webkit-box-ordinal-group: $val; -moz-box-ordinal-group: $val; diff --git a/packages/flexi-sustain/tests/dummy/app/styles/mixins/_index.scss b/packages/flexi-sustain/tests/dummy/app/styles/mixins/_index.scss index 375d01d0..aecca698 100644 --- a/packages/flexi-sustain/tests/dummy/app/styles/mixins/_index.scss +++ b/packages/flexi-sustain/tests/dummy/app/styles/mixins/_index.scss @@ -1,2 +1,2 @@ -@import 'element'; -@import 'flex'; +@import "element"; +@import "flex"; diff --git a/packages/flexi-sustain/tests/dummy/config/targets.js b/packages/flexi-sustain/tests/dummy/config/targets.js index 9235a2ff..88acac5a 100644 --- a/packages/flexi-sustain/tests/dummy/config/targets.js +++ b/packages/flexi-sustain/tests/dummy/config/targets.js @@ -1,8 +1,4 @@ /* eslint-env node */ module.exports = { - browsers: [ - 'last 1 Chrome versions', - 'last 1 Firefox versions', - 'last 1 Safari versions', - ], + browsers: ['last 1 Chrome versions', 'last 1 Firefox versions', 'last 1 Safari versions'], }; diff --git a/packages/flexi-sustain/tests/index.html b/packages/flexi-sustain/tests/index.html index 1318ae29..3e6cf592 100644 --- a/packages/flexi-sustain/tests/index.html +++ b/packages/flexi-sustain/tests/index.html @@ -1,18 +1,17 @@ - + - - + + App Tests - - + + - {{content-for "head"}} - {{content-for "test-head"}} + {{content-for "head"}} {{content-for "test-head"}} - - - + + + - {{content-for "head-footer"}} - {{content-for "test-head-footer"}} + {{content-for "head-footer"}} {{content-for "test-head-footer"}} - {{content-for "body"}} - {{content-for "test-body"}} + {{content-for "body"}} {{content-for "test-body"}}
@@ -40,7 +37,6 @@ - {{content-for "body-footer"}} - {{content-for "test-body-footer"}} + {{content-for "body-footer"}} {{content-for "test-body-footer"}} diff --git a/packages/flexi/CHANGELOG.md b/packages/flexi/CHANGELOG.md index 326343f9..77a16585 100644 --- a/packages/flexi/CHANGELOG.md +++ b/packages/flexi/CHANGELOG.md @@ -1,5 +1,4 @@ -Changelog -========= +# Changelog ## v1.1.9 @@ -7,11 +6,11 @@ Changelog ### Pull Requests -- [#53](https://github.com/runspired/flexi/pull/53) **feat**: exposes DSL for end users to create their own layout syntaxes *by [Chris Thoburn](https://github.com/runspired)* +- [#53](https://github.com/runspired/flexi/pull/53) **feat**: exposes DSL for end users to create their own layout syntaxes _by [Chris Thoburn](https://github.com/runspired)_ #### Commits -- [302ac7cd](https://github.com/runspired/flexi/commit/302ac7cd59437781f0db8e6e43d0b6c5fbd999fc) **fix(engines)**: enable flexi to better work in nested engines *by [Chris Thoburn](https://github.com/runspired)* +- [302ac7cd](https://github.com/runspired/flexi/commit/302ac7cd59437781f0db8e6e43d0b6c5fbd999fc) **fix(engines)**: enable flexi to better work in nested engines _by [Chris Thoburn](https://github.com/runspired)_ ## v1.1.7 @@ -19,7 +18,7 @@ Changelog #### Commits -- [6ffecce3](https://github.com/runspired/flexi/commit/6ffecce3167a3cce793f218da01030779b937fa5) **fix(columnPrefix)**: correctly convert attributes to column classes *by [Chris Thoburn](https://github.com/runspired)* +- [6ffecce3](https://github.com/runspired/flexi/commit/6ffecce3167a3cce793f218da01030779b937fa5) **fix(columnPrefix)**: correctly convert attributes to column classes _by [Chris Thoburn](https://github.com/runspired)_ ## v1.1.4 @@ -27,19 +26,19 @@ Changelog ### Pull Requests -- [#35](https://github.com/runspired/flexi/pull/35) Release Changes *by [Chris Thoburn](https://github.com/runspired)* -- [#36](https://github.com/runspired/flexi/pull/36) **docs**: grammar and spelling fixes *by [koriroys/docs](https://github.com/koriroys/docs)* -- [#34](https://github.com/runspired/flexi/pull/34) **refactor**: more descriptive method name *by [koriroys/refactor](https://github.com/koriroys/refactor)* -- [#38](https://github.com/runspired/flexi/pull/38) 15 -> 5 secs per @runspired *by [Jay Phelps](https://github.com/jayphelps)* -- [#41](https://github.com/runspired/flexi/pull/41) Patch to fix Attribute Conversion *by [Chris Thoburn](https://github.com/runspired)* +- [#35](https://github.com/runspired/flexi/pull/35) Release Changes _by [Chris Thoburn](https://github.com/runspired)_ +- [#36](https://github.com/runspired/flexi/pull/36) **docs**: grammar and spelling fixes _by [koriroys/docs](https://github.com/koriroys/docs)_ +- [#34](https://github.com/runspired/flexi/pull/34) **refactor**: more descriptive method name _by [koriroys/refactor](https://github.com/koriroys/refactor)_ +- [#38](https://github.com/runspired/flexi/pull/38) 15 -> 5 secs per @runspired _by [Jay Phelps](https://github.com/jayphelps)_ +- [#41](https://github.com/runspired/flexi/pull/41) Patch to fix Attribute Conversion _by [Chris Thoburn](https://github.com/runspired)_ #### Commits -- [9d39e88b](https://github.com/runspired/flexi/commit/9d39e88bcda59cdc19c093cbfb5ca544e8d2d552) **fix(attribute-conversion)**: fixes issue #37 with parsing multiple attributes *by [Chris Thoburn](https://github.com/runspired)* -- [022884a9](https://github.com/runspired/flexi/commit/022884a9c2faa304cec123f88d023348d740223d) **fix(layout-service)**: spelling mistake *by [Kori Roys](https://github.com/koriroys)* -- [2f524a6a](https://github.com/runspired/flexi/commit/2f524a6aaf7e96218d2deb9aab916e4ce0140ece) **docs(readme)**: grammar and spelling fixes *by [Kori Roys](https://github.com/koriroys)* -- [b9acd6bb](https://github.com/runspired/flexi/commit/b9acd6bbb1a938d28b078f59b6888ffb44ad81cd) **fix(layout-service)**: prefer orientationIs to deviceIs/deviseIs - better naming *by [Kori Roys](https://github.com/koriroys)* -- [a1a70864](https://github.com/runspired/flexi/commit/a1a70864b53fe90d984fe01d8e5f953c819546ad) **refactor(layout-service)**: more descriptive method name *by [Kori Roys](https://github.com/koriroys)* +- [9d39e88b](https://github.com/runspired/flexi/commit/9d39e88bcda59cdc19c093cbfb5ca544e8d2d552) **fix(attribute-conversion)**: fixes issue #37 with parsing multiple attributes _by [Chris Thoburn](https://github.com/runspired)_ +- [022884a9](https://github.com/runspired/flexi/commit/022884a9c2faa304cec123f88d023348d740223d) **fix(layout-service)**: spelling mistake _by [Kori Roys](https://github.com/koriroys)_ +- [2f524a6a](https://github.com/runspired/flexi/commit/2f524a6aaf7e96218d2deb9aab916e4ce0140ece) **docs(readme)**: grammar and spelling fixes _by [Kori Roys](https://github.com/koriroys)_ +- [b9acd6bb](https://github.com/runspired/flexi/commit/b9acd6bbb1a938d28b078f59b6888ffb44ad81cd) **fix(layout-service)**: prefer orientationIs to deviceIs/deviseIs - better naming _by [Kori Roys](https://github.com/koriroys)_ +- [a1a70864](https://github.com/runspired/flexi/commit/a1a70864b53fe90d984fe01d8e5f953c819546ad) **refactor(layout-service)**: more descriptive method name _by [Kori Roys](https://github.com/koriroys)_ ## v1.1.1 @@ -47,24 +46,24 @@ Changelog ### Pull Requests -- [#22](https://github.com/runspired/flexi/pull/22) Faster initial sustain render *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#27](https://github.com/runspired/flexi/pull/27) **feat**: implements labels and tests, resolves #16 *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#28](https://github.com/runspired/flexi/pull/28) Adds documentation for labels and namespaces them *by [Chris Thoburn](https://github.com/runspired/feat)* -- [#29](https://github.com/runspired/flexi/pull/29) Feat/sustain hooks *by [Chris Thoburn](https://github.com/runspired/feat)* +- [#22](https://github.com/runspired/flexi/pull/22) Faster initial sustain render _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#27](https://github.com/runspired/flexi/pull/27) **feat**: implements labels and tests, resolves #16 _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#28](https://github.com/runspired/flexi/pull/28) Adds documentation for labels and namespaces them _by [Chris Thoburn](https://github.com/runspired/feat)_ +- [#29](https://github.com/runspired/flexi/pull/29) Feat/sustain hooks _by [Chris Thoburn](https://github.com/runspired/feat)_ #### Commits -- [941b9be6](https://github.com/runspired/flexi/commit/941b9be629c3792da056232480781fac282f7869) **fix(tagless components)**: tagless components are now correctly handled *by [Chris Thoburn](https://github.com/runspired)* -- [74109e37](https://github.com/runspired/flexi/commit/74109e37d580496501ac1dfedfabde420116c993) **fix(mobile-first)**: ensure we always fall back to closest layout *by [Chris Thoburn](https://github.com/runspired)* -- [a4f4f7f1](https://github.com/runspired/flexi/commit/a4f4f7f1c49b441cdc768d3eed966c89ef78fa3a) **fix(layout-compile)**: improves efficiency of compiled templates, and resolves mobile-first issue *by [Chris Thoburn](https://github.com/runspired)* +- [941b9be6](https://github.com/runspired/flexi/commit/941b9be629c3792da056232480781fac282f7869) **fix(tagless components)**: tagless components are now correctly handled _by [Chris Thoburn](https://github.com/runspired)_ +- [74109e37](https://github.com/runspired/flexi/commit/74109e37d580496501ac1dfedfabde420116c993) **fix(mobile-first)**: ensure we always fall back to closest layout _by [Chris Thoburn](https://github.com/runspired)_ +- [a4f4f7f1](https://github.com/runspired/flexi/commit/a4f4f7f1c49b441cdc768d3eed966c89ef78fa3a) **fix(layout-compile)**: improves efficiency of compiled templates, and resolves mobile-first issue _by [Chris Thoburn](https://github.com/runspired)_ ## v1.0.1 ### Pull Requests -- [#19](https://github.com/runspired/flexi/pull/19) Fix layout path typo *by [Ilya Radchenko](https://github.com/knownasilya)* -- [#20](https://github.com/runspired/flexi/pull/20) Fixes leaky sustain movements *by [Chris Thoburn](https://github.com/runspired)* -- [#21](https://github.com/runspired/flexi/pull/21) set build branches to fix missing builds *by [Chris Thoburn](https://github.com/runspired)* +- [#19](https://github.com/runspired/flexi/pull/19) Fix layout path typo _by [Ilya Radchenko](https://github.com/knownasilya)_ +- [#20](https://github.com/runspired/flexi/pull/20) Fixes leaky sustain movements _by [Chris Thoburn](https://github.com/runspired)_ +- [#21](https://github.com/runspired/flexi/pull/21) set build branches to fix missing builds _by [Chris Thoburn](https://github.com/runspired)_ ## 0.0.0 diff --git a/packages/flexi/README.md b/packages/flexi/README.md index 932da015..3848eba3 100644 --- a/packages/flexi/README.md +++ b/packages/flexi/README.md @@ -15,18 +15,17 @@ Flexi does most of it's heavy lifting at `build` time, happily adding very littl - Blog Post: [Modern Responsive Design illustrated with Ember & Flexi](https://runspired.com/2016/03/18/a-tale-of-two-states/) - Talk: [Responsive and Cross Platform Design](https://www.youtube.com/watch?v=2w77wrinwsY&list=PLaKDKbFmAv-aLYGogQ63zzKeUpy_opDia&index=1) - ## Installation ```cli ember install flexi ``` -That's all that required if you're using the classic component layout. If you are using a _pod_-based structure you will also need to install the shim for `ember-app`. This is done by modifiying your `ember-cli-build.js` file. This shim makes ember-cli's template tree able to find the templates for layouts. +That's all that required if you're using the classic component layout. If you are using a _pod_-based structure you will also need to install the shim for `ember-app`. This is done by modifiying your `ember-cli-build.js` file. This shim makes ember-cli's template tree able to find the templates for layouts. ```js -const EmberApp = require('ember-cli/lib/broccoli/ember-app'); -const shim = require('@html-next/flexi-layouts/lib/pod-templates-shim'); +const EmberApp = require("ember-cli/lib/broccoli/ember-app"); +const shim = require("@html-next/flexi-layouts/lib/pod-templates-shim"); shim(EmberApp); ``` @@ -41,10 +40,10 @@ Join the [Ember community on Discord](https://discord.gg/zT3asNS) ## Contributing - - Open an Issue for discussion first if you're unsure a feature/fix is wanted. - - Branch off of `main` (default branch) - - Use descriptive branch names (e.g. `/`) - - PR against `main` (default branch). +- Open an Issue for discussion first if you're unsure a feature/fix is wanted. +- Branch off of `main` (default branch) +- Use descriptive branch names (e.g. `/`) +- PR against `main` (default branch). ## Thanks diff --git a/packages/flexi/blueprints/flexi/index.js b/packages/flexi/blueprints/flexi/index.js index 01a02e85..a83e00bd 100644 --- a/packages/flexi/blueprints/flexi/index.js +++ b/packages/flexi/blueprints/flexi/index.js @@ -49,9 +49,7 @@ module.exports = { name: 'flexi-layouts', value: { name: '@html-next/flexi-layouts' }, }, - new inquirer.Separator( - 'flexi-sustain - Recyclable components (Ember <= 2.9)' - ), + new inquirer.Separator('flexi-sustain - Recyclable components (Ember <= 2.9)'), { checked: false, message: '', diff --git a/packages/flexi/config/ember-try.js b/packages/flexi/config/ember-try.js index 0d7c8d54..2de6e3af 100644 --- a/packages/flexi/config/ember-try.js +++ b/packages/flexi/config/ember-try.js @@ -3,11 +3,7 @@ const getChannelURL = require('ember-source-channel-url'); module.exports = function () { - return Promise.all([ - getChannelURL('release'), - getChannelURL('beta'), - getChannelURL('canary'), - ]).then((urls) => { + return Promise.all([getChannelURL('release'), getChannelURL('beta'), getChannelURL('canary')]).then((urls) => { return { usePnpm: true, scenarios: [ diff --git a/packages/flexi/index.js b/packages/flexi/index.js index 3492ccc8..034b1db7 100644 --- a/packages/flexi/index.js +++ b/packages/flexi/index.js @@ -22,35 +22,21 @@ module.exports = { } const flexiConfigVersion = packageVersionByName['@html-next/flexi-config']; - const flexiDefaultStylesVersion = - packageVersionByName['@html-next/flexi-default-styles']; + const flexiDefaultStylesVersion = packageVersionByName['@html-next/flexi-default-styles']; const flexiDslVersion = packageVersionByName['@html-next/flexi-dsl']; - const flexiLayoutsVersion = - packageVersionByName['@html-next/flexi-layouts']; + const flexiLayoutsVersion = packageVersionByName['@html-next/flexi-layouts']; if (flexiConfigVersion && SEMVER.lt(flexiConfigVersion, '2.0.0-rc.1')) { - this._warnUser( - 'flexi-config < v2.0.0-rc.1; consider upgrading to at least v2.0.0-rc.1' - ); + this._warnUser('flexi-config < v2.0.0-rc.1; consider upgrading to at least v2.0.0-rc.1'); } - if ( - flexiDefaultStylesVersion && - SEMVER.lt(flexiDefaultStylesVersion, '2.0.0-rc.2') - ) { - this._warnUser( - 'flexi-default-styles < v2.0.0-rc.2;' + - ' consider upgrading to at least v2.0.0-rc.2' - ); + if (flexiDefaultStylesVersion && SEMVER.lt(flexiDefaultStylesVersion, '2.0.0-rc.2')) { + this._warnUser('flexi-default-styles < v2.0.0-rc.2;' + ' consider upgrading to at least v2.0.0-rc.2'); } if (flexiDslVersion && SEMVER.lt(flexiDslVersion, '2.0.0-rc.2')) { - this._warnUser( - 'flexi-dsl < v2.0.0-rc.2; consider upgrading to at least v2.0.0-rc.2' - ); + this._warnUser('flexi-dsl < v2.0.0-rc.2; consider upgrading to at least v2.0.0-rc.2'); } if (flexiLayoutsVersion && SEMVER.lt(flexiLayoutsVersion, '2.0.0-rc.2')) { - this._warnUser( - 'flexi-layouts < v2.0.0-rc.2; consider upgrading to at least v2.0.0-rc.2' - ); + this._warnUser('flexi-layouts < v2.0.0-rc.2; consider upgrading to at least v2.0.0-rc.2'); } }, diff --git a/packages/flexi/tests/dummy/app/index.html b/packages/flexi/tests/dummy/app/index.html index d59ebaf7..9e30e751 100644 --- a/packages/flexi/tests/dummy/app/index.html +++ b/packages/flexi/tests/dummy/app/index.html @@ -1,16 +1,19 @@ - + - - + + Flexi | Just a layout framework. - - + + {{content-for "head"}} - - - + + + {{content-for "head-footer"}} diff --git a/packages/flexi/tests/dummy/app/routes/docs/-layouts/mobile.hbs b/packages/flexi/tests/dummy/app/routes/docs/-layouts/mobile.hbs index 3cd0d186..0603a1b2 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/-layouts/mobile.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/-layouts/mobile.hbs @@ -1,7 +1,7 @@ - {{sustain 'docs/components/nav-banner'}} + {{sustain "docs/components/nav-banner"}} {{liquid-outlet "main"}} diff --git a/packages/flexi/tests/dummy/app/routes/docs/-layouts/tablet.hbs b/packages/flexi/tests/dummy/app/routes/docs/-layouts/tablet.hbs index 90695632..4b2b4452 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/-layouts/tablet.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/-layouts/tablet.hbs @@ -1,11 +1,11 @@ - {{sustain 'docs/components/nav-banner'}} + {{sustain "docs/components/nav-banner"}} - {{sustain 'docs/components/nav-menu'}} + {{sustain "docs/components/nav-menu"}} {{liquid-outlet "main"}} diff --git a/packages/flexi/tests/dummy/app/routes/docs/blueprints/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/blueprints/template.hbs index cfc27956..9acaefdb 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/blueprints/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/blueprints/template.hbs @@ -1,10 +1,9 @@ -

Blueprints

- Next Configuration + Next Configuration
@@ -47,4 +46,4 @@ --}}
-
+
\ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/routes/docs/container-css/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/container-css/template.hbs index b6f69be2..6bc88867 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/container-css/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/container-css/template.hbs @@ -3,14 +3,13 @@

@container CSS

- Next Containers + Next Containers

- Each @media CSS query has a matching `.container-[prefix]` class that enables - you to have grid columns and responsive utilities respond to changes in - container widths instead of viewport widths. + Each @media CSS query has a matching `.container-[prefix]` class that enables you to have grid columns and + responsive utilities respond to changes in container widths instead of viewport widths.

@@ -18,13 +17,15 @@

- Flexi comes with a container mixin you can add to components which generates - the updates appropriate class based on it's width. + Flexi comes with a container mixin you can add to components which generates the updates appropriate class based on + it's width.

- The <container></container> - and <grid responsive></grid> elements are actually - Ember components which implement this mixin. + The + <container></container> + and + <grid responsive></grid> + elements are actually Ember components which implement this mixin.

\ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/routes/docs/index/-layouts/mobile.hbs b/packages/flexi/tests/dummy/app/routes/docs/index/-layouts/mobile.hbs index 32fc0ca3..8a44d69a 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/index/-layouts/mobile.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/index/-layouts/mobile.hbs @@ -1 +1 @@ -{{sustain 'docs/components/nav-menu'}} \ No newline at end of file +{{sustain "docs/components/nav-menu"}} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/routes/docs/installation/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/installation/template.hbs index fc0ddb25..a079c76a 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/installation/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/installation/template.hbs @@ -2,7 +2,7 @@

Layout Service

- Next Blueprints + Next Blueprints
@@ -11,9 +11,8 @@ {{/let}}

- Once you have installed flexi, you will also need to install the shim for ember-app. - in your ember-cli-build.js file. This shim makes ember-cli's template tree able to find - the templates for layouts. + Once you have installed flexi, you will also need to install the shim for ember-app. in your ember-cli-build.js + file. This shim makes ember-cli's template tree able to find the templates for layouts.

{{#let (get-code-snippet "install-2.js") as |snippet|}} diff --git a/packages/flexi/tests/dummy/app/routes/docs/layout-attributes/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/layout-attributes/template.hbs index 015db05a..60c6f6e6 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/layout-attributes/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/layout-attributes/template.hbs @@ -3,19 +3,17 @@

Attribute Syntax

- Next @media CSS + Next @media CSS

- Layout attributes are converted to classes at build time, giving you the - convenience of a nice attribute syntax and the performance of class based - selectors. + Layout attributes are converted to classes at build time, giving you the convenience of a nice attribute syntax and + the performance of class based selectors.

- Layout attributes come in two forms, property descriptors, and - breakpoint attributes. + Layout attributes come in two forms, property descriptors, and breakpoint attributes.

Property Descriptors

@@ -25,21 +23,20 @@

Breakpoint Attributes

- For each prefix defined in your breakpoints array in config/flexi.js - you are capable of adding breakpoint aware layout properties and columns. + For each prefix defined in your breakpoints array in config/flexi.js you are capable of adding breakpoint aware + layout properties and columns.

- The following specifies that this box use 12 columns for the breakpoint prefixed - `xs`, 6 for `sm` and so on. + The following specifies that this box use 12 columns for the breakpoint prefixed `xs`, 6 for `sm` and so on.

{{#let (get-code-snippet "breakpoint-attrs-1.hbs") as |snippet|}}
{{snippet.source}}
{{/let}}

- Attribute prefixes can take more than one value, separate values - with a space. Valid values in addition to a column number are: + Attribute prefixes can take more than one value, separate values with a space. Valid values in addition to a column + number are:

{{#let (get-code-snippet "breakpoint-attrs-2.hbs") as |snippet|}}
{{snippet.source}}
@@ -76,8 +73,7 @@

wrap

- When the box is set to horizontal, it's items wrap to the next line - if needed. + When the box is set to horizontal, it's items wrap to the next line if needed.

nowrap

@@ -96,7 +92,7 @@

-{{!-- BEGIN-SNIPPET property-descriptors +{{! BEGIN-SNIPPET property-descriptors -END-SNIPPET --}} +END-SNIPPET }} -{{!-- BEGIN-SNIPPET breakpoint-attrs-1 +{{! BEGIN-SNIPPET breakpoint-attrs-1 -END-SNIPPET --}} +END-SNIPPET }} -{{!-- BEGIN-SNIPPET breakpoint-attrs-2 +{{! BEGIN-SNIPPET breakpoint-attrs-2 fit|fill vertical|horizontal wrap|nowrap -END-SNIPPET --}} +END-SNIPPET }} -{{!-- BEGIN-SNIPPET breakpoint-attrs-3 +{{! BEGIN-SNIPPET breakpoint-attrs-3 -END-SNIPPET --}} +END-SNIPPET }} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/routes/docs/layout-components/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/layout-components/template.hbs index e574a3fc..9a01ed8e 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/layout-components/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/layout-components/template.hbs @@ -2,20 +2,21 @@

Containers

- Next Layout Elements + Next Layout Elements

- The <container></container> - and <grid responsive></grid> elements are components - which generate and update the appropriate class based on their width + The + <container></container> + and + <grid responsive></grid> + elements are components which generate and update the appropriate class based on their width

- These components subscribe to the width property on the device/layout service, - and recalculate their width whenever it changes. They then add a class name - to their element based on comparing their width to your breakpoints. + These components subscribe to the width property on the device/layout service, and recalculate their width whenever + it changes. They then add a class name to their element based on comparing their width to your breakpoints.

\ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/routes/docs/layout-elements/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/layout-elements/template.hbs index c3b89b51..22cf3b12 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/layout-elements/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/layout-elements/template.hbs @@ -3,82 +3,74 @@

Layout Elements

- Next Layout Service + Next Layout Service
-
+

<screen></screen>

- Screen is a relatively positioned block which will take up 100% width - and a min-height of 100vh. Screen is ideal for creating a wrapper - around all of the content on a web page. + Screen is a relatively positioned block which will take up 100% width and a min-height of 100vh. Screen is ideal + for creating a wrapper around all of the content on a web page.

<page></page>

- Page is a relatively positioned flex box whose width is 100vw and min-height - is 100vh. It defaults to aligning its items vertically. Page is ideal for - quickly creating a wrapper that sizes precisely to the viewport. + Page is a relatively positioned flex box whose width is 100vw and min-height is 100vh. It defaults to aligning its + items vertically. Page is ideal for quickly creating a wrapper that sizes precisely to the viewport.

<fill></fill>

<fill block></fill>

- Fill comes in two flavors: flex model and box model (via addition of the `block` - attribute). In both cases, it attempts to take up all of the available width and - height to give you a stable size reference point off of which to work. + Fill comes in two flavors: flex model and box model (via addition of the `block` attribute). In both cases, it + attempts to take up all of the available width and height to give you a stable size reference point off of which + to work.

- When in flex mode, it defaults to aligning its items horizontally and allows - them to wrap. Fill is ideal when you need to reset your mental layout space. + When in flex mode, it defaults to aligning its items horizontally and allows them to wrap. Fill is ideal when you + need to reset your mental layout space.

<centered></centered>

- Centered will center its content within the available space. This is ideal for - any form of centering. + Centered will center its content within the available space. This is ideal for any form of centering.

<grid></grid>

<grid responsive></grid>

- Grid is a relatively positioned flex box which aligns its items horizontally - and will wrap them to the next line, making it ideal for wrapping grid-like - behavior when no rows are needed. It has no default flex value. + Grid is a relatively positioned flex box which aligns its items horizontally and will wrap them to the next line, + making it ideal for wrapping grid-like behavior when no rows are needed. It has no default flex value.

- When you add the `responsive` attribute to the grid tag, it becomes a component - functioning as a container and makes its grid @container aware. + When you add the `responsive` attribute to the grid tag, it becomes a component functioning as a container and + makes its grid @container aware.

<box></box>

- Box is a relatively positioned flex box which by default will grow to match - other items (flex: 1 0 0px) but will not expand to fill remaining space. This - makes it ideal as a generic "box item" within other flex elements. + Box is a relatively positioned flex box which by default will grow to match other items (flex: 1 0 0px) but will + not expand to fill remaining space. This makes it ideal as a generic "box item" within other flex elements.

<hbox></hbox>

- Hbox is a relatively positioned flex box which will expand to fill remaining - space (flex: 1 0 auto) and will align its items horizontally (hence hbox). - By default it will wrap its contents to the next line when needed. This makes + Hbox is a relatively positioned flex box which will expand to fill remaining space (flex: 1 0 auto) and will align + its items horizontally (hence hbox). By default it will wrap its contents to the next line when needed. This makes it ideal for quickly laying out items horizontally.

<vbox></vbox>

- Vbox is a relatively positioned flex box which will expand to fill remaining - space (flex: 1 0 auto) and will align its items vertically (hence vbox). This - makes it ideal for quickly laying out items vertically. + Vbox is a relatively positioned flex box which will expand to fill remaining space (flex: 1 0 auto) and will align + its items vertically (hence vbox). This makes it ideal for quickly laying out items vertically.

<container></container>

- Container is actually an Ember component which sets its tagName to 'container'. - As an element, it is a relatively positioned flex box with 100% width, with no - flex property, which will display its content vertically. + Container is actually an Ember component which sets its tagName to 'container'. As an element, it is a relatively + positioned flex box with 100% width, with no flex property, which will display its content vertically.

- + \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/routes/docs/layout-service/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/layout-service/template.hbs index 1fa1ff9b..90afa07e 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/layout-service/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/layout-service/template.hbs @@ -2,13 +2,13 @@

Layout Service

- Next Grids + Next Grids

- The device/layout service listens to the window resize event and intelligently - updates the value of it's width and height. It always has the following properties. + The device/layout service listens to the window resize event and intelligently updates the value of it's width and + height. It always has the following properties.

{{#let (get-code-snippet "layout-service-1.hbs") as |snippet|}} @@ -16,9 +16,9 @@ {{/let}}

- The layout service exposes a boolean for each breakpoint name defined in your config, - which will be true when the viewport width is larger or equal to that breakpoint's - value for begin and less than the begin value for the next breakpoint. + The layout service exposes a boolean for each breakpoint name defined in your config, which will be true when the + viewport width is larger or equal to that breakpoint's value for begin and less than the begin value for the next + breakpoint.

@@ -42,7 +42,7 @@ -{{!-- BEGIN-SNIPPET layout-service-1 +{{! BEGIN-SNIPPET layout-service-1 { orientation, // 'portrait' or 'landscape' @@ -54,17 +54,17 @@ breakpoints, // array you supplied in your config, sorted largest to smallest } -END-SNIPPET --}} +END-SNIPPET }} -{{!-- BEGIN-SNIPPET layout-service-2 +{{! BEGIN-SNIPPET layout-service-2 ['mobile', 'tablet', 'desktop', 'huge'] -END-SNIPPET --}} +END-SNIPPET }} -{{!-- BEGIN-SNIPPET layout-service-3 +{{! BEGIN-SNIPPET layout-service-3 { isMobile, isTablet, isDesktop, isHuge } -END-SNIPPET --}} \ No newline at end of file +END-SNIPPET }} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/routes/docs/layouts-overview/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/layouts-overview/template.hbs index 693bd909..0f4618a5 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/layouts-overview/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/layouts-overview/template.hbs @@ -3,43 +3,43 @@

Layouts

- Next Sustain + Next Sustain

- With flexi, you can separate your markup into separate layout files for each breakpoint size as needed. - The existing template file for a route or component will continue to function until at least one layout - is defined for that route or component. + With flexi, you can separate your markup into separate layout files for each breakpoint size as needed. The + existing template file for a route or component will continue to function until at least one layout is defined for + that route or component.

- Any breakpoint name defined in config/flexi.js is a valid layout name. At build time, your layout files - will be compiled to a single template for the route or component with efficient breakpoint logic automatically - inserted. Any invalid layout files will emit warnings in the CLI. + Any breakpoint name defined in config/flexi.js is a valid layout name. At build time, your layout files will be + compiled to a single template for the route or component with efficient breakpoint logic automatically inserted. + Any invalid layout files will emit warnings in the CLI.

Layouts work with either pod or classic project organization, and layouts can be generated (see the - blueprint documentation). + blueprint documentation).

Pods

- To convert an existing template to a layout, rename the file to a breakpoint name, create a sibling - `-layouts/` directory, and move the file into the new directory. + To convert an existing template to a layout, rename the file to a breakpoint name, create a sibling `-layouts/` + directory, and move the file into the new directory.

- {{!-- BEGIN-SNIPPET layouts-1 + {{! BEGIN-SNIPPET layouts-1 app/ / components/ foo-component/ template.hbs - END-SNIPPET --}} - {{!-- BEGIN-SNIPPET layouts-2 + END-SNIPPET }} + {{! BEGIN-SNIPPET layouts-2 app/ / components/ foo-component/ -layouts/ desktop.hbs - END-SNIPPET --}} + END-SNIPPET }}

Old (with template)

{{#let (get-code-snippet "layouts-1.hbs" unindent=false) as |snippet|}}
{{snippet.source}}
@@ -49,25 +49,24 @@ {{#let (get-code-snippet "layouts-2.hbs" unindent=false) as |snippet|}}
{{snippet.source}}
{{/let}} - {{!-- BEGIN-SNIPPET layouts-3 + {{! BEGIN-SNIPPET layouts-3 app/ templates/ components/ foo-component.hbs - END-SNIPPET --}} - {{!-- BEGIN-SNIPPET layouts-4 + END-SNIPPET }} + {{! BEGIN-SNIPPET layouts-4 app/ templates/ components/ foo-component/ -layouts/ desktop.hbs - END-SNIPPET --}} + END-SNIPPET }}

Classic

- To convert an existing template to a layout, rename the file to a breakpoint name, create a sibling - directory with the component or route's name, and move the file into a new `-layouts/` directory - within that directory. + To convert an existing template to a layout, rename the file to a breakpoint name, create a sibling directory with + the component or route's name, and move the file into a new `-layouts/` directory within that directory.

Old (with template)

{{#let (get-code-snippet "layouts-3.hbs" unindent=false) as |snippet|}} diff --git a/packages/flexi/tests/dummy/app/routes/docs/media-css/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/media-css/template.hbs index 33c8cec3..18bfec34 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/media-css/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/media-css/template.hbs @@ -2,14 +2,13 @@

@media CSS

- Next @container CSS + Next @container CSS

- Flexi generates a mobile first responsive grid and responsive utilities - using @media CSS queries based on the breakpoints defined in your config/flexi.js - file. Breakpoints look like the following: + Flexi generates a mobile first responsive grid and responsive utilities using @media CSS queries based on the + breakpoints defined in your config/flexi.js file. Breakpoints look like the following:

{{#let (get-code-snippet "settings-2.js") as |snippet|}} @@ -17,24 +16,22 @@ {{/let}}

- With just a few tweaks to config/flexi.js your app will have custom tailored columns, - prefixes, and breakpoints. + With just a few tweaks to config/flexi.js your app will have custom tailored columns, prefixes, and breakpoints.

- The grid columns are percentage based, with percentages derived from the total - number of columns specified in the configuration (default 12). + The grid columns are percentage based, with percentages derived from the total number of columns specified in the + configuration (default 12).

- Breakpoints are considered valid from their begin up to the begin of the next largest - breakpoint. + Breakpoints are considered valid from their begin up to the begin of the next largest breakpoint.

breakpoint.prefix

- The breakpoint prefix is used when generating grid and resonsive utility class names. - The following responsive utilities are made available for each prefix: + The breakpoint prefix is used when generating grid and resonsive utility class names. The following responsive + utilities are made available for each prefix:

{{#let (get-code-snippet "settings-css-1.js") as |snippet|}} diff --git a/packages/flexi/tests/dummy/app/routes/docs/overview/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/overview/template.hbs index 0c694db0..4a23b8b1 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/overview/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/overview/template.hbs @@ -2,28 +2,26 @@

Overview

- Next Installation + Next Installation

- Flexi is a layout framework built to solve difficult maintainability and performance concerns - on projects with responsive designs or that ship layouts for more than one screen size. + Flexi is a layout framework built to solve difficult maintainability and performance concerns on projects with + responsive designs or that ship layouts for more than one screen size.

- Flexi will help you build faster, smarter, with an eye on long term needs and goals, and it - integrates well with existing Ember projects of any size. + Flexi will help you build faster, smarter, with an eye on long term needs and goals, and it integrates well with + existing Ember projects of any size.

- Flexi is small and focused, and won't clog your runtime. It gives you declarative layout - features that are processed at build time, leaving the most minimal runtime footprint - possible and without bloating the size of your app. + Flexi is small and focused, and won't clog your runtime. It gives you declarative layout features that are processed + at build time, leaving the most minimal runtime footprint possible and without bloating the size of your app.

- Flexi is not a ui framework. It is a small set of layout primitives that make it simple - to design for a range of device sizes and platforms, and will easily integrate with your - existing ui-framework and/or grid-system of choice. + Flexi is not a ui framework. It is a small set of layout primitives that make it simple to design for a range of + device sizes and platforms, and will easily integrate with your existing ui-framework and/or grid-system of choice.

- + \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/routes/docs/settings/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/settings/template.hbs index f9942aae..4bf417c1 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/settings/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/settings/template.hbs @@ -2,13 +2,12 @@

Configuration

- Next Layouts + Next Layouts

- Flexi comes ready to go, but if you want to know where and what you can adjust - read on below. + Flexi comes ready to go, but if you want to know where and what you can adjust read on below.

@@ -19,32 +18,29 @@

Settings

- {{#let (get-code-snippet "settings-1.hbs") as |snippet|}} -
{{snippet.source}}
- {{/let}} + {{#let (get-code-snippet "settings-1.hbs") as |snippet|}} +
{{snippet.source}}
+ {{/let}}

config.columns

- The total number of columns you want Flexi to generate or your CSS framework - provides. This is used by Flexi when generating the grid, and used when - validating the values of layout attributes discovered at build time. + The total number of columns you want Flexi to generate or your CSS framework provides. This is used by Flexi when + generating the grid, and used when validating the values of layout attributes discovered at build time.

config.columnPrefix

- By default, flexi generates a grid identical to bootstrap's to make converting - or interop seamless. See configuring Flexi - to work with your CSS framework or grid of choice. + By default, flexi generates a grid identical to bootstrap's to make converting or interop seamless. See + configuring Flexi to work with your CSS framework or grid of choice.

- This setting allows you to configure the structure of the generated grid class - names. + This setting allows you to configure the structure of the generated grid class names.

config.includeMediaCSS

- If false, @media based responsive utilities and grid classes will not be generated. - @container based utilities and grid classes will still be generated. + If false, @media based responsive utilities and grid classes will not be generated. @container based utilities and + grid classes will still be generated.

config.includeElementCSS

@@ -52,22 +48,20 @@ If you have no desire to use layout elements, set this to false.

- If false, default element styles will not be included, this includes the styles - for <container></container>. Since all layout elements are entirely - implemented via CSS, this will cause all layout elements to cease functioning - unless new CSS is provided for them. + If false, default element styles will not be included, this includes the styles for + <container></container>. Since all layout elements are entirely implemented via CSS, + this will cause all layout elements to cease functioning unless new CSS is provided for them.

- You will want to replicate the CSS for <container></container> or - rely entirely on the `flexi/mixins/container` mixin for implementing @container - support. + You will want to replicate the CSS for + <container></container> + or rely entirely on the `flexi/mixins/container` mixin for implementing @container support.

config.transformAllElementLayoutAttributes

- By default, only layout attributes present on elements provided by flexi will - be processed at build time and converted to classes. Set this to `true` to have - all elements in your templates be processed. + By default, only layout attributes present on elements provided by flexi will be processed at build time and + converted to classes. Set this to `true` to have all elements in your templates be processed.

config.gutterPadding

@@ -77,17 +71,15 @@

config.includeCSS

- Set to false if you want absolutely no styles to be included in your app from Flexi. - This trumps other CSS settings, and results in layout elements and responsive layout - attributes not working unless alternative CSS is provided. + Set to false if you want absolutely no styles to be included in your app from Flexi. This trumps other CSS settings, + and results in layout elements and responsive layout attributes not working unless alternative CSS is provided.

config.breakpoints

- Your config must have a `breakpoints` array. This array determines what layout names - are valid for layout handlebars files, when those layouts are activated, what layout - attribute shorthands are available, what @container breakpoints are available, and what - booleans are available on the device/layout service. + Your config must have a `breakpoints` array. This array determines what layout names are valid for layout handlebars + files, when those layouts are activated, what layout attribute shorthands are available, what @container breakpoints + are available, and what booleans are available on the device/layout service.

A breakpoint has the structure: @@ -99,19 +91,18 @@

breakpoint.name

- `name` will be used for blueprint generation of layout names, and is made available as an `is[Name]` - boolean on the `device/layout` service. + `name` will be used for blueprint generation of layout names, and is made available as an `is[Name]` boolean on the + `device/layout` service.

breakpoint.begin

- `begin` is the pixel value at which the breakpoint becomes valid if equal to or larger than. - All breakpoints must define begin, and your smallest breakpoint should begin at 0. Two breakpoints - should not have the same value for begin. + `begin` is the pixel value at which the breakpoint becomes valid if equal to or larger than. All breakpoints must + define begin, and your smallest breakpoint should begin at 0. Two breakpoints should not have the same value for + begin.

- A breakpoint will be considered valid from it's begin up to the begin of the next largest - breakpoint. + A breakpoint will be considered valid from it's begin up to the begin of the next largest breakpoint.

Your breakpoints will be sorted and ordered automatically based on begin. @@ -119,17 +110,15 @@

breakpoint.prefix

- The breakpoint prefix is used when generating class names and layout - attribute decorators. For the breakpoint defined above, the `xs` prefix - would enable the following shorthand layout syntax (where n is a column number). + The breakpoint prefix is used when generating class names and layout attribute decorators. For the breakpoint + defined above, the `xs` prefix would enable the following shorthand layout syntax (where n is a column number).

{{#let (get-code-snippet "settings-html-1.hbs") as |snippet|}}
{{snippet.source}}
{{/let}} - This shorthand gets expanded to the following classes which are automatically - generated by Flexi. + This shorthand gets expanded to the following classes which are automatically generated by Flexi. {{#let (get-code-snippet "settings-html-2.hbs") as |snippet|}}
{{snippet.source}}
diff --git a/packages/flexi/tests/dummy/app/routes/docs/sustain/template.hbs b/packages/flexi/tests/dummy/app/routes/docs/sustain/template.hbs index 022c8628..d4696150 100644 --- a/packages/flexi/tests/dummy/app/routes/docs/sustain/template.hbs +++ b/packages/flexi/tests/dummy/app/routes/docs/sustain/template.hbs @@ -3,13 +3,12 @@

Sustain

- Next Attribute Syntax + Next Attribute Syntax

- Use the sustain helper to explicitly declare component instances that can be recycled. - This lets Ember recycle a component instance and it's associated DOM across layout and - route boundaries. + Use the sustain helper to explicitly declare component instances that can be recycled. This lets Ember recycle a + component instance and it's associated DOM across layout and route boundaries.

{{#let (get-code-snippet "sustain-1.hbs") as |snippet|}} @@ -20,12 +19,12 @@ A sustain is essentially a "marker" for where a particular component instance should be inserted.

- Since the component a sustain specifies is moved from marker to marker, only one marker instance - for a given component name can be used at a time, unless a unique label is provided. + Since the component a sustain specifies is moved from marker to marker, only one marker instance for a given + component name can be used at a time, unless a unique label is provided.

- This produces a significant performance advantage by allowing you to seamlessly restructure your - app's DOM when shifting from one layout or route to another without needing to teardown and rebuild DOM. + This produces a significant performance advantage by allowing you to seamlessly restructure your app's DOM when + shifting from one layout or route to another without needing to teardown and rebuild DOM.

Providing a model for your component

@@ -44,8 +43,8 @@

Dealing with animation and other scenarios in which two instances exist at once.

- Only one instance of the sustainable is alive and rendered at a time, but if you are animating - from one location to another you can choose to leave behind a copy. + Only one instance of the sustainable is alive and rendered at a time, but if you are animating from one location + to another you can choose to leave behind a copy.

{{#let (get-code-snippet "sustain-4.hbs") as |snippet|}}
{{snippet.source}}
@@ -53,9 +52,8 @@

Configuring the component's cache expire time.

- By default, a sustain is destroyed when it has gone unused for 5 seconds. - You can alter this expiration. A value of 0 or -1 will cause the sustain to - live forever. + By default, a sustain is destroyed when it has gone unused for 5 seconds. You can alter this expiration. A value + of 0 or -1 will cause the sustain to live forever.

{{#let (get-code-snippet "sustain-5.hbs") as |snippet|}}
{{snippet.source}}
@@ -63,9 +61,9 @@

Labeling a sustain

- If you need more than one instance of a component to be recycleable, you may provide a unique label - for the sustain. The instance will only be reused in locations where that label appears in conjunction - with the same Component Name. + If you need more than one instance of a component to be recycleable, you may provide a unique label for the + sustain. The instance will only be reused in locations where that label appears in conjunction with the same + Component Name.

{{#let (get-code-snippet "sustain-6.hbs") as |snippet|}}
{{snippet.source}}
@@ -73,8 +71,8 @@

Lifecycle Hooks

- The component being sustained has access to two new hooks: `willMove` and `didMove`. - For both, a method by that name on your component will trigger before the event fires. + The component being sustained has access to two new hooks: `willMove` and `didMove`. For both, a method by that + name on your component will trigger before the event fires.

  • willMove: fires before a component instance leaves a location
  • @@ -113,4 +111,4 @@ {{sustain 'foo-component' model label="a-key"}} {{-- END-SNIPPET ---}} +--}} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/styles/_variables.scss b/packages/flexi/tests/dummy/app/styles/_variables.scss index 33e66bf4..d9dd5546 100644 --- a/packages/flexi/tests/dummy/app/styles/_variables.scss +++ b/packages/flexi/tests/dummy/app/styles/_variables.scss @@ -1,4 +1,4 @@ -$lighter: #DBE2EF; -$light: #CDD7E7; -$medium: #B2BFD8; -$dark: #96A9C8; +$lighter: #dbe2ef; +$light: #cdd7e7; +$medium: #b2bfd8; +$dark: #96a9c8; diff --git a/packages/flexi/tests/dummy/app/styles/app.scss b/packages/flexi/tests/dummy/app/styles/app.scss index f5034cdd..d61ac14f 100644 --- a/packages/flexi/tests/dummy/app/styles/app.scss +++ b/packages/flexi/tests/dummy/app/styles/app.scss @@ -1,4 +1,4 @@ -@import 'variables'; +@import "variables"; // BEGINNING OF STYLES USED IN EXAMPLES body { margin: 0; @@ -48,4 +48,3 @@ a { color: $dark; text-decoration: none; } - diff --git a/packages/flexi/tests/dummy/app/templates/application.hbs b/packages/flexi/tests/dummy/app/templates/application.hbs index 52e62614..25fc6a23 100644 --- a/packages/flexi/tests/dummy/app/templates/application.hbs +++ b/packages/flexi/tests/dummy/app/templates/application.hbs @@ -1 +1 @@ -{{liquid-outlet use="cross-fade"}} +{{liquid-outlet use="cross-fade"}} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/templates/components/lorem-ipsum.hbs b/packages/flexi/tests/dummy/app/templates/components/lorem-ipsum.hbs index 6e120cf8..fad3a964 100644 --- a/packages/flexi/tests/dummy/app/templates/components/lorem-ipsum.hbs +++ b/packages/flexi/tests/dummy/app/templates/components/lorem-ipsum.hbs @@ -1,19 +1,69 @@

    -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi suscipit, ligula at porta ultrices, mi erat gravida tellus, vel consequat nisi justo at odio. Pellentesque non massa eu est pharetra dignissim nec id orci. Morbi ac tincidunt quam, vel varius ipsum. Nunc sit amet hendrerit enim. Fusce eget urna et libero sagittis volutpat. Proin convallis vulputate sapien, eget aliquet purus fringilla at. Vivamus at pellentesque libero. Duis libero nunc, tristique semper consequat at, convallis et quam. Cras sagittis mauris eget sagittis viverra. Quisque id aliquet tortor. Fusce maximus neque dolor, id lobortis arcu suscipit a. Mauris posuere enim id aliquet euismod. Mauris bibendum id lorem eget fermentum. Donec eget nulla sapien. Donec volutpat fermentum diam elementum fermentum. + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi suscipit, ligula at porta ultrices, mi erat gravida + tellus, vel consequat nisi justo at odio. Pellentesque non massa eu est pharetra dignissim nec id orci. Morbi ac + tincidunt quam, vel varius ipsum. Nunc sit amet hendrerit enim. Fusce eget urna et libero sagittis volutpat. Proin + convallis vulputate sapien, eget aliquet purus fringilla at. Vivamus at pellentesque libero. Duis libero nunc, + tristique semper consequat at, convallis et quam. Cras sagittis mauris eget sagittis viverra. Quisque id aliquet + tortor. Fusce maximus neque dolor, id lobortis arcu suscipit a. Mauris posuere enim id aliquet euismod. Mauris + bibendum id lorem eget fermentum. Donec eget nulla sapien. Donec volutpat fermentum diam elementum fermentum.

    -Suspendisse cursus erat et neque aliquam blandit. Proin efficitur, neque id cursus finibus, sem nisl euismod lacus, quis ornare massa mauris nec felis. Nunc dapibus varius magna sit amet dignissim. Suspendisse in eros et diam iaculis viverra sed eget augue. Nullam sed egestas lectus, sed hendrerit mauris. Nulla nec imperdiet lorem. Pellentesque augue sem, pharetra sit amet lobortis ac, placerat vel lacus. Pellentesque id metus auctor, tincidunt mauris in, gravida nisi. Mauris egestas commodo arcu, et imperdiet nibh malesuada eget. Suspendisse non tempor quam. Sed sed nibh quam. Vivamus malesuada dui tortor. Sed vulputate odio non mi tincidunt porta. Sed condimentum nunc at odio condimentum, quis elementum leo porttitor. Donec eu maximus nunc. In sed sem eu libero sodales consequat eu scelerisque lectus. + Suspendisse cursus erat et neque aliquam blandit. Proin efficitur, neque id cursus finibus, sem nisl euismod lacus, + quis ornare massa mauris nec felis. Nunc dapibus varius magna sit amet dignissim. Suspendisse in eros et diam iaculis + viverra sed eget augue. Nullam sed egestas lectus, sed hendrerit mauris. Nulla nec imperdiet lorem. Pellentesque augue + sem, pharetra sit amet lobortis ac, placerat vel lacus. Pellentesque id metus auctor, tincidunt mauris in, gravida + nisi. Mauris egestas commodo arcu, et imperdiet nibh malesuada eget. Suspendisse non tempor quam. Sed sed nibh quam. + Vivamus malesuada dui tortor. Sed vulputate odio non mi tincidunt porta. Sed condimentum nunc at odio condimentum, + quis elementum leo porttitor. Donec eu maximus nunc. In sed sem eu libero sodales consequat eu scelerisque lectus.

    -Nullam id sollicitudin ante. Mauris orci diam, sagittis sit amet urna sed, imperdiet finibus ligula. Donec at sodales magna. Donec congue turpis ut neque pretium elementum. Sed eget finibus enim. Duis maximus efficitur magna a auctor. Cras in luctus nisi, id commodo sapien. Sed vestibulum fringilla turpis dictum finibus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus nec tellus lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec sed odio sed nibh tristique convallis. Praesent commodo dui sit amet velit auctor viverra. Curabitur at est nisl. Quisque ut ornare magna. + Nullam id sollicitudin ante. Mauris orci diam, sagittis sit amet urna sed, imperdiet finibus ligula. Donec at sodales + magna. Donec congue turpis ut neque pretium elementum. Sed eget finibus enim. Duis maximus efficitur magna a auctor. + Cras in luctus nisi, id commodo sapien. Sed vestibulum fringilla turpis dictum finibus. Orci varius natoque penatibus + et magnis dis parturient montes, nascetur ridiculus mus. Phasellus nec tellus lectus. Pellentesque habitant morbi + tristique senectus et netus et malesuada fames ac turpis egestas. Donec sed odio sed nibh tristique convallis. + Praesent commodo dui sit amet velit auctor viverra. Curabitur at est nisl. Quisque ut ornare magna.

    -Nullam et iaculis eros. Ut velit sem, vehicula non elementum ac, pulvinar in magna. Aenean nec quam eu odio fringilla rhoncus ac eget augue. Proin vel lobortis lacus, vitae dictum enim. Nulla facilisi. Donec feugiat urna eget augue viverra, vel finibus tellus sagittis. Proin eu purus ipsum. Etiam vitae egestas quam, at luctus urna. Phasellus et pretium arcu. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent massa elit, sollicitudin at lacinia a, mattis eget tortor. Nulla massa erat, tincidunt sed nisi eget, consectetur porta tellus. Curabitur maximus malesuada nunc, ut consectetur velit laoreet a. Donec leo risus, efficitur vehicula eros vitae, lobortis luctus dui. Nunc eget lobortis ex. Vestibulum ac neque nec libero ornare ornare. + Nullam et iaculis eros. Ut velit sem, vehicula non elementum ac, pulvinar in magna. Aenean nec quam eu odio fringilla + rhoncus ac eget augue. Proin vel lobortis lacus, vitae dictum enim. Nulla facilisi. Donec feugiat urna eget augue + viverra, vel finibus tellus sagittis. Proin eu purus ipsum. Etiam vitae egestas quam, at luctus urna. Phasellus et + pretium arcu. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent massa + elit, sollicitudin at lacinia a, mattis eget tortor. Nulla massa erat, tincidunt sed nisi eget, consectetur porta + tellus. Curabitur maximus malesuada nunc, ut consectetur velit laoreet a. Donec leo risus, efficitur vehicula eros + vitae, lobortis luctus dui. Nunc eget lobortis ex. Vestibulum ac neque nec libero ornare ornare.

    -Praesent vehicula risus id sollicitudin tincidunt. Maecenas venenatis leo vel sem lobortis, sollicitudin dignissim odio molestie. Proin volutpat enim ullamcorper, consequat nibh id, accumsan odio. In faucibus tellus orci, id laoreet arcu dictum sagittis. Nam non purus eget turpis scelerisque congue ac ut eros. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Morbi et efficitur ipsum. Aliquam id enim nisi. Vivamus convallis blandit maximus. Praesent sed lorem magna. Suspendisse tristique arcu sapien, a sollicitudin augue volutpat vulputate. Nulla bibendum tristique odio, et malesuada nunc mattis nec. Donec porta ligula tortor, eget ultrices magna tincidunt nec. + Praesent vehicula risus id sollicitudin tincidunt. Maecenas venenatis leo vel sem lobortis, sollicitudin dignissim + odio molestie. Proin volutpat enim ullamcorper, consequat nibh id, accumsan odio. In faucibus tellus orci, id laoreet + arcu dictum sagittis. Nam non purus eget turpis scelerisque congue ac ut eros. Pellentesque habitant morbi tristique + senectus et netus et malesuada fames ac turpis egestas. Morbi et efficitur ipsum. Aliquam id enim nisi. Vivamus + convallis blandit maximus. Praesent sed lorem magna. Suspendisse tristique arcu sapien, a sollicitudin augue volutpat + vulputate. Nulla bibendum tristique odio, et malesuada nunc mattis nec. Donec porta ligula tortor, eget ultrices magna + tincidunt nec.

    -In semper auctor libero sed gravida. Nunc sollicitudin, quam eget varius mollis, turpis nulla pulvinar quam, vitae maximus nisl leo id magna. Fusce tincidunt et est eu ornare. Fusce faucibus, nulla quis mollis mollis, lacus tellus elementum mauris, nec molestie sem orci ut neque. Morbi facilisis justo in nunc congue, eget tempor sem egestas. Pellentesque ullamcorper finibus enim. Donec sollicitudin fermentum dui. Maecenas sodales dolor ut libero blandit tristique. Praesent malesuada nisi a sem interdum, et sagittis justo ultricies. Sed tempor purus in ultricies eleifend. Pellentesque eleifend viverra nunc, eget feugiat lorem blandit quis. + In semper auctor libero sed gravida. Nunc sollicitudin, quam eget varius mollis, turpis nulla pulvinar quam, vitae + maximus nisl leo id magna. Fusce tincidunt et est eu ornare. Fusce faucibus, nulla quis mollis mollis, lacus tellus + elementum mauris, nec molestie sem orci ut neque. Morbi facilisis justo in nunc congue, eget tempor sem egestas. + Pellentesque ullamcorper finibus enim. Donec sollicitudin fermentum dui. Maecenas sodales dolor ut libero blandit + tristique. Praesent malesuada nisi a sem interdum, et sagittis justo ultricies. Sed tempor purus in ultricies + eleifend. Pellentesque eleifend viverra nunc, eget feugiat lorem blandit quis.

    -Aenean velit quam, commodo eget ultricies id, pulvinar nec sapien. Praesent eu libero eu felis faucibus mollis eget ac ex. Curabitur egestas pharetra aliquam. Vivamus posuere est a porttitor consectetur. Nullam vitae feugiat mauris. Vivamus et egestas massa. Suspendisse accumsan efficitur magna, id luctus turpis pharetra id. Aliquam elit turpis, congue id orci et, tincidunt molestie nisi. + Aenean velit quam, commodo eget ultricies id, pulvinar nec sapien. Praesent eu libero eu felis faucibus mollis eget ac + ex. Curabitur egestas pharetra aliquam. Vivamus posuere est a porttitor consectetur. Nullam vitae feugiat mauris. + Vivamus et egestas massa. Suspendisse accumsan efficitur magna, id luctus turpis pharetra id. Aliquam elit turpis, + congue id orci et, tincidunt molestie nisi.

    -Vestibulum vel mauris vitae quam lacinia maximus sed eu ipsum. Integer eget felis vel quam commodo rutrum. Mauris imperdiet facilisis congue. Phasellus posuere, metus a posuere suscipit, tellus nunc aliquet ipsum, sed scelerisque magna nisl in lectus. Donec quis porttitor libero. In vel pharetra leo. In gravida justo nisi, a feugiat nisi porttitor ut. Curabitur convallis orci enim, et maximus tortor gravida eu. Nulla consectetur euismod dui a faucibus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse varius, lectus at facilisis faucibus, odio ante consequat tortor, a laoreet enim tellus eu sapien. Curabitur mattis imperdiet faucibus. + Vestibulum vel mauris vitae quam lacinia maximus sed eu ipsum. Integer eget felis vel quam commodo rutrum. Mauris + imperdiet facilisis congue. Phasellus posuere, metus a posuere suscipit, tellus nunc aliquet ipsum, sed scelerisque + magna nisl in lectus. Donec quis porttitor libero. In vel pharetra leo. In gravida justo nisi, a feugiat nisi + porttitor ut. Curabitur convallis orci enim, et maximus tortor gravida eu. Nulla consectetur euismod dui a faucibus. + Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse varius, + lectus at facilisis faucibus, odio ante consequat tortor, a laoreet enim tellus eu sapien. Curabitur mattis imperdiet + faucibus.

    -Integer blandit accumsan diam, in bibendum odio pulvinar in. Quisque venenatis lorem nibh, et scelerisque lorem commodo eu. Sed a lectus lobortis, viverra sem nec, porta est. Aenean ante velit, varius vel mi sit amet, ornare porta turpis. Nam ac accumsan lorem, eget interdum orci. Sed suscipit sodales mi, sit amet mollis augue dignissim quis. Nunc feugiat ex in eros rutrum, vel ultricies justo feugiat. Nunc non odio magna. Cras dictum orci at enim posuere, id consectetur dui euismod. Nulla porttitor ligula nec nibh ultricies congue. Vivamus vel odio tempus, malesuada dui eu, mattis nunc. Curabitur velit nisl, posuere eget mauris nec, sollicitudin pulvinar ligula. Nulla ac neque sed metus consectetur consequat. Aliquam ut massa et nulla iaculis iaculis. Phasellus nec magna interdum, laoreet dolor in, maximus nisi. -

    + Integer blandit accumsan diam, in bibendum odio pulvinar in. Quisque venenatis lorem nibh, et scelerisque lorem + commodo eu. Sed a lectus lobortis, viverra sem nec, porta est. Aenean ante velit, varius vel mi sit amet, ornare porta + turpis. Nam ac accumsan lorem, eget interdum orci. Sed suscipit sodales mi, sit amet mollis augue dignissim quis. Nunc + feugiat ex in eros rutrum, vel ultricies justo feugiat. Nunc non odio magna. Cras dictum orci at enim posuere, id + consectetur dui euismod. Nulla porttitor ligula nec nibh ultricies congue. Vivamus vel odio tempus, malesuada dui eu, + mattis nunc. Curabitur velit nisl, posuere eget mauris nec, sollicitudin pulvinar ligula. Nulla ac neque sed metus + consectetur consequat. Aliquam ut massa et nulla iaculis iaculis. Phasellus nec magna interdum, laoreet dolor in, + maximus nisi. +

    \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/templates/grid-responsive.hbs b/packages/flexi/tests/dummy/app/templates/grid-responsive.hbs index 3c7cb833..66275f23 100644 --- a/packages/flexi/tests/dummy/app/templates/grid-responsive.hbs +++ b/packages/flexi/tests/dummy/app/templates/grid-responsive.hbs @@ -4,7 +4,7 @@ {{/let}} -{{!- BEGIN-SNIPPET grid-responsive }} +{{! BEGIN-SNIPPET grid-responsive }}

    This Grid responds to @container queries

    @@ -14,14 +14,10 @@ Examples - Docs + Docs - GitHub + GitHub 4 5 @@ -32,4 +28,4 @@
    -{{!- END-SNIPPET }} +{{! END-SNIPPET }} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/templates/grid-rows-responsive.hbs b/packages/flexi/tests/dummy/app/templates/grid-rows-responsive.hbs index e33fccf8..4aa6a8b7 100644 --- a/packages/flexi/tests/dummy/app/templates/grid-rows-responsive.hbs +++ b/packages/flexi/tests/dummy/app/templates/grid-rows-responsive.hbs @@ -4,7 +4,7 @@ {{/let}} -{{!- BEGIN-SNIPPET grid-rows-responsive }} +{{! BEGIN-SNIPPET grid-rows-responsive }}

    This Row Grid responds to @container queries

    @@ -18,14 +18,10 @@ - Docs + Docs - GitHub + GitHub @@ -42,4 +38,4 @@
    -{{!- END-SNIPPET }} +{{! END-SNIPPET }} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/templates/grid-rows.hbs b/packages/flexi/tests/dummy/app/templates/grid-rows.hbs index 57182660..e2a6b60e 100644 --- a/packages/flexi/tests/dummy/app/templates/grid-rows.hbs +++ b/packages/flexi/tests/dummy/app/templates/grid-rows.hbs @@ -4,7 +4,7 @@ {{/let}} -{{!- BEGIN-SNIPPET grid-rows }} +{{! BEGIN-SNIPPET grid-rows }}

    This Row Grid responds to @media queries

    @@ -17,14 +17,10 @@ - Docs + Docs - GitHub + GitHub @@ -40,4 +36,4 @@
    -{{!- END-SNIPPET }} +{{! END-SNIPPET }} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/templates/grid.hbs b/packages/flexi/tests/dummy/app/templates/grid.hbs index 4f893bd6..909646c4 100644 --- a/packages/flexi/tests/dummy/app/templates/grid.hbs +++ b/packages/flexi/tests/dummy/app/templates/grid.hbs @@ -4,7 +4,7 @@ {{/let}} -{{!- BEGIN-SNIPPET grid-basic }} +{{! BEGIN-SNIPPET grid-basic }}

    This Grid responds to @media queries

    @@ -14,14 +14,10 @@ Examples - Docs + Docs - GitHub + GitHub 4 5 @@ -32,4 +28,4 @@
    -{{!- END-SNIPPET }} +{{! END-SNIPPET }} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/templates/header-footer-with-scroll.hbs b/packages/flexi/tests/dummy/app/templates/header-footer-with-scroll.hbs index 1b60bb1a..d76b689e 100644 --- a/packages/flexi/tests/dummy/app/templates/header-footer-with-scroll.hbs +++ b/packages/flexi/tests/dummy/app/templates/header-footer-with-scroll.hbs @@ -4,7 +4,7 @@ {{/let}} -{{!- BEGIN-SNIPPET fullscreen }} +{{! BEGIN-SNIPPET fullscreen }} @@ -15,27 +15,23 @@ Examples - Docs + Docs - GitHub + GitHub - {{!-- + {{! The scrollable element requires these extra styles. In addition, the parent needs a known height, either in pixels, vh, or a chain of percentages that eventually lead to a parent with a known height. Note how our tag uses `height: 100vh`. - --}} + }} {{lorem-ipsum}} @@ -45,4 +41,4 @@ -{{!- END-SNIPPET }} +{{! END-SNIPPET }} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/templates/index.hbs b/packages/flexi/tests/dummy/app/templates/index.hbs index 1f418339..878a35a4 100644 --- a/packages/flexi/tests/dummy/app/templates/index.hbs +++ b/packages/flexi/tests/dummy/app/templates/index.hbs @@ -10,50 +10,50 @@ - - grid + + grid Sidebar - - grid + + grid Top Nav - - grid + + grid Tabs - - grid + + grid Header + Footer w/ Scroll - - grid + + grid Grid - - grid + + grid Grid + Responsive - - grid + + grid Grid w/rows - - grid + + grid Grid w/rows + Responsive @@ -61,4 +61,4 @@ - + \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/templates/sidebar.hbs b/packages/flexi/tests/dummy/app/templates/sidebar.hbs index 566c9206..430bc328 100644 --- a/packages/flexi/tests/dummy/app/templates/sidebar.hbs +++ b/packages/flexi/tests/dummy/app/templates/sidebar.hbs @@ -4,7 +4,7 @@ {{/let}} -{{!- BEGIN-SNIPPET sidebar }} +{{! BEGIN-SNIPPET sidebar }} @@ -18,14 +18,10 @@ - Docs + Docs - GitHub + GitHub @@ -34,4 +30,4 @@ -{{!- END-SNIPPET }} +{{! END-SNIPPET }} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/templates/tabs.hbs b/packages/flexi/tests/dummy/app/templates/tabs.hbs index 8c4a5cb5..200e0c13 100644 --- a/packages/flexi/tests/dummy/app/templates/tabs.hbs +++ b/packages/flexi/tests/dummy/app/templates/tabs.hbs @@ -4,7 +4,7 @@ {{/let}} -{{!- BEGIN-SNIPPET tabs }} +{{! BEGIN-SNIPPET tabs }} @@ -17,16 +17,12 @@ - Docs + Docs - GitHub + GitHub @@ -37,4 +33,4 @@ -{{!- END-SNIPPET }} +{{! END-SNIPPET }} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/app/templates/top-nav.hbs b/packages/flexi/tests/dummy/app/templates/top-nav.hbs index da322cc4..898e6e35 100644 --- a/packages/flexi/tests/dummy/app/templates/top-nav.hbs +++ b/packages/flexi/tests/dummy/app/templates/top-nav.hbs @@ -4,7 +4,7 @@ {{/let}} -{{!- BEGIN-SNIPPET top-nav }} +{{! BEGIN-SNIPPET top-nav }} @@ -15,16 +15,12 @@ Examples - Docs + Docs - GitHub + GitHub @@ -33,4 +29,4 @@ -{{!- END-SNIPPET }} +{{! END-SNIPPET }} \ No newline at end of file diff --git a/packages/flexi/tests/dummy/config/targets.js b/packages/flexi/tests/dummy/config/targets.js index 1e48e059..9f6cc639 100644 --- a/packages/flexi/tests/dummy/config/targets.js +++ b/packages/flexi/tests/dummy/config/targets.js @@ -1,10 +1,6 @@ 'use strict'; -const browsers = [ - 'last 1 Chrome versions', - 'last 1 Firefox versions', - 'last 1 Safari versions', -]; +const browsers = ['last 1 Chrome versions', 'last 1 Firefox versions', 'last 1 Safari versions']; module.exports = { browsers, diff --git a/packages/flexi/tests/index.html b/packages/flexi/tests/index.html index 1318ae29..3e6cf592 100644 --- a/packages/flexi/tests/index.html +++ b/packages/flexi/tests/index.html @@ -1,18 +1,17 @@ - + - - + + App Tests - - + + - {{content-for "head"}} - {{content-for "test-head"}} + {{content-for "head"}} {{content-for "test-head"}} - - - + + + - {{content-for "head-footer"}} - {{content-for "test-head-footer"}} + {{content-for "head-footer"}} {{content-for "test-head-footer"}} - {{content-for "body"}} - {{content-for "test-body"}} + {{content-for "body"}} {{content-for "test-body"}}
    @@ -40,7 +37,6 @@ - {{content-for "body-footer"}} - {{content-for "test-body-footer"}} + {{content-for "body-footer"}} {{content-for "test-body-footer"}} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 18ec407e..dee51e92 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,2 @@ packages: - - 'packages/*' + - "packages/*"