@backstage/plugin-home 0.8.1-next.0 → 0.8.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/alpha/package.json +1 -1
  3. package/dist/alpha.esm.js.map +1 -1
  4. package/dist/api/VisitsApi.esm.js.map +1 -1
  5. package/dist/api/VisitsStorageApi.esm.js.map +1 -1
  6. package/dist/api/VisitsWebStorageApi.esm.js.map +1 -1
  7. package/dist/api/config.esm.js.map +1 -1
  8. package/dist/assets/TemplateBackstageLogo.esm.js.map +1 -1
  9. package/dist/assets/TemplateBackstageLogoIcon.esm.js.map +1 -1
  10. package/dist/componentRenderers/ComponentAccordion.esm.js.map +1 -1
  11. package/dist/componentRenderers/ComponentTabs/ComponentTab.esm.js.map +1 -1
  12. package/dist/componentRenderers/ComponentTabs/ComponentTabs.esm.js.map +1 -1
  13. package/dist/components/CustomHomepage/AddWidgetDialog.esm.js.map +1 -1
  14. package/dist/components/CustomHomepage/CustomHomepageButtons.esm.js.map +1 -1
  15. package/dist/components/CustomHomepage/CustomHomepageGrid.esm.js.map +1 -1
  16. package/dist/components/CustomHomepage/WidgetSettingsOverlay.esm.js.map +1 -1
  17. package/dist/components/CustomHomepage/types.esm.js.map +1 -1
  18. package/dist/components/HomepageCompositionRoot.esm.js.map +1 -1
  19. package/dist/components/StarredEntityListItem/StarredEntityListItem.esm.js.map +1 -1
  20. package/dist/components/VisitList/ItemCategory.esm.js.map +1 -1
  21. package/dist/components/VisitList/ItemDetail.esm.js.map +1 -1
  22. package/dist/components/VisitList/ItemName.esm.js.map +1 -1
  23. package/dist/components/VisitList/VisitList.esm.js.map +1 -1
  24. package/dist/components/VisitList/VisitListItem.esm.js.map +1 -1
  25. package/dist/components/VisitList/VisitListSkeleton.esm.js.map +1 -1
  26. package/dist/components/VisitListener.esm.js.map +1 -1
  27. package/dist/deprecated.esm.js.map +1 -1
  28. package/dist/homePageComponents/CompanyLogo/CompanyLogo.esm.js.map +1 -1
  29. package/dist/homePageComponents/FeaturedDocsCard/Content.esm.js.map +1 -1
  30. package/dist/homePageComponents/HeaderWorldClock/HeaderWorldClock.esm.js.map +1 -1
  31. package/dist/homePageComponents/RandomJoke/Actions.esm.js.map +1 -1
  32. package/dist/homePageComponents/RandomJoke/Content.esm.js.map +1 -1
  33. package/dist/homePageComponents/RandomJoke/Context.esm.js.map +1 -1
  34. package/dist/homePageComponents/RandomJoke/Settings.esm.js.map +1 -1
  35. package/dist/homePageComponents/StarredEntities/Content.esm.js.map +1 -1
  36. package/dist/homePageComponents/Toolkit/Content.esm.js.map +1 -1
  37. package/dist/homePageComponents/Toolkit/Context.esm.js.map +1 -1
  38. package/dist/homePageComponents/VisitedByType/Actions.esm.js.map +1 -1
  39. package/dist/homePageComponents/VisitedByType/Content.esm.js.map +1 -1
  40. package/dist/homePageComponents/VisitedByType/Context.esm.js.map +1 -1
  41. package/dist/homePageComponents/VisitedByType/VisitedByType.esm.js.map +1 -1
  42. package/dist/homePageComponents/WelcomeTitle/WelcomeTitle.esm.js.map +1 -1
  43. package/dist/homePageComponents/WelcomeTitle/timeUtil.esm.js.map +1 -1
  44. package/dist/plugin.esm.js.map +1 -1
  45. package/dist/routes.esm.js.map +1 -1
  46. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"timeUtil.esm.js","sources":["../../../src/homePageComponents/WelcomeTitle/timeUtil.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport goodMorning from './locales/goodMorning.locales.json';\nimport goodAfternoon from './locales/goodAfternoon.locales.json';\nimport goodEvening from './locales/goodEvening.locales.json';\n\n// Select a large random integer at startup, to prevent the greetings to change\n// every time the user navigates.\nconst greetingRandomSeed = Math.floor(Math.random() * 1000000);\n\nexport function getTimeBasedGreeting(language?: string[]): {\n language: string;\n greeting: string;\n} {\n const random = (array: string[]) => array[greetingRandomSeed % array.length];\n\n const currentHour = new Date(Date.now()).getHours();\n if (currentHour >= 23) {\n return {\n language: 'Seriously',\n greeting: 'Get some rest',\n };\n }\n\n const timeOfDay = (hour: number): { [language: string]: string } => {\n if (hour < 12) return goodMorning;\n if (hour < 17) return goodAfternoon;\n return goodEvening;\n };\n\n const greetings = timeOfDay(currentHour);\n\n if (Array.isArray(language) && language.length > 0) {\n const validLanguages = language.filter(lang => lang && greetings[lang]);\n if (validLanguages.length > 0) {\n const greetingsKey = random(validLanguages);\n return {\n language: greetingsKey,\n greeting: greetings[greetingsKey],\n };\n }\n }\n\n const greetingsKey = random(Object.keys(greetings));\n return {\n language: greetingsKey,\n greeting: greetings[greetingsKey],\n };\n}\n"],"names":["greetingsKey"],"mappings":";;;;AAsBA,MAAM,qBAAqB,IAAK,CAAA,KAAA,CAAM,IAAK,CAAA,MAAA,KAAW,GAAO,CAAA,CAAA;AAEtD,SAAS,qBAAqB,QAGnC,EAAA;AACA,EAAA,MAAM,SAAS,CAAC,KAAA,KAAoB,KAAM,CAAA,kBAAA,GAAqB,MAAM,MAAM,CAAA,CAAA;AAE3E,EAAA,MAAM,cAAc,IAAI,IAAA,CAAK,KAAK,GAAI,EAAC,EAAE,QAAS,EAAA,CAAA;AAClD,EAAA,IAAI,eAAe,EAAI,EAAA;AACrB,IAAO,OAAA;AAAA,MACL,QAAU,EAAA,WAAA;AAAA,MACV,QAAU,EAAA,eAAA;AAAA,KACZ,CAAA;AAAA,GACF;AAEA,EAAM,MAAA,SAAA,GAAY,CAAC,IAAiD,KAAA;AAClE,IAAI,IAAA,IAAA,GAAO,IAAW,OAAA,WAAA,CAAA;AACtB,IAAI,IAAA,IAAA,GAAO,IAAW,OAAA,aAAA,CAAA;AACtB,IAAO,OAAA,WAAA,CAAA;AAAA,GACT,CAAA;AAEA,EAAM,MAAA,SAAA,GAAY,UAAU,WAAW,CAAA,CAAA;AAEvC,EAAA,IAAI,MAAM,OAAQ,CAAA,QAAQ,CAAK,IAAA,QAAA,CAAS,SAAS,CAAG,EAAA;AAClD,IAAA,MAAM,iBAAiB,QAAS,CAAA,MAAA,CAAO,UAAQ,IAAQ,IAAA,SAAA,CAAU,IAAI,CAAC,CAAA,CAAA;AACtE,IAAI,IAAA,cAAA,CAAe,SAAS,CAAG,EAAA;AAC7B,MAAMA,MAAAA,aAAAA,GAAe,OAAO,cAAc,CAAA,CAAA;AAC1C,MAAO,OAAA;AAAA,QACL,QAAUA,EAAAA,aAAAA;AAAA,QACV,QAAA,EAAU,UAAUA,aAAY,CAAA;AAAA,OAClC,CAAA;AAAA,KACF;AAAA,GACF;AAEA,EAAA,MAAM,YAAe,GAAA,MAAA,CAAO,MAAO,CAAA,IAAA,CAAK,SAAS,CAAC,CAAA,CAAA;AAClD,EAAO,OAAA;AAAA,IACL,QAAU,EAAA,YAAA;AAAA,IACV,QAAA,EAAU,UAAU,YAAY,CAAA;AAAA,GAClC,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"timeUtil.esm.js","sources":["../../../src/homePageComponents/WelcomeTitle/timeUtil.ts"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport goodMorning from './locales/goodMorning.locales.json';\nimport goodAfternoon from './locales/goodAfternoon.locales.json';\nimport goodEvening from './locales/goodEvening.locales.json';\n\n// Select a large random integer at startup, to prevent the greetings to change\n// every time the user navigates.\nconst greetingRandomSeed = Math.floor(Math.random() * 1000000);\n\nexport function getTimeBasedGreeting(language?: string[]): {\n language: string;\n greeting: string;\n} {\n const random = (array: string[]) => array[greetingRandomSeed % array.length];\n\n const currentHour = new Date(Date.now()).getHours();\n if (currentHour >= 23) {\n return {\n language: 'Seriously',\n greeting: 'Get some rest',\n };\n }\n\n const timeOfDay = (hour: number): { [language: string]: string } => {\n if (hour < 12) return goodMorning;\n if (hour < 17) return goodAfternoon;\n return goodEvening;\n };\n\n const greetings = timeOfDay(currentHour);\n\n if (Array.isArray(language) && language.length > 0) {\n const validLanguages = language.filter(lang => lang && greetings[lang]);\n if (validLanguages.length > 0) {\n const greetingsKey = random(validLanguages);\n return {\n language: greetingsKey,\n greeting: greetings[greetingsKey],\n };\n }\n }\n\n const greetingsKey = random(Object.keys(greetings));\n return {\n language: greetingsKey,\n greeting: greetings[greetingsKey],\n };\n}\n"],"names":["greetingsKey"],"mappings":";;;;AAsBA,MAAM,qBAAqB,IAAK,CAAA,KAAA,CAAM,IAAK,CAAA,MAAA,KAAW,GAAO,CAAA;AAEtD,SAAS,qBAAqB,QAGnC,EAAA;AACA,EAAA,MAAM,SAAS,CAAC,KAAA,KAAoB,KAAM,CAAA,kBAAA,GAAqB,MAAM,MAAM,CAAA;AAE3E,EAAA,MAAM,cAAc,IAAI,IAAA,CAAK,KAAK,GAAI,EAAC,EAAE,QAAS,EAAA;AAClD,EAAA,IAAI,eAAe,EAAI,EAAA;AACrB,IAAO,OAAA;AAAA,MACL,QAAU,EAAA,WAAA;AAAA,MACV,QAAU,EAAA;AAAA,KACZ;AAAA;AAGF,EAAM,MAAA,SAAA,GAAY,CAAC,IAAiD,KAAA;AAClE,IAAI,IAAA,IAAA,GAAO,IAAW,OAAA,WAAA;AACtB,IAAI,IAAA,IAAA,GAAO,IAAW,OAAA,aAAA;AACtB,IAAO,OAAA,WAAA;AAAA,GACT;AAEA,EAAM,MAAA,SAAA,GAAY,UAAU,WAAW,CAAA;AAEvC,EAAA,IAAI,MAAM,OAAQ,CAAA,QAAQ,CAAK,IAAA,QAAA,CAAS,SAAS,CAAG,EAAA;AAClD,IAAA,MAAM,iBAAiB,QAAS,CAAA,MAAA,CAAO,UAAQ,IAAQ,IAAA,SAAA,CAAU,IAAI,CAAC,CAAA;AACtE,IAAI,IAAA,cAAA,CAAe,SAAS,CAAG,EAAA;AAC7B,MAAMA,MAAAA,aAAAA,GAAe,OAAO,cAAc,CAAA;AAC1C,MAAO,OAAA;AAAA,QACL,QAAUA,EAAAA,aAAAA;AAAA,QACV,QAAA,EAAU,UAAUA,aAAY;AAAA,OAClC;AAAA;AACF;AAGF,EAAA,MAAM,YAAe,GAAA,MAAA,CAAO,MAAO,CAAA,IAAA,CAAK,SAAS,CAAC,CAAA;AAClD,EAAO,OAAA;AAAA,IACL,QAAU,EAAA,YAAA;AAAA,IACV,QAAA,EAAU,UAAU,YAAY;AAAA,GAClC;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.esm.js","sources":["../src/plugin.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createApiFactory,\n createComponentExtension,\n createPlugin,\n createRoutableExtension,\n identityApiRef,\n storageApiRef,\n} from '@backstage/core-plugin-api';\nimport { createCardExtension } from '@backstage/plugin-home-react';\nimport {\n ToolkitContentProps,\n VisitedByTypeProps,\n FeaturedDocsCardProps,\n} from './homePageComponents';\nimport { rootRouteRef } from './routes';\nimport { VisitsStorageApi, visitsApiRef } from './api';\nimport { StarredEntitiesProps } from './homePageComponents/StarredEntities/Content';\n\n/** @public */\nexport const homePlugin = createPlugin({\n id: 'home',\n apis: [\n createApiFactory({\n api: visitsApiRef,\n deps: {\n storageApi: storageApiRef,\n identityApi: identityApiRef,\n },\n factory: ({ storageApi, identityApi }) =>\n VisitsStorageApi.create({ storageApi, identityApi }),\n }),\n ],\n routes: {\n root: rootRouteRef,\n },\n});\n\n/** @public */\nexport const HomepageCompositionRoot = homePlugin.provide(\n createRoutableExtension({\n name: 'HomepageCompositionRoot',\n component: () =>\n import('./components').then(m => m.HomepageCompositionRoot),\n mountPoint: rootRouteRef,\n }),\n);\n\n/** @public */\nexport const ComponentAccordion = homePlugin.provide(\n createComponentExtension({\n name: 'ComponentAccordion',\n component: {\n lazy: () =>\n import('./componentRenderers').then(m => m.ComponentAccordion),\n },\n }),\n);\n\n/** @public */\nexport const ComponentTabs = homePlugin.provide(\n createComponentExtension({\n name: 'ComponentTabs',\n component: {\n lazy: () => import('./componentRenderers').then(m => m.ComponentTabs),\n },\n }),\n);\n\n/** @public */\nexport const ComponentTab = homePlugin.provide(\n createComponentExtension({\n name: 'ComponentTab',\n component: {\n lazy: () => import('./componentRenderers').then(m => m.ComponentTab),\n },\n }),\n);\n\n/**\n * A component to display a playful greeting for the user.\n *\n * @public\n */\nexport const WelcomeTitle = homePlugin.provide(\n createComponentExtension({\n name: 'WelcomeTitle',\n component: {\n lazy: () =>\n import('./homePageComponents/WelcomeTitle').then(m => m.WelcomeTitle),\n },\n }),\n);\n\n/**\n * A component to display a company logo for the user.\n *\n * @public\n */\nexport const HomePageCompanyLogo = homePlugin.provide(\n createComponentExtension({\n name: 'CompanyLogo',\n component: {\n lazy: () =>\n import('./homePageComponents/CompanyLogo').then(m => m.CompanyLogo),\n },\n }),\n);\n\n/** @public */\nexport const HomePageRandomJoke = homePlugin.provide(\n createCardExtension<{ defaultCategory?: 'any' | 'programming' }>({\n name: 'HomePageRandomJoke',\n title: 'Random Joke',\n components: () => import('./homePageComponents/RandomJoke'),\n description: 'Shows a random joke about optional category',\n layout: {\n height: { minRows: 4 },\n width: { minColumns: 3 },\n },\n settings: {\n schema: {\n title: 'Random Joke settings',\n type: 'object',\n properties: {\n defaultCategory: {\n title: 'Category',\n type: 'string',\n enum: ['any', 'programming', 'dad'],\n default: 'any',\n },\n },\n },\n },\n }),\n);\n\n/**\n * A component to display a list of tools for the user.\n *\n * @public\n */\nexport const HomePageToolkit = homePlugin.provide(\n createCardExtension<ToolkitContentProps>({\n name: 'HomePageToolkit',\n title: 'Toolkit',\n components: () => import('./homePageComponents/Toolkit'),\n }),\n);\n\n/**\n * A component to display a list of starred entities for the user.\n *\n * @public\n */\nexport const HomePageStarredEntities = homePlugin.provide(\n createCardExtension<Partial<StarredEntitiesProps>>({\n name: 'HomePageStarredEntities',\n title: 'Your Starred Entities',\n components: () => import('./homePageComponents/StarredEntities'),\n }),\n);\n\n/**\n * A component to display a configurable list of clocks for various time zones.\n *\n * @public\n */\nexport const HeaderWorldClock = homePlugin.provide(\n createComponentExtension({\n name: 'HeaderWorldClock',\n component: {\n lazy: () =>\n import('./homePageComponents/HeaderWorldClock').then(\n m => m.HeaderWorldClock,\n ),\n },\n }),\n);\n\n/**\n * Display top visited pages for the homepage\n * @public\n */\nexport const HomePageTopVisited = homePlugin.provide(\n createCardExtension<Partial<VisitedByTypeProps>>({\n name: 'HomePageTopVisited',\n title: 'Top Visited',\n components: () => import('./homePageComponents/VisitedByType/TopVisited'),\n }),\n);\n\n/**\n * Display recently visited pages for the homepage\n * @public\n */\nexport const HomePageRecentlyVisited = homePlugin.provide(\n createCardExtension<Partial<VisitedByTypeProps>>({\n name: 'HomePageRecentlyVisited',\n title: 'Recently Visited',\n components: () =>\n import('./homePageComponents/VisitedByType/RecentlyVisited'),\n }),\n);\n\n/**\n * A component to display specific Featured Docs.\n *\n * @public\n */\nexport const FeaturedDocsCard = homePlugin.provide(\n createCardExtension<FeaturedDocsCardProps>({\n name: 'FeaturedDocsCard',\n title: 'Featured Docs',\n components: () => import('./homePageComponents/FeaturedDocsCard'),\n }),\n);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.esm.js","sources":["../src/plugin.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n createApiFactory,\n createComponentExtension,\n createPlugin,\n createRoutableExtension,\n identityApiRef,\n storageApiRef,\n} from '@backstage/core-plugin-api';\nimport { createCardExtension } from '@backstage/plugin-home-react';\nimport {\n ToolkitContentProps,\n VisitedByTypeProps,\n FeaturedDocsCardProps,\n} from './homePageComponents';\nimport { rootRouteRef } from './routes';\nimport { VisitsStorageApi, visitsApiRef } from './api';\nimport { StarredEntitiesProps } from './homePageComponents/StarredEntities/Content';\n\n/** @public */\nexport const homePlugin = createPlugin({\n id: 'home',\n apis: [\n createApiFactory({\n api: visitsApiRef,\n deps: {\n storageApi: storageApiRef,\n identityApi: identityApiRef,\n },\n factory: ({ storageApi, identityApi }) =>\n VisitsStorageApi.create({ storageApi, identityApi }),\n }),\n ],\n routes: {\n root: rootRouteRef,\n },\n});\n\n/** @public */\nexport const HomepageCompositionRoot = homePlugin.provide(\n createRoutableExtension({\n name: 'HomepageCompositionRoot',\n component: () =>\n import('./components').then(m => m.HomepageCompositionRoot),\n mountPoint: rootRouteRef,\n }),\n);\n\n/** @public */\nexport const ComponentAccordion = homePlugin.provide(\n createComponentExtension({\n name: 'ComponentAccordion',\n component: {\n lazy: () =>\n import('./componentRenderers').then(m => m.ComponentAccordion),\n },\n }),\n);\n\n/** @public */\nexport const ComponentTabs = homePlugin.provide(\n createComponentExtension({\n name: 'ComponentTabs',\n component: {\n lazy: () => import('./componentRenderers').then(m => m.ComponentTabs),\n },\n }),\n);\n\n/** @public */\nexport const ComponentTab = homePlugin.provide(\n createComponentExtension({\n name: 'ComponentTab',\n component: {\n lazy: () => import('./componentRenderers').then(m => m.ComponentTab),\n },\n }),\n);\n\n/**\n * A component to display a playful greeting for the user.\n *\n * @public\n */\nexport const WelcomeTitle = homePlugin.provide(\n createComponentExtension({\n name: 'WelcomeTitle',\n component: {\n lazy: () =>\n import('./homePageComponents/WelcomeTitle').then(m => m.WelcomeTitle),\n },\n }),\n);\n\n/**\n * A component to display a company logo for the user.\n *\n * @public\n */\nexport const HomePageCompanyLogo = homePlugin.provide(\n createComponentExtension({\n name: 'CompanyLogo',\n component: {\n lazy: () =>\n import('./homePageComponents/CompanyLogo').then(m => m.CompanyLogo),\n },\n }),\n);\n\n/** @public */\nexport const HomePageRandomJoke = homePlugin.provide(\n createCardExtension<{ defaultCategory?: 'any' | 'programming' }>({\n name: 'HomePageRandomJoke',\n title: 'Random Joke',\n components: () => import('./homePageComponents/RandomJoke'),\n description: 'Shows a random joke about optional category',\n layout: {\n height: { minRows: 4 },\n width: { minColumns: 3 },\n },\n settings: {\n schema: {\n title: 'Random Joke settings',\n type: 'object',\n properties: {\n defaultCategory: {\n title: 'Category',\n type: 'string',\n enum: ['any', 'programming', 'dad'],\n default: 'any',\n },\n },\n },\n },\n }),\n);\n\n/**\n * A component to display a list of tools for the user.\n *\n * @public\n */\nexport const HomePageToolkit = homePlugin.provide(\n createCardExtension<ToolkitContentProps>({\n name: 'HomePageToolkit',\n title: 'Toolkit',\n components: () => import('./homePageComponents/Toolkit'),\n }),\n);\n\n/**\n * A component to display a list of starred entities for the user.\n *\n * @public\n */\nexport const HomePageStarredEntities = homePlugin.provide(\n createCardExtension<Partial<StarredEntitiesProps>>({\n name: 'HomePageStarredEntities',\n title: 'Your Starred Entities',\n components: () => import('./homePageComponents/StarredEntities'),\n }),\n);\n\n/**\n * A component to display a configurable list of clocks for various time zones.\n *\n * @public\n */\nexport const HeaderWorldClock = homePlugin.provide(\n createComponentExtension({\n name: 'HeaderWorldClock',\n component: {\n lazy: () =>\n import('./homePageComponents/HeaderWorldClock').then(\n m => m.HeaderWorldClock,\n ),\n },\n }),\n);\n\n/**\n * Display top visited pages for the homepage\n * @public\n */\nexport const HomePageTopVisited = homePlugin.provide(\n createCardExtension<Partial<VisitedByTypeProps>>({\n name: 'HomePageTopVisited',\n title: 'Top Visited',\n components: () => import('./homePageComponents/VisitedByType/TopVisited'),\n }),\n);\n\n/**\n * Display recently visited pages for the homepage\n * @public\n */\nexport const HomePageRecentlyVisited = homePlugin.provide(\n createCardExtension<Partial<VisitedByTypeProps>>({\n name: 'HomePageRecentlyVisited',\n title: 'Recently Visited',\n components: () =>\n import('./homePageComponents/VisitedByType/RecentlyVisited'),\n }),\n);\n\n/**\n * A component to display specific Featured Docs.\n *\n * @public\n */\nexport const FeaturedDocsCard = homePlugin.provide(\n createCardExtension<FeaturedDocsCardProps>({\n name: 'FeaturedDocsCard',\n title: 'Featured Docs',\n components: () => import('./homePageComponents/FeaturedDocsCard'),\n }),\n);\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.esm.js","sources":["../src/routes.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createRouteRef } from '@backstage/core-plugin-api';\n\nexport const rootRouteRef = createRouteRef({\n id: 'home',\n});\n"],"names":[],"mappings":";;AAiBO,MAAM,eAAe,cAAe,CAAA;AAAA,EACzC,EAAI,EAAA,MAAA;AACN,CAAC;;;;"}
1
+ {"version":3,"file":"routes.esm.js","sources":["../src/routes.ts"],"sourcesContent":["/*\n * Copyright 2021 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { createRouteRef } from '@backstage/core-plugin-api';\n\nexport const rootRouteRef = createRouteRef({\n id: 'home',\n});\n"],"names":[],"mappings":";;AAiBO,MAAM,eAAe,cAAe,CAAA;AAAA,EACzC,EAAI,EAAA;AACN,CAAC;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-home",
3
- "version": "0.8.1-next.0",
3
+ "version": "0.8.1-next.2",
4
4
  "description": "A Backstage plugin that helps you build a home page",
5
5
  "backstage": {
6
6
  "role": "frontend-plugin",
@@ -56,17 +56,17 @@
56
56
  "test": "backstage-cli package test"
57
57
  },
58
58
  "dependencies": {
59
- "@backstage/catalog-client": "1.8.0-next.0",
59
+ "@backstage/catalog-client": "1.8.0-next.1",
60
60
  "@backstage/catalog-model": "1.7.0",
61
61
  "@backstage/config": "1.2.0",
62
62
  "@backstage/core-app-api": "1.15.1",
63
- "@backstage/core-compat-api": "0.3.2-next.0",
64
- "@backstage/core-components": "0.16.0-next.0",
63
+ "@backstage/core-compat-api": "0.3.2-next.1",
64
+ "@backstage/core-components": "0.16.0-next.1",
65
65
  "@backstage/core-plugin-api": "1.10.0",
66
- "@backstage/frontend-plugin-api": "0.9.1-next.0",
67
- "@backstage/plugin-catalog-react": "1.14.1-next.0",
68
- "@backstage/plugin-home-react": "0.1.19-next.0",
69
- "@backstage/theme": "0.6.0",
66
+ "@backstage/frontend-plugin-api": "0.9.1-next.1",
67
+ "@backstage/plugin-catalog-react": "1.14.1-next.2",
68
+ "@backstage/plugin-home-react": "0.1.19-next.1",
69
+ "@backstage/theme": "0.6.1-next.0",
70
70
  "@material-ui/core": "^4.12.2",
71
71
  "@material-ui/icons": "^4.9.1",
72
72
  "@material-ui/lab": "4.0.0-alpha.61",
@@ -82,9 +82,9 @@
82
82
  "zod": "^3.22.4"
83
83
  },
84
84
  "devDependencies": {
85
- "@backstage/cli": "0.29.0-next.0",
86
- "@backstage/dev-utils": "1.1.3-next.0",
87
- "@backstage/test-utils": "1.7.0",
85
+ "@backstage/cli": "0.29.0-next.2",
86
+ "@backstage/dev-utils": "1.1.3-next.2",
87
+ "@backstage/test-utils": "1.7.1-next.0",
88
88
  "@testing-library/dom": "^10.0.0",
89
89
  "@testing-library/jest-dom": "^6.0.0",
90
90
  "@testing-library/react": "^16.0.0",