Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Navigation Component #6531

Closed
yelenakreyndel opened this issue Feb 27, 2023 · 8 comments
Closed

Navigation Component #6531

yelenakreyndel opened this issue Feb 27, 2023 · 8 comments
Assignees
Labels
4 - verified Issues that have been released and confirmed resolved. Calcite (dev) Issues logged by Calcite developers. design Issues that need design consultation prior to development. new component Issues tied to a new component. p - high Issue should be addressed in the current milestone, impacts component or core functionality ready for dev Issues ready for development implementation.

Comments

@yelenakreyndel
Copy link

yelenakreyndel commented Feb 27, 2023

Description

Implement Navigation component per design prototype: http://calcite-dev.esri.com:3001/demos/nav.html and spec: https://www.figma.com/file/6GrtrMONiH13kk9DeJtIMd/Design-Specs?node-id=157%3A2032&t=nLLbnXFvznVkZnqR-1

User Stories

High priority for March

Acceptance Criteria

Design specifications and interaction behavior demonstrated in a prototype are followed

Relevant Info

For questions about Navigation component interaction behavior, contact @macandcheese. For Figma spec questions, please contact @ashetland.

Helpful Details

No response

Esri team

Calcite (dev)

@yelenakreyndel yelenakreyndel added new component Issues tied to a new component. 0 - new New issues that need assignment. needs triage Planning workflow - pending design/dev review. labels Feb 27, 2023
@github-actions github-actions bot added the Calcite (dev) Issues logged by Calcite developers. label Feb 27, 2023
@github-actions
Copy link
Contributor

@yelenakreyndel yelenakreyndel added p - high Issue should be addressed in the current milestone, impacts component or core functionality and removed needs triage Planning workflow - pending design/dev review. Calcite (dev) Issues logged by Calcite developers. labels Feb 27, 2023
@yelenakreyndel
Copy link
Author

New issue is created and assigned to @anveshmekala. Cc'ing @jcfranco, @geospatialem, @macandcheese

@brittneytewks brittneytewks added 1 - assigned Issues that are assigned to a sprint and a team member. and removed 0 - new New issues that need assignment. labels Feb 27, 2023
@anveshmekala
Copy link
Contributor

the Figma link attached in the issue is broken. @yelenakreyndel can you update it, Thanks.

@yelenakreyndel
Copy link
Author

@anveshmekala I invited you to the file. Try accessing from email link if this one doesn't work: https://www.figma.com/file/6GrtrMONiH13kk9DeJtIMd/Design-Specs?node-id=157%3A2032&t=nLLbnXFvznVkZnqR-1 (I updated the url in the description as well).

@github-actions github-actions bot added the Calcite (dev) Issues logged by Calcite developers. label Mar 1, 2023
@alisonailea alisonailea changed the title Navigation Component Navigation Component Mar 1, 2023
@brittneytewks brittneytewks added 2 - in development Issues that are actively being worked on. and removed 1 - assigned Issues that are assigned to a sprint and a team member. labels Mar 15, 2023
@geospatialem
Copy link
Member

Reallocated to the April milestone.

macandcheese pushed a commit that referenced this issue Apr 21, 2023
…cal layout (#6827)

**Related Issue:** #6531

## Summary
Add's e2e test for keyboard support in menu for both horizontal and
vertical layout
@geospatialem
Copy link
Member

Migrating to the May milestone for additional testing.

@geospatialem geospatialem added figma changes Issues that require additions or updates to the Figma UI Kit ready for dev Issues ready for development implementation. labels May 5, 2023
anveshmekala added a commit that referenced this issue May 8, 2023
**Related Issue:** #6531 

## Summary
This will add base message bundles to enable translations build process.
anveshmekala added a commit that referenced this issue May 12, 2023
**Related Issue:** #6531 

## Summary

This PR adds `calcite-menu` & `calcite-menu-item` components.

Co-authored by @macandcheese
Extracted from #6829 



##  calcite-nav-menu

<!-- Auto Generated Below -->


### Usage

#### Basic

```html
<calcite-menu> <calcite-menu-item id="Nature" text="Nature"> </calcite-menu-item></calcite-menu>
```



### Properties

| Property | Attribute | Description | Type | Default |
| -------------------- | --------- |
-----------------------------------------------------------------------
| ---------------------------- | -------------- |
| `label` _(required)_ | `label` | Specifies accessible label for the
component. | `string` | `undefined` |
| `layout` | `layout` | Specifies the layout of the component. |
`"horizontal" \| "vertical"` | `"horizontal"` |
| `messageOverrides` | -- | Use this property to override individual
strings used by the component. | `{ more?: string; }` | `undefined` |


## #Methods

### `setFocus() => Promise<void>`

Sets focus on the component's first focusable element.

#### Returns

Type: `Promise<void>`

----------------------------------------------

## calcite-nav-menu-item

<!-- Auto Generated Below -->


### Usage

#### Basic

```html
<calcite-menu> <calcite-menu-item id="Nature" text="Nature"> </calcite-menu-item></calcite-menu>
```


#### Nested-With-Href

Nested SubMenu with href.

```html
<calcite-menu>
  <calcite-menu-item id="Nature" text="Nature" href="#">
    <calcite-menu-item id="Mountains" text="Mountains" slot="sub-menu-item"> </calcite-menu-item>
  </calcite-menu-item>
</calcite-menu>
```



### Properties

| Property | Attribute | Description | Type | Default |
| -------------------- | --------------- |
-----------------------------------------------------------------------------------------------------------
| ---------------------------- | ----------- |
| `active` | `active` | When `true`, the component is highlighted. |
`boolean` | `undefined` |
| `breadcrumb` | `breadcrumb` | When true, the component displays a
visual indication of breadcrumb | `boolean` | `undefined` |
| `href` | `href` | Specifies the URL destination of the component,
which can be set as an absolute or relative path. | `string` |
`undefined` |
| `iconEnd` | `icon-end` | Specifies an icon to display at the end of
the component. | `string` | `undefined` |
| `iconFlipRtl` | `icon-flip-rtl` | Displays the `iconStart` and/or
`iconEnd` as flipped when the element direction is right-to-left
(`"rtl"`). | `"both" \| "end" \| "start"` | `undefined` |
| `iconStart` | `icon-start` | Specifies an icon to display at the start
of the component. | `string` | `undefined` |
| `label` _(required)_ | `label` | Specifices accessible name for the
component. | `string` | `undefined` |
| `open` | `open` | When true, the menu item will display any slotted
`calcite-menu-item` in an open overflow menu | `boolean` | `false` |
| `rel` | `rel` | Defines the relationship between the `href` value and
the current document. | `string` | `undefined` |
| `target` | `target` | Specifies where to open the linked document
defined in the `href` property. | `string` | `undefined` |
| `text` | `text` | Specifies the text to display. | `string` |
`undefined` |


### Events

| Event | Description | Type |
| ----------------------- | -------------------------------------- |
------------------- |
| `calciteMenuItemSelect` | Emits when user selects the component. |
`CustomEvent<void>` |


### Methods

#### `setFocus() => Promise<void>`

Sets focus on the component.

##### Returns

Type: `Promise<void>`


----------------------------------------------

*Built with [StencilJS](https://stenciljs.com/)*

---------

Co-authored-by: Adam <adam@tirel.la>
anveshmekala added a commit that referenced this issue May 22, 2023
…avigation-logo & navigation-user components. (#6873)

**Related Issue:** #6531 

## Summary
This PR adds the following components:

- calcite-navigation
- calcite-navigation-user
- calcite-navigation-logo

Co-authored by @macandcheese 
Extracted from #6829 



## calcite-navigation

<!-- Auto Generated Below -->

### Usage

#### Basic

```html
<calcite-shell>
  <calcite-navigation slot="header">
    <calcite-chip-group slot="content-center">
      <calcite-chip>nav item 1</calcite-chip>
      <calcite-chip>nav item 2</calcite-chip>
      <calcite-chip>nav item 3</calcite-chip>
    </calcite-chip-group>
  </calcite-navigation>
</calcite-shell>
```

### Properties

| Property | Attribute | Description | Type | Default |
| -------------------- | ------------------- |
--------------------------------------------------------------------------------------------------------
| --------- | ----------- |
| `label` _(required)_ | `label` | When `navigationAction` is `true`,
specifies the label of the `calcite-action`. | `string` | `undefined` |
| `navigationAction` | `navigation-action` | When `true`, displays a
`calcite-action` and emits a `calciteNavActionSelect` event on selection
change. | `boolean` | `false` |

### Events

| Event | Description | Type |
| ------------------------------- |
-----------------------------------------------------------------------------------
| ------------------- |
| `calciteNavigationActionSelect` | When `navigationAction` is true,
emits when the displayed action selection changes. | `CustomEvent<void>`
|

### Methods

#### `setFocus() => Promise<void>`

When `navigation-action` is `true`, sets focus on the component's action
element.

##### Returns

Type: `Promise<void>`

### CSS Custom Properties

| Name | Description |
| ----------------------------------- |
---------------------------------------------------- |
| `--calcite-navigation-background` | Specifies the background color of
the component. |
| `--calcite-navigation-border-color` | Specifies the border color of
the component. |
| `--calcite-navigation-width` | Specifies the width of the component's
content area. |

### Dependencies

#### Depends on

- [calcite-action](../action)


----------------------------------------------

## calcite-navigation-logo

<!-- Auto Generated Below -->

### Usage

#### Basic

```html
<calcite-navigation-logo active thumbnail="./_assets/images/esri-logo.svg"></calcite-navigation-user>
```

### Properties

| Property | Attribute | Description | Type | Default |
| ------------- | ------------- |
-----------------------------------------------------------------------------------------------------------------------------------------
| --------- | ----------- |
| `active` | `active` | When true, the component is highlighted. |
`boolean` | `undefined` |
| `description` | `description` | A description for the component, which
displays below the `heading`. | `string` | `undefined` |
| `heading` | `heading` | Specifies heading text for the component, such
as a product or organization name. | `string` | `undefined` |
| `href` | `href` | Specifies the URL destination of the component,
which can be set as an absolute or relative path. | `string` |
`undefined` |
| `label` | `label` | Describes the appearance or function of the
`thumbnail`. If no label is provided, context will not be provided to
assistive technologies. | `string` | `undefined` |
| `rel` | `rel` | Defines the relationship between the `href` value and
the current document. | `string` | `undefined` |
| `target` | `target` | Specifies where to open the linked document
defined in the `href` property. | `string` | `undefined` |
| `thumbnail` | `thumbnail` | Specifies the `src` to an image. |
`string` | `undefined` |

### Methods

#### `setFocus() => Promise<void>`

Sets focus on the component.

##### Returns

Type: `Promise<void>`


----------------------------------------------

## calcite-navigation-user

<!-- Auto Generated Below -->

### Usage

#### Basic

```html
<calcite-navigation-user full-name="Jhon Doe" user-id="Jhon123" active></calcite-navigation-user>
```

### Properties

| Property | Attribute | Description | Type | Default |
| -------------- | --------------- |
------------------------------------------------------------------------------------------------------------------------
| --------- | ----------- |
| `active` | `active` | When true, the component is highlighted. |
`boolean` | `undefined` |
| `fullName` | `full-name` | Specifies the full name of the user. |
`string` | `undefined` |
| `label` | `label` | Describes the appearance of the avatar. If no
label is provided, context will not be provided to assistive
technologies. | `string` | `undefined` |
| `textDisabled` | `text-disabled` | When `true`, hides the `fullName`
and `username` contents. | `boolean` | `false` |
| `thumbnail` | `thumbnail` | Specifies the`src` to an image (remember
to add a token if the user is private). | `string` | `undefined` |
| `userId` | `user-id` | Specifies the unique id of the user. | `string`
| `undefined` |
| `username` | `username` | Specifies the username of the user. |
`string` | `undefined` |

### Methods

#### `setFocus() => Promise<void>`

Sets focus on the component.

##### Returns

Type: `Promise<void>`

### Dependencies

#### Depends on

- [calcite-avatar](../avatar)

---------

Co-authored-by: Adam <adam@tirel.la>
Co-authored-by: Adam Tirella <macandcheese@users.noreply.github.com>
@anveshmekala anveshmekala added 3 - installed Issues that have been merged to master branch and are ready for final confirmation. and removed 2 - in development Issues that are actively being worked on. labels May 22, 2023
@github-actions
Copy link
Contributor

Installed and assigned for verification.

@geospatialem geospatialem added 4 - verified Issues that have been released and confirmed resolved. and removed 3 - installed Issues that have been merged to master branch and are ready for final confirmation. labels May 22, 2023
@geospatialem
Copy link
Member

Verified on master with nav-logo, nav-user, menu and menu-item.

cc @ashetland @SkyeSeitz for Figma changes.

@SkyeSeitz SkyeSeitz removed the figma changes Issues that require additions or updates to the Figma UI Kit label Oct 27, 2023
@brittneytewks brittneytewks added the design Issues that need design consultation prior to development. label Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4 - verified Issues that have been released and confirmed resolved. Calcite (dev) Issues logged by Calcite developers. design Issues that need design consultation prior to development. new component Issues tied to a new component. p - high Issue should be addressed in the current milestone, impacts component or core functionality ready for dev Issues ready for development implementation.
Projects
None yet
Development

No branches or pull requests

7 participants