Add DateTimeInput to planner
The user can now enter a due date and time. refs ADMIN-297 test plan: - load the planner - create a new to do > expect the time to default to 11:59pm - save > expect the due time of 11:59 to be shown in the planner - edit the item, change the time, save > expect the new time to show up in the planner - edit the item, delete the date, tab out of the date text box > expect a "you must provide a date and time" error message > expect the Save button to be disabled - pick a date > expect the error message to go away - save > expect the to do to be in the planner at the given date and time Change-Id: I6759cca675b59acfc200574a1e313f75e1cfda2e Reviewed-on: https://gerrit.instructure.com/145147 Tested-by: Jenkins Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com> QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com> Product-Review: Christi Wruck
This commit is contained in:
parent
b7757849e1
commit
77935f7a54
|
@ -12,7 +12,7 @@
|
|||
"@instructure/ui-core": "^4.8.0",
|
||||
"@instructure/ui-menu": "^5.0.1",
|
||||
"@instructure/ui-overlays": "^5.0.1",
|
||||
"@instructure/ui-themeable": "^4.8.0",
|
||||
"@instructure/ui-themeable": "^5.4.0",
|
||||
"@instructure/ui-themes": "^5.0.1",
|
||||
"apollo-boost": "^0.1.4",
|
||||
"axios": "^0.16.0",
|
||||
|
@ -193,6 +193,7 @@
|
|||
"upgrade-and-dedupe": "rm -rf yarn.lock node_modules && yes 1 | yarn install --flat --production && git checkout package.json && yarn install && git add yarn.lock && git commit -m 'update npm deps'"
|
||||
},
|
||||
"resolutions": {
|
||||
"jquery": "https://github.com/ryankshaw/jquery.git#a755a3e9c99d5a70d8ea570836f94ae1ba56046d"
|
||||
"jquery": "https://github.com/ryankshaw/jquery.git#a755a3e9c99d5a70d8ea570836f94ae1ba56046d",
|
||||
"moment": "2.10.6"
|
||||
}
|
||||
}
|
|
@ -41,8 +41,9 @@
|
|||
"license": "AGPL-3.0",
|
||||
"dependencies": {
|
||||
"@instructure/ui-core": "^4.8.0",
|
||||
"@instructure/ui-forms": "5.4.1-dev.0",
|
||||
"@instructure/ui-themeable": "^5.4.0",
|
||||
"@instructure/ui-toggle-details": "^5.0.0",
|
||||
"@instructure/ui-forms": "^5.2.0",
|
||||
"axios": "^0.16.0",
|
||||
"babel-plugin-inline-react-svg": "^0.4.0",
|
||||
"change-case": "^3.0.1",
|
||||
|
@ -54,7 +55,6 @@
|
|||
"instructure-icons": "^4.3.0",
|
||||
"keycode": "^2.1.9",
|
||||
"lodash": "^4",
|
||||
"moment": "^2.22.0",
|
||||
"moment-timezone": "^0.5.13",
|
||||
"parse-link-header": "^1.0.1",
|
||||
"prop-types": "^15.5.9",
|
||||
|
@ -100,6 +100,9 @@
|
|||
"npm-run-all": "^4",
|
||||
"webpack": "^3"
|
||||
},
|
||||
"resolutions": {
|
||||
"moment": "2.10.6"
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.js": "eslint"
|
||||
}
|
||||
|
|
|
@ -28,6 +28,8 @@ jest.mock('../../utilities/apiUtils', () => ({
|
|||
transformPlannerNoteApiToInternalItem: jest.fn(response => ({...response, transformedToInternal: true}))
|
||||
}));
|
||||
|
||||
const simpleItem = opts => Object.assign({some: 'data', date: moment('2018-03-28T13:14:00-04:00')}, opts);
|
||||
|
||||
const getBasicState = () => ({
|
||||
courses: [],
|
||||
groups: [],
|
||||
|
@ -241,7 +243,7 @@ describe('api actions', () => {
|
|||
describe('savePlannerItem', () => {
|
||||
it('dispatches saving and saved actions', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
const plannerItem = {some: 'data'};
|
||||
const plannerItem = simpleItem();
|
||||
const savePromise = Actions.savePlannerItem(plannerItem)(mockDispatch, getBasicState);
|
||||
expect(isPromise(savePromise)).toBe(true);
|
||||
expect(mockDispatch).toHaveBeenCalledWith({type: 'SAVING_PLANNER_ITEM', payload: {item: plannerItem, isNewItem: true}});
|
||||
|
@ -250,7 +252,7 @@ describe('api actions', () => {
|
|||
|
||||
it('sets isNewItem to false if the item id exists', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
const plannerItem = {some: 'data', id: '42'};
|
||||
const plannerItem = simpleItem({id: '42'});
|
||||
const savePromise = Actions.savePlannerItem(plannerItem)(mockDispatch, getBasicState);
|
||||
expect(isPromise(savePromise)).toBe(true);
|
||||
expect(mockDispatch).toHaveBeenCalledWith({type: 'SAVING_PLANNER_ITEM', payload: {item: plannerItem, isNewItem: false}});
|
||||
|
@ -259,7 +261,7 @@ describe('api actions', () => {
|
|||
|
||||
it('sends transformed data in the request', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
const plannerItem = {some: 'data'};
|
||||
const plannerItem = simpleItem();
|
||||
Actions.savePlannerItem(plannerItem)(mockDispatch, getBasicState);
|
||||
return moxiosWait(request => {
|
||||
expect(JSON.parse(request.config.data)).toMatchObject({some: 'data', transformedToApi: true});
|
||||
|
@ -268,7 +270,7 @@ describe('api actions', () => {
|
|||
|
||||
it('resolves the promise with transformed response data', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
const plannerItem = {some: 'data'};
|
||||
const plannerItem = simpleItem();
|
||||
const savePromise = Actions.savePlannerItem(plannerItem)(mockDispatch, getBasicState);
|
||||
return moxiosRespond(
|
||||
{ some: 'response data' },
|
||||
|
@ -282,8 +284,8 @@ describe('api actions', () => {
|
|||
});
|
||||
|
||||
it('does a post if the planner item is new (no id)', () => {
|
||||
const plannerItem = {some: 'data'};
|
||||
Actions.savePlannerItem(plannerItem)(() => {});
|
||||
const plannerItem = simpleItem();
|
||||
Actions.savePlannerItem(plannerItem)(() => {}, () => {return {timeZone: 'America/Halifax'};});
|
||||
return moxiosWait((request) => {
|
||||
expect(request.config.method).toBe('post');
|
||||
expect(request.url).toBe('api/v1/planner_notes');
|
||||
|
@ -291,20 +293,24 @@ describe('api actions', () => {
|
|||
});
|
||||
});
|
||||
|
||||
it('does set default time of 11:59 pm for planner date', () => {
|
||||
const plannerItem = {date: moment('2017-06-22T10:05:54').tz("Atlantic/Azores").toISOString()};
|
||||
Actions.savePlannerItem(plannerItem)(() => {});
|
||||
it('does set default time of 11:59 pm for planner date at midnight', () => {
|
||||
const TZ = "Atlantic/Azores";
|
||||
const plannerItem = simpleItem({date: moment.tz(TZ).startOf('day').toISOString()});
|
||||
Actions.savePlannerItem(plannerItem)(() => {}, () => {return {timeZone: TZ};});
|
||||
return moxiosWait((request) => {
|
||||
expect(request.config.method).toBe('post');
|
||||
expect(request.url).toBe('api/v1/planner_notes');
|
||||
expect(JSON.parse(request.config.data).transformedToApi).toBeTruthy();
|
||||
expect(moment(JSON.parse(request.config.data).date).tz("Atlantic/Azores").toISOString()).toBe(moment('2017-06-22T23:59:59').tz("Atlantic/Azores").toISOString());
|
||||
const result = moment(JSON.parse(request.config.data).date).tz(TZ);
|
||||
expect(result.hours()).toEqual(23);
|
||||
expect(result.minutes()).toEqual(59);
|
||||
expect(result.seconds()).toEqual(59);
|
||||
});
|
||||
});
|
||||
|
||||
it('does a put if the planner item exists (has id)', () => {
|
||||
const plannerItem = {id: '42', some: 'data'};
|
||||
Actions.savePlannerItem(plannerItem, )(() => {});
|
||||
const plannerItem = simpleItem({id: '42'});
|
||||
Actions.savePlannerItem(plannerItem, )(() => {}, () => {return {timeZone: 'America/Halifax'};});
|
||||
return moxiosWait((request) => {
|
||||
expect(request.config.method).toBe('put');
|
||||
expect(request.url).toBe('api/v1/planner_notes/42');
|
||||
|
@ -319,7 +325,7 @@ describe('api actions', () => {
|
|||
visualErrorCallback: fakeAlert
|
||||
});
|
||||
|
||||
const plannerItem = {some: 'data'};
|
||||
const plannerItem = simpleItem();
|
||||
const savePromise = Actions.savePlannerItem(plannerItem)(mockDispatch, getBasicState);
|
||||
return moxiosRespond(
|
||||
{ some: 'response data' },
|
||||
|
@ -333,7 +339,7 @@ describe('api actions', () => {
|
|||
it('saves and restores the override data', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
// a planner item with override data
|
||||
const plannerItem = {some: 'data', id: '42', overrideId: '17', completed: true};
|
||||
const plannerItem = simpleItem({id: '42', overrideId: '17', completed: true});
|
||||
const savePromise = Actions.savePlannerItem(plannerItem)(mockDispatch, getBasicState);
|
||||
return moxiosRespond(
|
||||
{some: 'data', id: '42'}, // notice the response has no override data
|
||||
|
@ -358,7 +364,7 @@ describe('api actions', () => {
|
|||
describe('deletePlannerItem', () => {
|
||||
it('dispatches deleting and deleted actions', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
const plannerItem = {some: 'data'};
|
||||
const plannerItem = simpleItem();
|
||||
const deletePromise = Actions.deletePlannerItem(plannerItem)(mockDispatch, getBasicState);
|
||||
expect(isPromise(deletePromise)).toBe(true);
|
||||
expect(mockDispatch).toHaveBeenCalledWith({type: 'DELETING_PLANNER_ITEM', payload: plannerItem});
|
||||
|
@ -366,7 +372,7 @@ describe('api actions', () => {
|
|||
});
|
||||
|
||||
it('sends a delete request for the item id', () => {
|
||||
const plannerItem = {id: '42', some: 'data'};
|
||||
const plannerItem = simpleItem({id: '42'});
|
||||
Actions.deletePlannerItem(plannerItem, )(() => {});
|
||||
return moxiosWait((request) => {
|
||||
expect(request.config.method).toBe('delete');
|
||||
|
@ -376,7 +382,7 @@ describe('api actions', () => {
|
|||
|
||||
it('resolves the promise with transformed response data', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
const plannerItem = {some: 'data'};
|
||||
const plannerItem = simpleItem();
|
||||
const deletePromise = Actions.deletePlannerItem(plannerItem)(mockDispatch, getBasicState);
|
||||
return moxiosRespond(
|
||||
{ some: 'response data' },
|
||||
|
@ -393,7 +399,7 @@ describe('api actions', () => {
|
|||
visualErrorCallback: fakeAlert
|
||||
});
|
||||
|
||||
const plannerItem = { some: 'data' };
|
||||
const plannerItem = simpleItem();
|
||||
const deletePromise = Actions.deletePlannerItem(plannerItem)(mockDispatch, getBasicState);
|
||||
return moxiosRespond(
|
||||
{ some: 'response data' },
|
||||
|
@ -408,7 +414,7 @@ describe('api actions', () => {
|
|||
describe('togglePlannerItemCompletion', () => {
|
||||
it('dispatches saving and saved actions', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
const plannerItem = {some: 'data'};
|
||||
const plannerItem = simpleItem();
|
||||
const savingItem = {...plannerItem, show: true, toggleAPIPending: true};
|
||||
const savePromise = Actions.togglePlannerItemCompletion(plannerItem)(mockDispatch, getBasicState);
|
||||
expect(isPromise(savePromise)).toBe(true);
|
||||
|
@ -418,7 +424,7 @@ describe('api actions', () => {
|
|||
|
||||
it ('updates marked_complete and sends override data in the request', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
const plannerItem = {some: 'data', marked_complete: null};
|
||||
const plannerItem = simpleItem({marked_complete: null});
|
||||
Actions.togglePlannerItemCompletion(plannerItem)(mockDispatch, getBasicState);
|
||||
return moxiosWait(request => {
|
||||
expect(JSON.parse(request.config.data)).toMatchObject({marked_complete: true, transformedToApiOverride: true});
|
||||
|
@ -427,7 +433,7 @@ describe('api actions', () => {
|
|||
|
||||
it('does a post if the planner override is new (no id)', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
const plannerItem = {id: '42', some: 'data'};
|
||||
const plannerItem = simpleItem({id: '42'});
|
||||
Actions.togglePlannerItemCompletion(plannerItem)(mockDispatch, getBasicState);
|
||||
return moxiosWait((request) => {
|
||||
expect(request.config.method).toBe('post');
|
||||
|
@ -438,7 +444,7 @@ describe('api actions', () => {
|
|||
|
||||
it('does a put if the planner override exists (has id)', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
const plannerItem = {id: '42', some: 'data', planner_override: {id: '5', marked_complete: true}};
|
||||
const plannerItem = simpleItem({id: '42', planner_override: {id: '5', marked_complete: true}});
|
||||
Actions.togglePlannerItemCompletion(plannerItem)(mockDispatch, getBasicState);
|
||||
return moxiosWait((request) => {
|
||||
expect(request.config.method).toBe('put');
|
||||
|
@ -449,7 +455,7 @@ describe('api actions', () => {
|
|||
|
||||
it ('resolves the promise with override response data in the item', () => {
|
||||
const mockDispatch = jest.fn();
|
||||
const plannerItem = {some: 'data', planner_override: {id: 'override_id', marked_complete: true}};
|
||||
const plannerItem = simpleItem({planner_override: {id: 'override_id', marked_complete: true}});
|
||||
const togglePromise = Actions.togglePlannerItemCompletion(plannerItem)(mockDispatch, getBasicState);
|
||||
return moxiosRespond(
|
||||
{some: 'response data', id: 'override_id', marked_complete: false },
|
||||
|
|
|
@ -17,11 +17,11 @@
|
|||
*/
|
||||
import { createActions } from 'redux-actions';
|
||||
import axios from 'axios';
|
||||
import moment from 'moment-timezone';
|
||||
import configureAxios from '../utilities/configureAxios';
|
||||
import { alert } from '../utilities/alertUtils';
|
||||
import formatMessage from '../format-message';
|
||||
import parseLinkHeader from 'parse-link-header';
|
||||
import { makeEndOfDayIfMidnight } from '../utilities/dateUtils';
|
||||
|
||||
import {
|
||||
transformInternalToApiItem,
|
||||
|
@ -146,9 +146,10 @@ export const dismissOpportunity = (id, plannerOverride) => {
|
|||
};
|
||||
|
||||
export const savePlannerItem = (plannerItem) => {
|
||||
plannerItem.date = moment(plannerItem.date).endOf('day').format('YYYY-MM-DDTHH:mm:ssZ');
|
||||
|
||||
return (dispatch, getState) => {
|
||||
plannerItem.date = makeEndOfDayIfMidnight(plannerItem.date, getState().timeZone);
|
||||
plannerItem.date = plannerItem.date.toISOString();
|
||||
|
||||
const isNewItem = !plannerItem.id;
|
||||
const overrideData = getOverrideDataOnItem(plannerItem);
|
||||
dispatch(savingPlannerItem({item: plannerItem, isNewItem}));
|
||||
|
|
|
@ -125,8 +125,7 @@ export class PlannerItem extends Component {
|
|||
}
|
||||
|
||||
renderDateField = () => {
|
||||
if (this.props.date &&
|
||||
this.props.associated_item !== "To Do") {
|
||||
if (this.props.date) {
|
||||
|
||||
if (this.props.associated_item === "Announcement") {
|
||||
return this.props.date.format("LT");
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
import moment from 'moment-timezone';
|
||||
import React from 'react';
|
||||
import { shallow, mount } from 'enzyme';
|
||||
import UpdateItemTray from '../index';
|
||||
import { UpdateItemTray } from '../index';
|
||||
|
||||
const defaultProps = {
|
||||
onSavePlannerItem: () => {},
|
||||
|
@ -28,10 +28,16 @@ const defaultProps = {
|
|||
courses: [],
|
||||
};
|
||||
|
||||
const simpleItem = (opts = {}) => Object.assign({title: '', date: moment('2017-04-28T11:00:00Z')}, opts);
|
||||
|
||||
afterEach(()=> {
|
||||
jest.restoreAllMocks();
|
||||
});
|
||||
|
||||
it('renders the item to update if provided', () => {
|
||||
const noteItem = {
|
||||
title: 'Planner Item',
|
||||
date: '2017-04-25 01:49:00-0700',
|
||||
date: moment('2017-04-25 01:49:00-0700'),
|
||||
context: {id: '1'},
|
||||
details: "You made this item to remind you of something, but you forgot what."
|
||||
};
|
||||
|
@ -44,11 +50,11 @@ it('renders the item to update if provided', () => {
|
|||
});
|
||||
|
||||
it("doesn't re-render unless new item is provided", () => {
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} />)
|
||||
const newProps = {...defaultProps, locale: 'fr'}
|
||||
wrapper.setProps(newProps)
|
||||
expect(wrapper.find('DateInput').props()['messages'].length).toBe(0)
|
||||
})
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} />);
|
||||
const newProps = {...defaultProps, locale: 'fr'};
|
||||
wrapper.setProps(newProps);
|
||||
expect(wrapper.find('DateTimeInput').props()['messages'].length).toBe(0);
|
||||
});
|
||||
|
||||
it('renders Add To Do header when creating a new to do', () => {
|
||||
const wrapper = mount(
|
||||
|
@ -78,43 +84,44 @@ it('shows details inputs', () => {
|
|||
});
|
||||
|
||||
it('disables the save button when title is empty', () => {
|
||||
const item = { title: '', date: '2017-04-28' };
|
||||
const item = simpleItem();
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} noteItem={item} />);
|
||||
const button = wrapper.find('Button[variant="primary"]');
|
||||
expect(button.props().disabled).toBe(true);
|
||||
});
|
||||
|
||||
it('handles courseid being none', () => {
|
||||
const item = { title: '', date: '2017-04-28' };
|
||||
const item = simpleItem();
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} noteItem={item} />);
|
||||
wrapper.instance().handleCourseIdChange({target: {value: 'none'}});
|
||||
expect(wrapper.instance().state.updates.courseId).toBe(undefined);
|
||||
});
|
||||
|
||||
it('correctly updates id to null when courseid is none', () => {
|
||||
const item = { title: '', date: '2017-04-28' };
|
||||
const item = simpleItem();
|
||||
const mockCallback = jest.fn();
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} onSavePlannerItem={mockCallback} noteItem={item} />);
|
||||
wrapper.instance().handleCourseIdChange({target: {value: 'none'}});
|
||||
wrapper.instance().handleSave();
|
||||
expect(mockCallback).toHaveBeenCalledWith({
|
||||
title: item.title,
|
||||
date: item.date,
|
||||
date: item.date.toISOString(),
|
||||
context: {
|
||||
id: null
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it('sets default date when no date is provided', () => {
|
||||
it('sets default datetime to 11:50pm today when no date is provided', () => {
|
||||
const now = moment.tz(defaultProps.timeZone).endOf('day');
|
||||
const item = { title: 'an item', date: '' };
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} noteItem={item} />);
|
||||
const datePicker = wrapper.find('DateInput');
|
||||
expect(!datePicker.props().dateValue.length).toBe(false);
|
||||
const datePicker = wrapper.find('DateTimeInput');
|
||||
expect(datePicker.props().value).toEqual(now.toISOString());
|
||||
});
|
||||
|
||||
it('enables the save button when title and date are present', () => {
|
||||
const item = { title: 'an item', date: '2017-04-28' };
|
||||
const item = simpleItem({ title: 'an item' });
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} noteItem={item} />);
|
||||
const button = wrapper.find('Button[variant="primary"]');
|
||||
expect(button.props().disabled).toBe(false);
|
||||
|
@ -151,7 +158,7 @@ xit('does not set an initial error message on date', () => {
|
|||
});
|
||||
|
||||
xit('sets error message on date field when date is set to blank', () => {
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} noteItem={{date: '2017-04-28'}} />);
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} noteItem={simpleItem()} />);
|
||||
wrapper.instance().handleDateChange({target: {value: ''}});
|
||||
const dateInput = wrapper.find('TextInput').at(1);
|
||||
const messages = dateInput.props().messages;
|
||||
|
@ -160,7 +167,7 @@ xit('sets error message on date field when date is set to blank', () => {
|
|||
});
|
||||
|
||||
xit('clears the error message when a date is typed in', () => {
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} noteItem={{date: '2017-04-28'}} />);
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} noteItem={simpleItem()} />);
|
||||
wrapper.instance().handleTitleChange({target: {value: ''}});
|
||||
wrapper.instance().handleTitleChange({target: {value: '2'}});
|
||||
const dateInput = wrapper.find('TextInput').at(1);
|
||||
|
@ -168,50 +175,43 @@ xit('clears the error message when a date is typed in', () => {
|
|||
});
|
||||
|
||||
it('respects the provided timezone', () => {
|
||||
const item = { title: '', date: '2017-04-25 12:00:00-0300' };
|
||||
const item = simpleItem({date: moment('2017-04-25 12:00:00-0300')});
|
||||
const wrapper = mount(<UpdateItemTray {...defaultProps} noteItem={item} />);
|
||||
const d = wrapper.find('DateInput').find('TextInput').props().value;
|
||||
expect(d).toEqual('April 26, 2017'); // timezone shift from -3 to +9 pushes it to the next day
|
||||
});
|
||||
|
||||
it('changes state when new date is typed in', () => {
|
||||
const noteItem = {
|
||||
title: 'Planner Item',
|
||||
date: '2017-04-25',
|
||||
};
|
||||
const noteItem = simpleItem({title: 'Planner Item'});
|
||||
const mockCallback = jest.fn();
|
||||
const wrapper = mount(<UpdateItemTray {...defaultProps} onSavePlannerItem={mockCallback} noteItem={noteItem} />);
|
||||
const newDate = moment('2017-10-16');
|
||||
const newDate = moment('2017-10-16T13:30:00');
|
||||
wrapper.instance().handleDateChange({}, newDate.toISOString());
|
||||
wrapper.instance().handleSave();
|
||||
expect(mockCallback).toHaveBeenCalledWith({
|
||||
title: noteItem.title,
|
||||
date: newDate.toISOString(),
|
||||
context: {
|
||||
id: null
|
||||
}
|
||||
context: {id: null}
|
||||
});
|
||||
});
|
||||
|
||||
it('updates state when new note is passed in', () => {
|
||||
const noteItem1 = {
|
||||
const noteItem1 = simpleItem({
|
||||
title: 'Planner Item 1',
|
||||
date: '2017-04-25',
|
||||
context: {id: '1'},
|
||||
details: "You made this item to remind you of something, but you forgot what."
|
||||
};
|
||||
});
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps} noteItem={noteItem1} courses={[
|
||||
{id: '1', longName: 'first course'},
|
||||
{id: '2', longName: 'second course'},
|
||||
]}/>);
|
||||
expect(wrapper).toMatchSnapshot();
|
||||
|
||||
const noteItem2 = {
|
||||
const noteItem2 = simpleItem({
|
||||
title: 'Planner Item 2',
|
||||
date: '2017-12-25',
|
||||
context: {id: '2'},
|
||||
details: "This is another reminder"
|
||||
};
|
||||
});
|
||||
wrapper.setProps({noteItem: noteItem2});
|
||||
expect(wrapper).toMatchSnapshot();
|
||||
});
|
||||
|
@ -247,29 +247,38 @@ it('invokes save callback with updated data', () => {
|
|||
const saveMock = jest.fn();
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps}
|
||||
noteItem={{
|
||||
title: 'title', date: '2017-04-27', courseId: '42', details: 'details',
|
||||
title: 'title', date: moment('2017-04-27T13:00:00Z'), courseId: '42', details: 'details',
|
||||
}}
|
||||
courses={[{id: '42', longName: 'first'}, {id: '43', longName: 'second'}]}
|
||||
onSavePlannerItem={saveMock}
|
||||
/>);
|
||||
wrapper.instance().handleTitleChange({target: {value: 'new title'}});
|
||||
wrapper.instance().handleDateChange({}, '2017-05-01');
|
||||
wrapper.instance().handleDateChange({}, '2017-05-01T14:00:00Z');
|
||||
wrapper.instance().handleCourseIdChange({target: {value: '43'}});
|
||||
wrapper.instance().handleChange('details', 'new details');
|
||||
wrapper.instance().handleSave();
|
||||
expect(saveMock).toHaveBeenCalledWith({
|
||||
title: 'new title', date: moment('2017-05-01').toISOString(), context: {id: '43'}, details: 'new details',
|
||||
title: 'new title', date: moment('2017-05-01T14:00:00Z').toISOString(), context: {id: '43'}, details: 'new details',
|
||||
});
|
||||
});
|
||||
|
||||
it('invokes the delete callback', () => {
|
||||
const item = simpleItem({title: 'a title'});
|
||||
const mockDelete = jest.fn();
|
||||
const wrapper = shallow(<UpdateItemTray {...defaultProps}
|
||||
noteItem={{title: 'a title'}}
|
||||
noteItem={item}
|
||||
onDeletePlannerItem={mockDelete} />);
|
||||
const confirmSpy = jest.spyOn(window, 'confirm').mockReturnValue(true);
|
||||
wrapper.instance().handleDeleteClick();
|
||||
expect(confirmSpy).toHaveBeenCalled();
|
||||
expect(mockDelete).toHaveBeenCalledWith({title: 'a title'});
|
||||
confirmSpy.mockRestore();
|
||||
expect(mockDelete).toHaveBeenCalledWith(item);
|
||||
});
|
||||
|
||||
it('invokes invalidDateTimeMessage when an invalid date is entered', () => {
|
||||
const invalidCallbackSpy = jest.spyOn(UpdateItemTray.prototype, 'invalidDateTimeMessage');
|
||||
const wrapper = mount(<UpdateItemTray {...defaultProps} />);
|
||||
const dateInput = wrapper.find('DateInput').find('input');
|
||||
dateInput.simulate('change', {target: {value: 'xxxxx'}});
|
||||
dateInput.simulate('blur');
|
||||
expect(invalidCallbackSpy).toHaveBeenCalled();
|
||||
});
|
||||
|
|
|
@ -36,27 +36,30 @@ exports[`renders the item to update if provided 1`] = `
|
|||
type="text"
|
||||
value="Planner Item"
|
||||
/>
|
||||
<DateInput
|
||||
datePickerRef={[Function]}
|
||||
dateValue="2017-04-25 01:49:00-0700"
|
||||
<DateTimeInput
|
||||
dateLabel="Date"
|
||||
dateNextLabel="Next Month"
|
||||
datePreviousLabel="Previous Month"
|
||||
description={
|
||||
<ScreenReaderContent
|
||||
as="span"
|
||||
>
|
||||
The date and time this to do is due
|
||||
</ScreenReaderContent>
|
||||
}
|
||||
disabled={false}
|
||||
format="LL"
|
||||
inline={false}
|
||||
inputRef={[Function]}
|
||||
invalidDateMessage={[Function]}
|
||||
label="Date"
|
||||
invalidDateTimeMessage={[Function]}
|
||||
layout="stacked"
|
||||
locale="en"
|
||||
messageFormat="LLL"
|
||||
messages={Array []}
|
||||
nextLabel="Next Month"
|
||||
onDateChange={[Function]}
|
||||
placement="start"
|
||||
previousLabel="Previous Month"
|
||||
onChange={[Function]}
|
||||
readOnly={false}
|
||||
required={true}
|
||||
size="medium"
|
||||
timeLabel="Time"
|
||||
timeStep={30}
|
||||
timezone="Asia/Tokyo"
|
||||
validationFeedback={true}
|
||||
value="2017-04-25T08:49:00.000Z"
|
||||
/>
|
||||
<Select
|
||||
disabled={false}
|
||||
|
@ -168,27 +171,30 @@ exports[`updates state when new note is passed in 1`] = `
|
|||
type="text"
|
||||
value="Planner Item 1"
|
||||
/>
|
||||
<DateInput
|
||||
datePickerRef={[Function]}
|
||||
dateValue="2017-04-25"
|
||||
<DateTimeInput
|
||||
dateLabel="Date"
|
||||
dateNextLabel="Next Month"
|
||||
datePreviousLabel="Previous Month"
|
||||
description={
|
||||
<ScreenReaderContent
|
||||
as="span"
|
||||
>
|
||||
The date and time this to do is due
|
||||
</ScreenReaderContent>
|
||||
}
|
||||
disabled={false}
|
||||
format="LL"
|
||||
inline={false}
|
||||
inputRef={[Function]}
|
||||
invalidDateMessage={[Function]}
|
||||
label="Date"
|
||||
invalidDateTimeMessage={[Function]}
|
||||
layout="stacked"
|
||||
locale="en"
|
||||
messageFormat="LLL"
|
||||
messages={Array []}
|
||||
nextLabel="Next Month"
|
||||
onDateChange={[Function]}
|
||||
placement="start"
|
||||
previousLabel="Previous Month"
|
||||
onChange={[Function]}
|
||||
readOnly={false}
|
||||
required={true}
|
||||
size="medium"
|
||||
timeLabel="Time"
|
||||
timeStep={30}
|
||||
timezone="Asia/Tokyo"
|
||||
validationFeedback={true}
|
||||
value="2017-04-28T11:00:00.000Z"
|
||||
/>
|
||||
<Select
|
||||
disabled={false}
|
||||
|
@ -305,27 +311,30 @@ exports[`updates state when new note is passed in 2`] = `
|
|||
type="text"
|
||||
value="Planner Item 2"
|
||||
/>
|
||||
<DateInput
|
||||
datePickerRef={[Function]}
|
||||
dateValue="2017-12-25"
|
||||
<DateTimeInput
|
||||
dateLabel="Date"
|
||||
dateNextLabel="Next Month"
|
||||
datePreviousLabel="Previous Month"
|
||||
description={
|
||||
<ScreenReaderContent
|
||||
as="span"
|
||||
>
|
||||
The date and time this to do is due
|
||||
</ScreenReaderContent>
|
||||
}
|
||||
disabled={false}
|
||||
format="LL"
|
||||
inline={false}
|
||||
inputRef={[Function]}
|
||||
invalidDateMessage={[Function]}
|
||||
label="Date"
|
||||
invalidDateTimeMessage={[Function]}
|
||||
layout="stacked"
|
||||
locale="en"
|
||||
messageFormat="LLL"
|
||||
messages={Array []}
|
||||
nextLabel="Next Month"
|
||||
onDateChange={[Function]}
|
||||
placement="start"
|
||||
previousLabel="Previous Month"
|
||||
onChange={[Function]}
|
||||
readOnly={false}
|
||||
required={true}
|
||||
size="medium"
|
||||
timeLabel="Time"
|
||||
timeStep={30}
|
||||
timezone="Asia/Tokyo"
|
||||
validationFeedback={true}
|
||||
value="2017-04-28T11:00:00.000Z"
|
||||
/>
|
||||
<Select
|
||||
disabled={false}
|
||||
|
|
|
@ -27,7 +27,7 @@ import PropTypes from 'prop-types';
|
|||
import TextInput from '@instructure/ui-core/lib/components/TextInput';
|
||||
import Select from '@instructure/ui-core/lib/components/Select';
|
||||
import TextArea from '@instructure/ui-core/lib/components/TextArea';
|
||||
import DateInput from '@instructure/ui-forms/lib/components/DateInput';
|
||||
import DateTimeInput from '@instructure/ui-forms/lib/components/DateTimeInput';
|
||||
import moment from 'moment-timezone';
|
||||
|
||||
import { courseShape } from '../plannerPropTypes';
|
||||
|
@ -48,7 +48,11 @@ export class UpdateItemTray extends Component {
|
|||
super(props);
|
||||
const updates = this.getNoteUpdates(props);
|
||||
if (!updates.date) {
|
||||
updates.date = props.noteItem && props.noteItem.date ? props.noteItem.date : moment.tz(props.timeZone).toISOString();
|
||||
if (props.noteItem && props.noteItem.date) {
|
||||
updates.date = props.noteItem.date;
|
||||
} else {
|
||||
updates.date = moment.tz(props.timeZone).endOf('day');
|
||||
}
|
||||
}
|
||||
this.state = {
|
||||
updates,
|
||||
|
@ -88,6 +92,7 @@ export class UpdateItemTray extends Component {
|
|||
} else {
|
||||
updates.context = { id: null };
|
||||
}
|
||||
updates.date = updates.date.toISOString();
|
||||
delete updates.courseId;
|
||||
this.props.onSavePlannerItem(updates);
|
||||
}
|
||||
|
@ -119,11 +124,24 @@ export class UpdateItemTray extends Component {
|
|||
this.handleChange('title', value);
|
||||
}
|
||||
|
||||
handleDateChange = (e, date) => {
|
||||
const value = date ? moment(date).toISOString() : ''; // works if date is a moment obj (instui 3) or iso string (instui 4)
|
||||
this.handleChange('date', value);
|
||||
handleDateChange = (e, isoDate) => {
|
||||
const value = isoDate || '';
|
||||
this.handleChange('date', moment.tz(value, this.props.timeZone));
|
||||
}
|
||||
|
||||
invalidDateTimeMessage (rawDateValue, rawTimeValue) {
|
||||
let errmsg;
|
||||
if (rawDateValue) {
|
||||
errmsg = formatMessage("#{date} is not a valid date.", {date: rawDateValue});
|
||||
} else {
|
||||
errmsg = formatMessage('You must provide a date and time.');
|
||||
}
|
||||
return errmsg;
|
||||
}
|
||||
// separating the function from the bound callback is necessary so I can spy
|
||||
// on invalidDateTimeMessage in unit tests.
|
||||
onInvalidDateTimeMessage = this.invalidDateTimeMessage.bind(this);
|
||||
|
||||
handleDeleteClick = () => {
|
||||
// eslint-disable-next-line no-restricted-globals
|
||||
if (confirm(formatMessage('Are you sure you want to delete this planner item?'))) {
|
||||
|
@ -136,7 +154,8 @@ export class UpdateItemTray extends Component {
|
|||
}
|
||||
|
||||
isValid () {
|
||||
if (this.state.updates.title && this.state.updates.date) {
|
||||
if (this.state.updates.title &&
|
||||
this.state.updates.date && this.state.updates.date.isValid()) {
|
||||
return this.state.updates.title.replace(/\s/g, '').length > 0;
|
||||
}
|
||||
return false;
|
||||
|
@ -157,7 +176,8 @@ export class UpdateItemTray extends Component {
|
|||
variant="primary"
|
||||
margin="0 0 0 x-small"
|
||||
disabled={!this.isValid()}
|
||||
onClick={this.handleSave}>
|
||||
onClick={this.handleSave}
|
||||
>
|
||||
{formatMessage("Save")}
|
||||
</Button>;
|
||||
}
|
||||
|
@ -175,18 +195,23 @@ export class UpdateItemTray extends Component {
|
|||
}
|
||||
|
||||
renderDateInput () {
|
||||
const datevalue = this.state.updates.date && this.state.updates.date.isValid() ? this.state.updates.date.toISOString() : undefined;
|
||||
return (
|
||||
<DateInput
|
||||
<DateTimeInput
|
||||
required={true}
|
||||
description={<ScreenReaderContent>{formatMessage("The date and time this to do is due")}</ScreenReaderContent>}
|
||||
messages={this.state.dateMessages}
|
||||
label={formatMessage("Date")}
|
||||
nextLabel={formatMessage("Next Month")}
|
||||
previousLabel={formatMessage("Previous Month")}
|
||||
dateLabel={formatMessage("Date")}
|
||||
dateNextLabel={formatMessage("Next Month")}
|
||||
datePreviousLabel={formatMessage("Previous Month")}
|
||||
timeLabel={formatMessage("Time")}
|
||||
timeStep={30}
|
||||
locale={this.props.locale}
|
||||
timezone={this.props.timeZone}
|
||||
placement="start"
|
||||
dateValue={this.state.updates.date}
|
||||
onDateChange={this.handleDateChange}
|
||||
value={datevalue}
|
||||
layout="stacked"
|
||||
onChange={this.handleDateChange}
|
||||
invalidDateTimeMessage={this.onInvalidDateTimeMessage}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ Object {
|
|||
"completed": false,
|
||||
"context": undefined,
|
||||
"course_id": 999,
|
||||
"date": "2018-03-27T18:58:51Z",
|
||||
"date": "2018-03-27T18:58:51.000Z",
|
||||
"dateBucketMoment": "2018-03-27T00:00:00.000Z",
|
||||
"details": "Some To Do Note Details :)",
|
||||
"html_url": undefined,
|
||||
|
@ -35,7 +35,7 @@ Object {
|
|||
"url": undefined,
|
||||
},
|
||||
"course_id": "1",
|
||||
"date": "2018-03-27T18:58:51Z",
|
||||
"date": "2018-03-27T18:58:51.000Z",
|
||||
"dateBucketMoment": "2018-03-27T00:00:00.000Z",
|
||||
"html_url": "/courses/1/assignments/10",
|
||||
"id": "10",
|
||||
|
@ -64,7 +64,7 @@ Object {
|
|||
"url": undefined,
|
||||
},
|
||||
"course_id": undefined,
|
||||
"date": "2018-03-27T18:58:51Z",
|
||||
"date": "2018-03-27T18:58:51.000Z",
|
||||
"dateBucketMoment": "2018-03-27T00:00:00.000Z",
|
||||
"html_url": "/courses/1/discussion_topics/10",
|
||||
"id": "1",
|
||||
|
@ -94,7 +94,7 @@ Object {
|
|||
"url": undefined,
|
||||
},
|
||||
"course_id": undefined,
|
||||
"date": "2018-03-27T18:58:51Z",
|
||||
"date": "2018-03-27T18:58:51.000Z",
|
||||
"dateBucketMoment": "2018-03-27T00:00:00.000Z",
|
||||
"html_url": "/courses/1/discussion_topics/10",
|
||||
"id": "1",
|
||||
|
@ -127,7 +127,7 @@ Object {
|
|||
"url": undefined,
|
||||
},
|
||||
"course_id": undefined,
|
||||
"date": "2018-03-27T18:58:51Z",
|
||||
"date": "2018-03-27T18:58:51.000Z",
|
||||
"dateBucketMoment": "2018-03-27T00:00:00.000Z",
|
||||
"html_url": "/courses/1/discussion_topics/10",
|
||||
"id": "1",
|
||||
|
@ -157,7 +157,7 @@ Object {
|
|||
"url": undefined,
|
||||
},
|
||||
"course_id": "1",
|
||||
"date": "2018-03-27T18:58:51Z",
|
||||
"date": "2018-03-27T18:58:51.000Z",
|
||||
"dateBucketMoment": "2018-03-27T00:00:00.000Z",
|
||||
"details": "Some To Do Note Details :)",
|
||||
"html_url": undefined,
|
||||
|
@ -178,7 +178,7 @@ exports[`transformApiToInternalItem extracts and transforms the proper data for
|
|||
Object {
|
||||
"completed": false,
|
||||
"course_id": undefined,
|
||||
"date": "2018-03-27T18:58:51Z",
|
||||
"date": "2018-03-27T18:58:51.000Z",
|
||||
"dateBucketMoment": "2018-03-27T00:00:00.000Z",
|
||||
"details": "Some To Do Note Details :)",
|
||||
"html_url": undefined,
|
||||
|
@ -208,7 +208,7 @@ Object {
|
|||
"url": undefined,
|
||||
},
|
||||
"course_id": "1",
|
||||
"date": "2018-03-27T18:58:51Z",
|
||||
"date": "2018-03-27T18:58:51.000Z",
|
||||
"dateBucketMoment": "2018-03-27T00:00:00.000Z",
|
||||
"html_url": "/courses/1/assignments/10",
|
||||
"id": "10",
|
||||
|
@ -269,7 +269,7 @@ Object {
|
|||
"url": undefined,
|
||||
},
|
||||
"course_id": undefined,
|
||||
"date": "2018-03-27T18:58:51Z",
|
||||
"date": "2018-03-27T18:58:51.000Z",
|
||||
"dateBucketMoment": "2018-03-27T00:00:00.000Z",
|
||||
"html_url": "/courses/1/discussion_topics/10",
|
||||
"id": "1",
|
||||
|
@ -301,7 +301,7 @@ Object {
|
|||
"url": "/groups/9",
|
||||
},
|
||||
"course_id": undefined,
|
||||
"date": "2018-01-12T05:00:00Z",
|
||||
"date": "2018-01-12T05:00:00.000Z",
|
||||
"dateBucketMoment": "2018-01-12T00:00:00.000Z",
|
||||
"html_url": "/groups/9/pages/25",
|
||||
"id": "25",
|
||||
|
@ -331,7 +331,7 @@ Object {
|
|||
},
|
||||
"course_id": "1",
|
||||
"date": "2017-06-21T18:58:51Z",
|
||||
"dateBucketMoment": "2017-06-21T00:00:00.000Z",
|
||||
"dateBucketMoment": "2017-06-21T18:58:51.000Z",
|
||||
"details": "asdfasdfasdf",
|
||||
"id": 14,
|
||||
"status": false,
|
||||
|
@ -347,7 +347,7 @@ Object {
|
|||
"context": Object {},
|
||||
"course_id": null,
|
||||
"date": "2017-06-21T18:58:51Z",
|
||||
"dateBucketMoment": "2017-06-21T00:00:00.000Z",
|
||||
"dateBucketMoment": "2017-06-21T18:58:51.000Z",
|
||||
"details": "asdfasdfasdf",
|
||||
"id": 14,
|
||||
"status": false,
|
||||
|
|
|
@ -21,7 +21,8 @@ import {
|
|||
isToday, isInFuture,
|
||||
getFriendlyDate, getFullDate,
|
||||
getFirstLoadedMoment, getLastLoadedMoment,
|
||||
getFullDateAndTime
|
||||
getFullDateAndTime,
|
||||
isMidnight, makeEndOfDayIfMidnight,
|
||||
} from '../dateUtils';
|
||||
|
||||
describe('isToday', () => {
|
||||
|
@ -168,4 +169,23 @@ describe('getLastLoadedMoment', () => {
|
|||
], 'Asia/Tokyo');
|
||||
expect(result === expected).toBeFalsy();
|
||||
});
|
||||
|
||||
it('returns true if at midnight, false if not', () => {
|
||||
const TZ = 'Asia/Tokyo';
|
||||
const midnight = moment.tz(TZ).startOf('day');
|
||||
expect(isMidnight(midnight, TZ)).toBeTruthy();
|
||||
const now = moment.tz(TZ).seconds(1); // just in case the test runs exactly at midnight
|
||||
expect(isMidnight(now, TZ)).toBeFalsy();
|
||||
});
|
||||
|
||||
it('sets time to 11:59pm if at midnight', () => {
|
||||
const TZ = 'Asia/Tokyo';
|
||||
const now = moment.tz(TZ).seconds(1);
|
||||
let result = makeEndOfDayIfMidnight(now, TZ);
|
||||
expect(result).toEqual(now);
|
||||
const midnight = moment.tz(TZ).startOf('day');
|
||||
result = makeEndOfDayIfMidnight(midnight, TZ);
|
||||
expect(result.hours()).toEqual(23);
|
||||
expect(result.minutes()).toEqual(59);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
*/
|
||||
import moment from 'moment-timezone';
|
||||
import _ from 'lodash';
|
||||
import { makeEndOfDayIfMidnight } from './dateUtils';
|
||||
|
||||
const getItemDetailsFromPlannable = (apiResponse, timeZone) => {
|
||||
let { plannable, plannable_type, planner_override } = apiResponse;
|
||||
|
@ -87,11 +88,7 @@ export function transformApiToInternalItem (apiResponse, courses, groups, timeZo
|
|||
const details = getItemDetailsFromPlannable(apiResponse, timeZone);
|
||||
|
||||
// Standardize 00:00:00 date to 11:59PM on the current day to make due date less confusing
|
||||
let plannableDate = apiResponse.plannable_date;
|
||||
let currentDay = moment(plannableDate);
|
||||
if (isMidnight(currentDay, timeZone)) {
|
||||
plannableDate = currentDay.endOf('day').toISOString();
|
||||
}
|
||||
const plannableDate = makeEndOfDayIfMidnight(apiResponse.plannable_date, timeZone);
|
||||
|
||||
if ((!contextInfo.context) && apiResponse.plannable_type === 'planner_note' && (details.course_id)) {
|
||||
const course = courses.find(c => c.id === details.course_id);
|
||||
|
@ -129,7 +126,7 @@ export function transformPlannerNoteApiToInternalItem (plannerItemApiResponse, c
|
|||
return {
|
||||
id: plannerNote.id,
|
||||
uniqueId: `planner_note-${plannerNote.id}`,
|
||||
dateBucketMoment: moment.tz(plannerNote.todo_date, timeZone).startOf('day'),
|
||||
dateBucketMoment: moment.tz(plannerNote.todo_date, timeZone),
|
||||
type: 'To Do',
|
||||
status: false,
|
||||
course_id: plannerNote.course_id,
|
||||
|
@ -202,10 +199,3 @@ function getGroupContext(apiResponse, group) {
|
|||
url: group.url
|
||||
};
|
||||
}
|
||||
|
||||
function isMidnight(currentDay, timeZone) {
|
||||
// in languages like Arabic, moment.format returns strings in the native characters
|
||||
// so this doesn't work
|
||||
//currentDay.tz(timeZone).format('HH:mm:ss') === '00:00:00'
|
||||
return currentDay.hours() === currentDay.minutes() === currentDay.seconds() === 0;
|
||||
}
|
||||
|
|
|
@ -107,3 +107,26 @@ export function getLastLoadedMoment (days, timeZone) {
|
|||
if (loadedItem) return loadedItem.dateBucketMoment.clone();
|
||||
return moment.tz(lastLoadedDay[0], timeZone).startOf('day');
|
||||
}
|
||||
|
||||
// datetime: iso8601 string or moment
|
||||
// timeZone: user's timeZone
|
||||
// returns: true if datetime is at midnight in the timeZone
|
||||
export function isMidnight(datetime, timeZone) {
|
||||
if (typeof(datetime) === 'string') datetime = moment(datetime);
|
||||
const localDay = moment(datetime).tz(timeZone);
|
||||
return localDay.hours() === 0 &&
|
||||
localDay.minutes() === 0 &&
|
||||
localDay.seconds() === 0;
|
||||
}
|
||||
|
||||
// if incoming datetime is at midnight user's time, convert to 11:59pm
|
||||
// datetime: moment or iso8601 string
|
||||
// timeZone: user's timeZone
|
||||
// returns: moment of the result
|
||||
export function makeEndOfDayIfMidnight(datetime, timeZone) {
|
||||
if (typeof(datetime) === 'string') datetime = moment(datetime);
|
||||
if (isMidnight(datetime, timeZone)) {
|
||||
return moment(datetime).tz(timeZone).endOf('day');
|
||||
}
|
||||
return datetime;
|
||||
}
|
||||
|
|
|
@ -78,81 +78,83 @@
|
|||
lodash "^4.2.0"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@instructure/babel-plugin-themeable-styles@^4.7.3":
|
||||
version "4.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/babel-plugin-themeable-styles/-/babel-plugin-themeable-styles-4.7.3.tgz#409974c055aa5c94cbb18cf7be3951388e0a2de9"
|
||||
"@instructure/babel-plugin-themeable-styles@^4.8.0":
|
||||
version "4.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/babel-plugin-themeable-styles/-/babel-plugin-themeable-styles-4.8.0.tgz#3d6f148feb0fe00dff0ab18e7b197775852172de"
|
||||
dependencies:
|
||||
"@instructure/postcss-themeable-styles" "^4.7.3"
|
||||
"@instructure/postcss-themeable-styles" "^4.8.0"
|
||||
babel-template "^6.26.0"
|
||||
css-modules-require-hook "^4.2.2"
|
||||
|
||||
"@instructure/babel-plugin-transform-class-display-name@^4.7.3":
|
||||
version "4.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/babel-plugin-transform-class-display-name/-/babel-plugin-transform-class-display-name-4.7.3.tgz#4a37ecb8e48eedfec0c580aafc0e4234af247210"
|
||||
"@instructure/babel-plugin-transform-class-display-name@^4.8.0":
|
||||
version "4.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/babel-plugin-transform-class-display-name/-/babel-plugin-transform-class-display-name-4.8.0.tgz#a62c913b589cb775bb45fadbed467089617b1abb"
|
||||
|
||||
"@instructure/postcss-themeable-styles@^4.7.3":
|
||||
version "4.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/postcss-themeable-styles/-/postcss-themeable-styles-4.7.3.tgz#b61c3ab22fcde6ed85be1694320b1cbd2d9252ba"
|
||||
"@instructure/postcss-themeable-styles@^4.8.0":
|
||||
version "4.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/postcss-themeable-styles/-/postcss-themeable-styles-4.8.0.tgz#159ea432171ba4dc43d505fb1ff5204c838ce76f"
|
||||
|
||||
"@instructure/ui-a11y@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-a11y/-/ui-a11y-5.0.0.tgz#4a5f4c5312ca3c4f75ace48b46b4f3ffed69dc21"
|
||||
"@instructure/ui-a11y@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-a11y/-/ui-a11y-5.4.0.tgz#40d74f1d6d7ef1c7bd7f978b0a61527125227e93"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.0.0"
|
||||
"@instructure/ui-utils" "^5.0.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-a11y@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-a11y/-/ui-a11y-5.2.0.tgz#9c8a6554b4ad8615f80f73cfbaa23e2373c30e4d"
|
||||
dependencies:
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-container" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-buttons@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-buttons/-/ui-buttons-5.0.0.tgz#5b8d5c8cdd412e7ee0603632d774920a06e7e62c"
|
||||
"@instructure/ui-a11y@^5.4.1-dev.0", "@instructure/ui-a11y@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-a11y/-/ui-a11y-5.4.1-dev.1.tgz#4236b61a1492e2c7b1a06163786a7ee3f2f01417"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.0.0"
|
||||
"@instructure/ui-container" "^5.0.0"
|
||||
"@instructure/ui-icons" "^5.0.0"
|
||||
"@instructure/ui-themeable" "^5.0.0"
|
||||
"@instructure/ui-utils" "^5.0.0"
|
||||
"@instructure/ui-layout" "^5.4.1-dev.1"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-buttons@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-buttons/-/ui-buttons-5.4.0.tgz#03ab41fead2410eba7d43d2b5004af4b3b3d716f"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.4.0"
|
||||
"@instructure/ui-container" "^5.4.0"
|
||||
"@instructure/ui-icons" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-buttons@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-buttons/-/ui-buttons-5.2.0.tgz#15dd1dbe9f6457b0579429ad8b9711c5391e6604"
|
||||
"@instructure/ui-buttons@^5.4.1-dev.0", "@instructure/ui-buttons@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-buttons/-/ui-buttons-5.4.1-dev.1.tgz#a726dcfe1c7de887dd0df0993c231a58e1afa853"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.2.0"
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-icons" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-a11y" "^5.4.1-dev.1"
|
||||
"@instructure/ui-icons" "^5.4.1-dev.1"
|
||||
"@instructure/ui-layout" "^5.4.1-dev.1"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-container@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-container/-/ui-container-5.0.0.tgz#61b079a899e1bc619a5daf3c85e176ebd3c45947"
|
||||
"@instructure/ui-container@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-container/-/ui-container-5.4.0.tgz#60f73841162a2bc5186f81c4d87adae537c971d4"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.0.0"
|
||||
"@instructure/ui-utils" "^5.0.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-container@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-container/-/ui-container-5.2.0.tgz#836fd84b2fc6b12e66abe8bad931bbc8f9bbcc79"
|
||||
"@instructure/ui-container@^5.4.1-dev.0", "@instructure/ui-container@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-container/-/ui-container-5.4.1-dev.1.tgz#3b3048ae5bb673ff8dc1d1eb2cb968399de6d349"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
|
@ -172,129 +174,169 @@
|
|||
numeral "^2.0.6"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-elements@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-elements/-/ui-elements-5.0.0.tgz#6c8891a0ff5a70e37a48defc5feb328b07f6be65"
|
||||
"@instructure/ui-elements@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-elements/-/ui-elements-5.4.0.tgz#577d493af6eaf90ad2cabf19578a41a4df9c7e9f"
|
||||
dependencies:
|
||||
"@instructure/ui-container" "^5.0.0"
|
||||
"@instructure/ui-icons" "^5.0.0"
|
||||
"@instructure/ui-themeable" "^5.0.0"
|
||||
"@instructure/ui-utils" "^5.0.0"
|
||||
"@instructure/ui-a11y" "^5.4.0"
|
||||
"@instructure/ui-container" "^5.4.0"
|
||||
"@instructure/ui-icons" "^5.4.0"
|
||||
"@instructure/ui-layout" "^5.4.0"
|
||||
"@instructure/ui-motion" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-elements@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-elements/-/ui-elements-5.2.0.tgz#fc629438af70f71984c52f5e8b8e6d4edceb20e6"
|
||||
"@instructure/ui-elements@^5.4.1-dev.0", "@instructure/ui-elements@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-elements/-/ui-elements-5.4.1-dev.1.tgz#6234309c066d342882929f204ece20a862fe169a"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.2.0"
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-icons" "^5.2.0"
|
||||
"@instructure/ui-layout" "^5.2.0"
|
||||
"@instructure/ui-motion" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-a11y" "^5.4.1-dev.1"
|
||||
"@instructure/ui-container" "^5.4.1-dev.1"
|
||||
"@instructure/ui-icons" "^5.4.1-dev.1"
|
||||
"@instructure/ui-layout" "^5.4.1-dev.1"
|
||||
"@instructure/ui-motion" "^5.4.1-dev.1"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-forms@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-forms/-/ui-forms-5.2.0.tgz#14b58fdffa6c8c06d2f8ac146f20da117122e2f4"
|
||||
"@instructure/ui-forms@5.4.1-dev.0":
|
||||
version "5.4.1-dev.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-forms/-/ui-forms-5.4.1-dev.0.tgz#3644013f03313daefa236767e1be86102d68e1f3"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.2.0"
|
||||
"@instructure/ui-buttons" "^5.2.0"
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-elements" "^5.2.0"
|
||||
"@instructure/ui-i18n" "^5.2.0"
|
||||
"@instructure/ui-icons" "^5.2.0"
|
||||
"@instructure/ui-layout" "^5.2.0"
|
||||
"@instructure/ui-overlays" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-a11y" "^5.4.1-dev.0"
|
||||
"@instructure/ui-buttons" "^5.4.1-dev.0"
|
||||
"@instructure/ui-container" "^5.4.1-dev.0"
|
||||
"@instructure/ui-elements" "^5.4.1-dev.0"
|
||||
"@instructure/ui-i18n" "^5.4.1-dev.0"
|
||||
"@instructure/ui-icons" "^5.4.1-dev.0"
|
||||
"@instructure/ui-layout" "^5.4.1-dev.0"
|
||||
"@instructure/ui-overlays" "^5.4.1-dev.0"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.0"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.0"
|
||||
classnames "^2.2.5"
|
||||
deep-equal "^1.0.1"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.6.0"
|
||||
|
||||
"@instructure/ui-i18n@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-i18n/-/ui-i18n-5.2.0.tgz#14a8bba8cc7e741450d8c6acac034bfec9e83dd8"
|
||||
"@instructure/ui-i18n@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-i18n/-/ui-i18n-5.4.0.tgz#0941d18d334abab16bfeb3c704c29004c9d77318"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
decimal.js "^9.0.1"
|
||||
moment-timezone "^0.5.14"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-icons@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-icons/-/ui-icons-5.0.0.tgz#5ebc44bb10d426b0c11fdfc0c50f89ce1fe18269"
|
||||
"@instructure/ui-i18n@^5.4.1-dev.0", "@instructure/ui-i18n@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-i18n/-/ui-i18n-5.4.1-dev.1.tgz#521cbecd65536bf7a84e2900d2a2ba6fa33ff273"
|
||||
dependencies:
|
||||
"@instructure/ui-svg-images" "^5.0.0"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
decimal.js "^9.0.1"
|
||||
moment-timezone "^0.5.14"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-icons@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-icons/-/ui-icons-5.2.0.tgz#cc3814cd8521b469cfa22f2628398c6084b726ca"
|
||||
"@instructure/ui-icons@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-icons/-/ui-icons-5.4.0.tgz#6dd57a2e7abefbc26e9505d9fb1f2e83495a9ed0"
|
||||
dependencies:
|
||||
"@instructure/ui-svg-images" "^5.2.0"
|
||||
"@instructure/ui-svg-images" "^5.4.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-layout@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-layout/-/ui-layout-5.2.0.tgz#380b27012b1e17b587edfb9ecc854a09098bb261"
|
||||
"@instructure/ui-icons@^5.4.1-dev.0", "@instructure/ui-icons@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-icons/-/ui-icons-5.4.1-dev.1.tgz#73679707fbed9ca90af4b8b4d1927d9c9a9ca085"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.2.0"
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-motion" "^5.2.0"
|
||||
"@instructure/ui-portal" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-svg-images" "^5.4.1-dev.1"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-layout@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-layout/-/ui-layout-5.4.0.tgz#e331fccf0e494054f93edeb5a66f05a01867fb4d"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.4.0"
|
||||
"@instructure/ui-container" "^5.4.0"
|
||||
"@instructure/ui-i18n" "^5.4.0"
|
||||
"@instructure/ui-motion" "^5.4.0"
|
||||
"@instructure/ui-portal" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-motion@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-motion/-/ui-motion-5.2.0.tgz#fee50c0e6d0676de01960801e7c2d4338627b7f0"
|
||||
"@instructure/ui-layout@^5.4.1-dev.0", "@instructure/ui-layout@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-layout/-/ui-layout-5.4.1-dev.1.tgz#0738f59413e7308d681c5dc5510514806fb2cc18"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-i18n" "^5.4.1-dev.1"
|
||||
"@instructure/ui-motion" "^5.4.1-dev.1"
|
||||
"@instructure/ui-portal" "^5.4.1-dev.1"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-overlays@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-overlays/-/ui-overlays-5.2.0.tgz#56eafe45bb8d684572865ce94c7957db5632c783"
|
||||
"@instructure/ui-motion@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-motion/-/ui-motion-5.4.0.tgz#8ef773ec7240d78e7cc66be0d181a5677e90c1cd"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.2.0"
|
||||
"@instructure/ui-buttons" "^5.2.0"
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-elements" "^5.2.0"
|
||||
"@instructure/ui-i18n" "^5.2.0"
|
||||
"@instructure/ui-layout" "^5.2.0"
|
||||
"@instructure/ui-motion" "^5.2.0"
|
||||
"@instructure/ui-portal" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-motion@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-motion/-/ui-motion-5.4.1-dev.1.tgz#4a632e0e67b62420d7f6faac9e3b1c399fec2dec"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-overlays@^5.4.1-dev.0":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-overlays/-/ui-overlays-5.4.1-dev.1.tgz#3777a69932216f567e634b7e318d88c5cdd974ca"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.4.1-dev.1"
|
||||
"@instructure/ui-buttons" "^5.4.1-dev.1"
|
||||
"@instructure/ui-container" "^5.4.1-dev.1"
|
||||
"@instructure/ui-elements" "^5.4.1-dev.1"
|
||||
"@instructure/ui-i18n" "^5.4.1-dev.1"
|
||||
"@instructure/ui-layout" "^5.4.1-dev.1"
|
||||
"@instructure/ui-motion" "^5.4.1-dev.1"
|
||||
"@instructure/ui-portal" "^5.4.1-dev.1"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
keycode "^2.1.8"
|
||||
no-scroll "^2.1.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-portal@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-portal/-/ui-portal-5.2.0.tgz#db81649d21e6eb9ca7232f962051650e26c8601d"
|
||||
"@instructure/ui-portal@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-portal/-/ui-portal-5.4.0.tgz#992c183a6fbfd247831d6b31d5450195027dcd4d"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-portal@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-portal/-/ui-portal-5.4.1-dev.1.tgz#3b09dc7ba8c8b8dff995be90e4a44442c7487068"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-presets@^4.7.2":
|
||||
version "4.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-presets/-/ui-presets-4.7.3.tgz#fadbb7a2bc1f0096861d5ae2cb8dc857f23aed23"
|
||||
version "4.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-presets/-/ui-presets-4.8.0.tgz#180f7c6727ced5bab62469c908d021e78af8fe67"
|
||||
dependencies:
|
||||
"@instructure/babel-plugin-themeable-styles" "^4.7.3"
|
||||
"@instructure/babel-plugin-transform-class-display-name" "^4.7.3"
|
||||
"@instructure/postcss-themeable-styles" "^4.7.3"
|
||||
"@instructure/ui-testbed" "^4.7.3"
|
||||
"@instructure/ui-themes" "^4.7.3"
|
||||
"@instructure/babel-plugin-themeable-styles" "^4.8.0"
|
||||
"@instructure/babel-plugin-transform-class-display-name" "^4.8.0"
|
||||
"@instructure/postcss-themeable-styles" "^4.8.0"
|
||||
"@instructure/ui-testbed" "^4.8.0"
|
||||
"@instructure/ui-themes" "^4.8.0"
|
||||
autoprefixer "^7.1.5"
|
||||
babel-cli "^6.26.0"
|
||||
babel-core "^6.26.0"
|
||||
|
@ -354,27 +396,27 @@
|
|||
webpack-dev-server "^2.9.4"
|
||||
which "^1.3.0"
|
||||
|
||||
"@instructure/ui-svg-images@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-svg-images/-/ui-svg-images-5.0.0.tgz#c590f2e032ebecac228c029815dd67587bd73a4e"
|
||||
"@instructure/ui-svg-images@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-svg-images/-/ui-svg-images-5.4.0.tgz#1ea81dc0d5060143452c87d13804b1b5e7733b70"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.0.0"
|
||||
"@instructure/ui-utils" "^5.0.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-svg-images@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-svg-images/-/ui-svg-images-5.2.0.tgz#9ef0c28b1d45591a18c7778fea42cfc39687c2e1"
|
||||
"@instructure/ui-svg-images@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-svg-images/-/ui-svg-images-5.4.1-dev.1.tgz#0e6ea47c22013f60554560de81f8b305d95fd0b7"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-testbed@^4.7.3":
|
||||
version "4.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-testbed/-/ui-testbed-4.7.3.tgz#b74207b144fb8785dc109df4b808069499b5d122"
|
||||
"@instructure/ui-testbed@^4.8.0":
|
||||
version "4.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-testbed/-/ui-testbed-4.8.0.tgz#5f89dc8a678eec314a82cb98b6dd8d8b35399b7d"
|
||||
dependencies:
|
||||
axe-core "^2.4.1"
|
||||
chai "^4.1.0"
|
||||
|
@ -401,37 +443,37 @@
|
|||
prop-types "^15.5.10"
|
||||
tinycolor2 "^1.4.1"
|
||||
|
||||
"@instructure/ui-themeable@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themeable/-/ui-themeable-5.0.0.tgz#91f89681a23dddc018b1139713d6014c114ae254"
|
||||
"@instructure/ui-themeable@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themeable/-/ui-themeable-5.4.0.tgz#4769b77e22593292ceb7f3774dd40abc43040d6d"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^5.0.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
glamor "^2.20.37"
|
||||
prop-types "^15.5.10"
|
||||
tinycolor2 "^1.4.1"
|
||||
|
||||
"@instructure/ui-themeable@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themeable/-/ui-themeable-5.2.0.tgz#5df59c6e991de008d3e2e9d09d0e689db7958ec9"
|
||||
"@instructure/ui-themeable@^5.4.1-dev.0", "@instructure/ui-themeable@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themeable/-/ui-themeable-5.4.1-dev.1.tgz#e3085f64975b2fb87ec6237b27a4e93b4e477a76"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
glamor "^2.20.37"
|
||||
prop-types "^15.5.10"
|
||||
tinycolor2 "^1.4.1"
|
||||
|
||||
"@instructure/ui-themes@^4.7.3":
|
||||
version "4.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themes/-/ui-themes-4.7.3.tgz#dca8c846bcaa47909755431577db1792ad4f9db3"
|
||||
"@instructure/ui-themes@^4.8.0":
|
||||
version "4.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themes/-/ui-themes-4.8.0.tgz#37bf837e6497a2e75c75a1029318f993d0672579"
|
||||
|
||||
"@instructure/ui-toggle-details@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-toggle-details/-/ui-toggle-details-5.0.0.tgz#e5970271c0d504ec6dfe9947381d9cfaf5066657"
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-toggle-details/-/ui-toggle-details-5.4.0.tgz#671df6614e50b4aecde72bbb45af4e870b125e28"
|
||||
dependencies:
|
||||
"@instructure/ui-buttons" "^5.0.0"
|
||||
"@instructure/ui-elements" "^5.0.0"
|
||||
"@instructure/ui-icons" "^5.0.0"
|
||||
"@instructure/ui-themeable" "^5.0.0"
|
||||
"@instructure/ui-utils" "^5.0.0"
|
||||
"@instructure/ui-buttons" "^5.4.0"
|
||||
"@instructure/ui-elements" "^5.4.0"
|
||||
"@instructure/ui-icons" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
|
@ -452,24 +494,24 @@
|
|||
prop-types "^15.5.10"
|
||||
shortid "^2.2.8"
|
||||
|
||||
"@instructure/ui-utils@^5.0.0":
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-utils/-/ui-utils-5.0.0.tgz#628607a11cd5999f4be95ee481a2eb9c0115b466"
|
||||
"@instructure/ui-utils@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-utils/-/ui-utils-5.4.0.tgz#e16e0e3f42b3653a6d1bc1a2ca22cfc8e524dcbe"
|
||||
dependencies:
|
||||
bowser "^1.9.1"
|
||||
decimal.js "^9.0.1"
|
||||
deep-equal "^1.0.1"
|
||||
keycode "^2.1.8"
|
||||
nanoid "^1.0.2"
|
||||
no-scroll "^2.1.0"
|
||||
numeral "^2.0.6"
|
||||
object.omit "^3.0.0"
|
||||
object.pick "^1.2.0"
|
||||
prop-types "^15.5.10"
|
||||
shortid "^2.2.8"
|
||||
|
||||
"@instructure/ui-utils@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-utils/-/ui-utils-5.2.0.tgz#a38b885c28347f9d4520257fe961fb494a888554"
|
||||
"@instructure/ui-utils@^5.4.1-dev.0", "@instructure/ui-utils@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-utils/-/ui-utils-5.4.1-dev.1.tgz#2cd22584cb0e0c510c23edbe6c1e27a6b9b02bee"
|
||||
dependencies:
|
||||
bowser "^1.9.1"
|
||||
decimal.js "^9.0.1"
|
||||
|
@ -6749,19 +6791,15 @@ mocha@^4.0.1:
|
|||
supports-color "4.4.0"
|
||||
|
||||
moment-timezone@^0.5.13, moment-timezone@^0.5.14:
|
||||
version "0.5.14"
|
||||
resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.14.tgz#4eb38ff9538b80108ba467a458f3ed4268ccfcb1"
|
||||
version "0.5.16"
|
||||
resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.16.tgz#661717d5f55b4d2c2e002262d726c83785192a5a"
|
||||
dependencies:
|
||||
moment ">= 2.9.0"
|
||||
|
||||
"moment@>= 2.9.0", moment@>=1.6.0, moment@^2.10.6:
|
||||
moment@2.10.6, "moment@>= 2.9.0", moment@>=1.6.0, moment@^2.10.6:
|
||||
version "2.10.6"
|
||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.10.6.tgz#6cb21967c79cba7b0ca5e66644f173662b3efa77"
|
||||
|
||||
moment@^2.22.0:
|
||||
version "2.22.1"
|
||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.1.tgz#529a2e9bf973f259c9643d237fda84de3a26e8ad"
|
||||
|
||||
morgan@^1.3.1:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.0.tgz#d01fa6c65859b76fcf31b3cb53a3821a311d8051"
|
||||
|
|
|
@ -23,7 +23,7 @@ import fcUtil from 'compiled/util/fcUtil'
|
|||
|
||||
QUnit.module('TimeBlockList', {
|
||||
setup() {
|
||||
const wrappedDate = str => moment(new Date(str))
|
||||
const wrappedDate = str => $.fullCalendar.moment(new Date(str))
|
||||
|
||||
this.$holder = $('<table>').appendTo('#fixtures')
|
||||
this.$splitter = $('<a>').appendTo('#fixtures')
|
||||
|
|
|
@ -410,7 +410,6 @@ describe "student planner" do
|
|||
end
|
||||
|
||||
it "adds date and time to a to-do item", priority: "1", test_id: 3482559 do
|
||||
skip("unskip with ADMIN-297")
|
||||
go_to_list_view
|
||||
todo_modal_button.click
|
||||
modal = todo_sidebar_modal
|
||||
|
|
475
yarn.lock
475
yarn.lock
|
@ -88,102 +88,86 @@
|
|||
normalize-path "^2.0.1"
|
||||
through2 "^2.0.3"
|
||||
|
||||
"@instructure/ui-a11y@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-a11y/-/ui-a11y-5.1.1.tgz#70fe7c1a9e886b2b3e95f8a8b335c8e21dc47728"
|
||||
"@instructure/ui-a11y@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-a11y/-/ui-a11y-5.4.0.tgz#40d74f1d6d7ef1c7bd7f978b0a61527125227e93"
|
||||
dependencies:
|
||||
"@instructure/ui-container" "^5.1.1"
|
||||
"@instructure/ui-themeable" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-container" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-a11y@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-a11y/-/ui-a11y-5.2.0.tgz#9c8a6554b4ad8615f80f73cfbaa23e2373c30e4d"
|
||||
"@instructure/ui-a11y@^5.4.1-dev.0", "@instructure/ui-a11y@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-a11y/-/ui-a11y-5.4.1-dev.1.tgz#4236b61a1492e2c7b1a06163786a7ee3f2f01417"
|
||||
dependencies:
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-layout" "^5.4.1-dev.1"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-alerts@^5.0.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-alerts/-/ui-alerts-5.1.1.tgz#84ca8fcb8338f7f080b9f6a0ccfe8dd395c4e767"
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-alerts/-/ui-alerts-5.4.0.tgz#4f8e852e753a1ab9c0904283138eb6be60a38e3b"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.1.1"
|
||||
"@instructure/ui-buttons" "^5.1.1"
|
||||
"@instructure/ui-container" "^5.1.1"
|
||||
"@instructure/ui-icons" "^5.1.1"
|
||||
"@instructure/ui-motion" "^5.1.1"
|
||||
"@instructure/ui-themeable" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-a11y" "^5.4.0"
|
||||
"@instructure/ui-buttons" "^5.4.0"
|
||||
"@instructure/ui-container" "^5.4.0"
|
||||
"@instructure/ui-icons" "^5.4.0"
|
||||
"@instructure/ui-motion" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-buttons@^5.0.1", "@instructure/ui-buttons@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-buttons/-/ui-buttons-5.1.1.tgz#efc94360368c963cf755fc33f1fd1a6cb1eafd81"
|
||||
"@instructure/ui-buttons@^5.0.1", "@instructure/ui-buttons@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-buttons/-/ui-buttons-5.4.0.tgz#03ab41fead2410eba7d43d2b5004af4b3b3d716f"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.1.1"
|
||||
"@instructure/ui-container" "^5.1.1"
|
||||
"@instructure/ui-icons" "^5.1.1"
|
||||
"@instructure/ui-themeable" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-a11y" "^5.4.0"
|
||||
"@instructure/ui-container" "^5.4.0"
|
||||
"@instructure/ui-icons" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-buttons@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-buttons/-/ui-buttons-5.2.0.tgz#15dd1dbe9f6457b0579429ad8b9711c5391e6604"
|
||||
"@instructure/ui-buttons@^5.4.1-dev.0", "@instructure/ui-buttons@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-buttons/-/ui-buttons-5.4.1-dev.1.tgz#a726dcfe1c7de887dd0df0993c231a58e1afa853"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.2.0"
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-icons" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-a11y" "^5.4.1-dev.1"
|
||||
"@instructure/ui-icons" "^5.4.1-dev.1"
|
||||
"@instructure/ui-layout" "^5.4.1-dev.1"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-container@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-container/-/ui-container-5.1.1.tgz#3633d505efa56c6f2969350fec64965339421620"
|
||||
"@instructure/ui-container@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-container/-/ui-container-5.4.0.tgz#60f73841162a2bc5186f81c4d87adae537c971d4"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-container@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-container/-/ui-container-5.2.0.tgz#836fd84b2fc6b12e66abe8bad931bbc8f9bbcc79"
|
||||
"@instructure/ui-container@^5.4.1-dev.0", "@instructure/ui-container@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-container/-/ui-container-5.4.1-dev.1.tgz#3b3048ae5bb673ff8dc1d1eb2cb968399de6d349"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-core@^4.1.0", "@instructure/ui-core@^4.7.3":
|
||||
version "4.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-core/-/ui-core-4.7.3.tgz#849b85ccce71a22556cc43754d31ab4344de31a5"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^4.7.3"
|
||||
"@instructure/ui-utils" "^4.7.3"
|
||||
bowser "^1.7.0"
|
||||
classnames "^2.2.5"
|
||||
decimal.js "^7.2.1"
|
||||
deep-equal "^1.0.1"
|
||||
instructure-icons "^4.3.1"
|
||||
keycode "^2.1.8"
|
||||
no-scroll "^2.1.0"
|
||||
numeral "^2.0.6"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-core@^4.8.0":
|
||||
"@instructure/ui-core@^4.1.0", "@instructure/ui-core@^4.7.3", "@instructure/ui-core@^4.8.0":
|
||||
version "4.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-core/-/ui-core-4.8.0.tgz#fb32698507f52fd77bb471c199018c1e8671d57b"
|
||||
dependencies:
|
||||
|
@ -199,224 +183,212 @@
|
|||
numeral "^2.0.6"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-elements@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-elements/-/ui-elements-5.1.1.tgz#99cd20d4c2be5fdb8ccd6e9e4322ab440a7abc89"
|
||||
"@instructure/ui-elements@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-elements/-/ui-elements-5.4.0.tgz#577d493af6eaf90ad2cabf19578a41a4df9c7e9f"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.1.1"
|
||||
"@instructure/ui-container" "^5.1.1"
|
||||
"@instructure/ui-icons" "^5.1.1"
|
||||
"@instructure/ui-layout" "^5.1.1"
|
||||
"@instructure/ui-motion" "^5.1.1"
|
||||
"@instructure/ui-themeable" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-a11y" "^5.4.0"
|
||||
"@instructure/ui-container" "^5.4.0"
|
||||
"@instructure/ui-icons" "^5.4.0"
|
||||
"@instructure/ui-layout" "^5.4.0"
|
||||
"@instructure/ui-motion" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-elements@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-elements/-/ui-elements-5.2.0.tgz#fc629438af70f71984c52f5e8b8e6d4edceb20e6"
|
||||
"@instructure/ui-elements@^5.4.1-dev.0", "@instructure/ui-elements@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-elements/-/ui-elements-5.4.1-dev.1.tgz#6234309c066d342882929f204ece20a862fe169a"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.2.0"
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-icons" "^5.2.0"
|
||||
"@instructure/ui-layout" "^5.2.0"
|
||||
"@instructure/ui-motion" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-a11y" "^5.4.1-dev.1"
|
||||
"@instructure/ui-container" "^5.4.1-dev.1"
|
||||
"@instructure/ui-icons" "^5.4.1-dev.1"
|
||||
"@instructure/ui-layout" "^5.4.1-dev.1"
|
||||
"@instructure/ui-motion" "^5.4.1-dev.1"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-forms@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-forms/-/ui-forms-5.2.0.tgz#14b58fdffa6c8c06d2f8ac146f20da117122e2f4"
|
||||
"@instructure/ui-forms@5.4.1-dev.0":
|
||||
version "5.4.1-dev.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-forms/-/ui-forms-5.4.1-dev.0.tgz#3644013f03313daefa236767e1be86102d68e1f3"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.2.0"
|
||||
"@instructure/ui-buttons" "^5.2.0"
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-elements" "^5.2.0"
|
||||
"@instructure/ui-i18n" "^5.2.0"
|
||||
"@instructure/ui-icons" "^5.2.0"
|
||||
"@instructure/ui-layout" "^5.2.0"
|
||||
"@instructure/ui-overlays" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-a11y" "^5.4.1-dev.0"
|
||||
"@instructure/ui-buttons" "^5.4.1-dev.0"
|
||||
"@instructure/ui-container" "^5.4.1-dev.0"
|
||||
"@instructure/ui-elements" "^5.4.1-dev.0"
|
||||
"@instructure/ui-i18n" "^5.4.1-dev.0"
|
||||
"@instructure/ui-icons" "^5.4.1-dev.0"
|
||||
"@instructure/ui-layout" "^5.4.1-dev.0"
|
||||
"@instructure/ui-overlays" "^5.4.1-dev.0"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.0"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.0"
|
||||
classnames "^2.2.5"
|
||||
deep-equal "^1.0.1"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.6.0"
|
||||
|
||||
"@instructure/ui-i18n@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-i18n/-/ui-i18n-5.1.1.tgz#4064580d354b9c05e7253becbec68ffda8ae5d7b"
|
||||
"@instructure/ui-i18n@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-i18n/-/ui-i18n-5.4.0.tgz#0941d18d334abab16bfeb3c704c29004c9d77318"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
decimal.js "^9.0.1"
|
||||
moment "^2.10.6"
|
||||
moment-timezone "^0.5.14"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-i18n@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-i18n/-/ui-i18n-5.2.0.tgz#14a8bba8cc7e741450d8c6acac034bfec9e83dd8"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
decimal.js "^9.0.1"
|
||||
moment-timezone "^0.5.14"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-icons@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-icons/-/ui-icons-5.1.1.tgz#9a0509a9edc864374888a468c0dc287968434808"
|
||||
"@instructure/ui-i18n@^5.4.1-dev.0", "@instructure/ui-i18n@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-i18n/-/ui-i18n-5.4.1-dev.1.tgz#521cbecd65536bf7a84e2900d2a2ba6fa33ff273"
|
||||
dependencies:
|
||||
"@instructure/ui-svg-images" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
decimal.js "^9.0.1"
|
||||
moment-timezone "^0.5.14"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-icons@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-icons/-/ui-icons-5.2.0.tgz#cc3814cd8521b469cfa22f2628398c6084b726ca"
|
||||
"@instructure/ui-icons@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-icons/-/ui-icons-5.4.0.tgz#6dd57a2e7abefbc26e9505d9fb1f2e83495a9ed0"
|
||||
dependencies:
|
||||
"@instructure/ui-svg-images" "^5.2.0"
|
||||
"@instructure/ui-svg-images" "^5.4.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-layout@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-layout/-/ui-layout-5.1.1.tgz#1aaba624a4af33b25747e9278c15bfaa7397df7c"
|
||||
"@instructure/ui-icons@^5.4.1-dev.0", "@instructure/ui-icons@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-icons/-/ui-icons-5.4.1-dev.1.tgz#73679707fbed9ca90af4b8b4d1927d9c9a9ca085"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.1.1"
|
||||
"@instructure/ui-container" "^5.1.1"
|
||||
"@instructure/ui-motion" "^5.1.1"
|
||||
"@instructure/ui-portal" "^5.1.1"
|
||||
"@instructure/ui-themeable" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-svg-images" "^5.4.1-dev.1"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-layout@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-layout/-/ui-layout-5.4.0.tgz#e331fccf0e494054f93edeb5a66f05a01867fb4d"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.4.0"
|
||||
"@instructure/ui-container" "^5.4.0"
|
||||
"@instructure/ui-i18n" "^5.4.0"
|
||||
"@instructure/ui-motion" "^5.4.0"
|
||||
"@instructure/ui-portal" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-layout@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-layout/-/ui-layout-5.2.0.tgz#380b27012b1e17b587edfb9ecc854a09098bb261"
|
||||
"@instructure/ui-layout@^5.4.1-dev.0", "@instructure/ui-layout@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-layout/-/ui-layout-5.4.1-dev.1.tgz#0738f59413e7308d681c5dc5510514806fb2cc18"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.2.0"
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-motion" "^5.2.0"
|
||||
"@instructure/ui-portal" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-i18n" "^5.4.1-dev.1"
|
||||
"@instructure/ui-motion" "^5.4.1-dev.1"
|
||||
"@instructure/ui-portal" "^5.4.1-dev.1"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-menu@^5.0.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-menu/-/ui-menu-5.1.1.tgz#6ce41ba75c8d8a54fc9914d28bfd531913700af8"
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-menu/-/ui-menu-5.4.0.tgz#9b170aa4b1df267cfca57029dd686389bf23a36a"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.1.1"
|
||||
"@instructure/ui-elements" "^5.1.1"
|
||||
"@instructure/ui-icons" "^5.1.1"
|
||||
"@instructure/ui-layout" "^5.1.1"
|
||||
"@instructure/ui-overlays" "^5.1.1"
|
||||
"@instructure/ui-themeable" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-a11y" "^5.4.0"
|
||||
"@instructure/ui-elements" "^5.4.0"
|
||||
"@instructure/ui-icons" "^5.4.0"
|
||||
"@instructure/ui-layout" "^5.4.0"
|
||||
"@instructure/ui-overlays" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
keycode "^2.1.8"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-motion@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-motion/-/ui-motion-5.1.1.tgz#28bbf9473b6cec8de1feb17b5c7f4fa730bb6726"
|
||||
"@instructure/ui-motion@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-motion/-/ui-motion-5.4.0.tgz#8ef773ec7240d78e7cc66be0d181a5677e90c1cd"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-motion@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-motion/-/ui-motion-5.2.0.tgz#fee50c0e6d0676de01960801e7c2d4338627b7f0"
|
||||
"@instructure/ui-motion@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-motion/-/ui-motion-5.4.1-dev.1.tgz#4a632e0e67b62420d7f6faac9e3b1c399fec2dec"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-overlays@^5.0.1", "@instructure/ui-overlays@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-overlays/-/ui-overlays-5.1.1.tgz#1a07bebdad48ff0cd51991428fa9a4a3ff53fc38"
|
||||
"@instructure/ui-overlays@^5.0.1", "@instructure/ui-overlays@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-overlays/-/ui-overlays-5.4.0.tgz#cbf89f7e56392130479612ebce0bbbce02212445"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.1.1"
|
||||
"@instructure/ui-buttons" "^5.1.1"
|
||||
"@instructure/ui-container" "^5.1.1"
|
||||
"@instructure/ui-elements" "^5.1.1"
|
||||
"@instructure/ui-i18n" "^5.1.1"
|
||||
"@instructure/ui-layout" "^5.1.1"
|
||||
"@instructure/ui-motion" "^5.1.1"
|
||||
"@instructure/ui-portal" "^5.1.1"
|
||||
"@instructure/ui-themeable" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-a11y" "^5.4.0"
|
||||
"@instructure/ui-buttons" "^5.4.0"
|
||||
"@instructure/ui-container" "^5.4.0"
|
||||
"@instructure/ui-elements" "^5.4.0"
|
||||
"@instructure/ui-i18n" "^5.4.0"
|
||||
"@instructure/ui-layout" "^5.4.0"
|
||||
"@instructure/ui-motion" "^5.4.0"
|
||||
"@instructure/ui-portal" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
keycode "^2.1.8"
|
||||
no-scroll "^2.1.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-overlays@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-overlays/-/ui-overlays-5.2.0.tgz#56eafe45bb8d684572865ce94c7957db5632c783"
|
||||
"@instructure/ui-overlays@^5.4.1-dev.0":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-overlays/-/ui-overlays-5.4.1-dev.1.tgz#3777a69932216f567e634b7e318d88c5cdd974ca"
|
||||
dependencies:
|
||||
"@instructure/ui-a11y" "^5.2.0"
|
||||
"@instructure/ui-buttons" "^5.2.0"
|
||||
"@instructure/ui-container" "^5.2.0"
|
||||
"@instructure/ui-elements" "^5.2.0"
|
||||
"@instructure/ui-i18n" "^5.2.0"
|
||||
"@instructure/ui-layout" "^5.2.0"
|
||||
"@instructure/ui-motion" "^5.2.0"
|
||||
"@instructure/ui-portal" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-a11y" "^5.4.1-dev.1"
|
||||
"@instructure/ui-buttons" "^5.4.1-dev.1"
|
||||
"@instructure/ui-container" "^5.4.1-dev.1"
|
||||
"@instructure/ui-elements" "^5.4.1-dev.1"
|
||||
"@instructure/ui-i18n" "^5.4.1-dev.1"
|
||||
"@instructure/ui-layout" "^5.4.1-dev.1"
|
||||
"@instructure/ui-motion" "^5.4.1-dev.1"
|
||||
"@instructure/ui-portal" "^5.4.1-dev.1"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
keycode "^2.1.8"
|
||||
no-scroll "^2.1.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-portal@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-portal/-/ui-portal-5.1.1.tgz#cab82ba8b133de92fe5b5646319a605385c516a5"
|
||||
"@instructure/ui-portal@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-portal/-/ui-portal-5.4.0.tgz#992c183a6fbfd247831d6b31d5450195027dcd4d"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-portal@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-portal/-/ui-portal-5.2.0.tgz#db81649d21e6eb9ca7232f962051650e26c8601d"
|
||||
"@instructure/ui-portal@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-portal/-/ui-portal-5.4.1-dev.1.tgz#3b09dc7ba8c8b8dff995be90e4a44442c7487068"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-svg-images@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-svg-images/-/ui-svg-images-5.1.1.tgz#f23e0ba9a644f7a950f8798a0c2601a61fd7ec1f"
|
||||
"@instructure/ui-svg-images@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-svg-images/-/ui-svg-images-5.4.0.tgz#1ea81dc0d5060143452c87d13804b1b5e7733b70"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-svg-images@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-svg-images/-/ui-svg-images-5.2.0.tgz#9ef0c28b1d45591a18c7778fea42cfc39687c2e1"
|
||||
"@instructure/ui-svg-images@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-svg-images/-/ui-svg-images-5.4.1-dev.1.tgz#0e6ea47c22013f60554560de81f8b305d95fd0b7"
|
||||
dependencies:
|
||||
"@instructure/ui-themeable" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-themeable" "^5.4.1-dev.1"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-themeable@^4.7.3":
|
||||
version "4.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themeable/-/ui-themeable-4.7.3.tgz#d1732d54b0f64213cf521bb2875a4a28a015c69e"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^4.7.3"
|
||||
bowser "^1.7.0"
|
||||
deep-equal "^1.0.1"
|
||||
glamor "^2.20.37"
|
||||
prop-types "^15.5.10"
|
||||
tinycolor2 "^1.4.1"
|
||||
|
||||
"@instructure/ui-themeable@^4.8.0":
|
||||
version "4.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themeable/-/ui-themeable-4.8.0.tgz#8840fe7e923070924cda519167ee04009eb9901e"
|
||||
|
@ -428,61 +400,44 @@
|
|||
prop-types "^15.5.10"
|
||||
tinycolor2 "^1.4.1"
|
||||
|
||||
"@instructure/ui-themeable@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themeable/-/ui-themeable-5.1.1.tgz#296d377975e32bcbec5813d4bb962e8334a4ac0b"
|
||||
"@instructure/ui-themeable@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themeable/-/ui-themeable-5.4.0.tgz#4769b77e22593292ceb7f3774dd40abc43040d6d"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
glamor "^2.20.37"
|
||||
prop-types "^15.5.10"
|
||||
tinycolor2 "^1.4.1"
|
||||
|
||||
"@instructure/ui-themeable@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themeable/-/ui-themeable-5.2.0.tgz#5df59c6e991de008d3e2e9d09d0e689db7958ec9"
|
||||
"@instructure/ui-themeable@^5.4.1-dev.0", "@instructure/ui-themeable@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themeable/-/ui-themeable-5.4.1-dev.1.tgz#e3085f64975b2fb87ec6237b27a4e93b4e477a76"
|
||||
dependencies:
|
||||
"@instructure/ui-utils" "^5.2.0"
|
||||
"@instructure/ui-utils" "^5.4.1-dev.1"
|
||||
glamor "^2.20.37"
|
||||
prop-types "^15.5.10"
|
||||
tinycolor2 "^1.4.1"
|
||||
|
||||
"@instructure/ui-themes@^4.1.0", "@instructure/ui-themes@^4.7.3":
|
||||
version "4.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themes/-/ui-themes-4.7.3.tgz#dca8c846bcaa47909755431577db1792ad4f9db3"
|
||||
version "4.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themes/-/ui-themes-4.8.0.tgz#37bf837e6497a2e75c75a1029318f993d0672579"
|
||||
|
||||
"@instructure/ui-themes@^5.0.1":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themes/-/ui-themes-5.2.0.tgz#ead153267f12cfa73a54dbd41a829d5bd03508bd"
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-themes/-/ui-themes-5.4.0.tgz#4eb23a3955d246b1f55613cd0e1e4aabd0b4521b"
|
||||
|
||||
"@instructure/ui-toggle-details@^5.0.0":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-toggle-details/-/ui-toggle-details-5.1.1.tgz#5ce32619b14d5848b30846d82bb1b925a9b0b271"
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-toggle-details/-/ui-toggle-details-5.4.0.tgz#671df6614e50b4aecde72bbb45af4e870b125e28"
|
||||
dependencies:
|
||||
"@instructure/ui-buttons" "^5.1.1"
|
||||
"@instructure/ui-elements" "^5.1.1"
|
||||
"@instructure/ui-icons" "^5.1.1"
|
||||
"@instructure/ui-themeable" "^5.1.1"
|
||||
"@instructure/ui-utils" "^5.1.1"
|
||||
"@instructure/ui-buttons" "^5.4.0"
|
||||
"@instructure/ui-elements" "^5.4.0"
|
||||
"@instructure/ui-icons" "^5.4.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-utils" "^5.4.0"
|
||||
classnames "^2.2.5"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-utils@^4.7.3":
|
||||
version "4.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-utils/-/ui-utils-4.7.3.tgz#0484572d6d4203dde9158b495f276a73fd4a187b"
|
||||
dependencies:
|
||||
bowser "^1.7.0"
|
||||
decimal.js "^7.2.1"
|
||||
deep-equal "^1.0.1"
|
||||
keycode "^2.1.8"
|
||||
moment "^2.10.6"
|
||||
moment-timezone "^0.5.14"
|
||||
no-scroll "^2.1.0"
|
||||
numeral "^2.0.6"
|
||||
object.omit "^3.0.0"
|
||||
object.pick "^1.2.0"
|
||||
prop-types "^15.5.10"
|
||||
shortid "^2.2.8"
|
||||
|
||||
"@instructure/ui-utils@^4.8.0":
|
||||
version "4.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-utils/-/ui-utils-4.8.0.tgz#c62082849aa64aff40d9ce897108b27767f8712f"
|
||||
|
@ -500,9 +455,9 @@
|
|||
prop-types "^15.5.10"
|
||||
shortid "^2.2.8"
|
||||
|
||||
"@instructure/ui-utils@^5.1.1":
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-utils/-/ui-utils-5.1.1.tgz#74f778b0c89d88386d12b969074d61bcc4b01453"
|
||||
"@instructure/ui-utils@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-utils/-/ui-utils-5.4.0.tgz#e16e0e3f42b3653a6d1bc1a2ca22cfc8e524dcbe"
|
||||
dependencies:
|
||||
bowser "^1.9.1"
|
||||
decimal.js "^9.0.1"
|
||||
|
@ -515,9 +470,9 @@
|
|||
object.pick "^1.2.0"
|
||||
prop-types "^15.5.10"
|
||||
|
||||
"@instructure/ui-utils@^5.2.0":
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-utils/-/ui-utils-5.2.0.tgz#a38b885c28347f9d4520257fe961fb494a888554"
|
||||
"@instructure/ui-utils@^5.4.1-dev.0", "@instructure/ui-utils@^5.4.1-dev.1":
|
||||
version "5.4.1-dev.1"
|
||||
resolved "https://registry.yarnpkg.com/@instructure/ui-utils/-/ui-utils-5.4.1-dev.1.tgz#2cd22584cb0e0c510c23edbe6c1e27a6b9b02bee"
|
||||
dependencies:
|
||||
bowser "^1.9.1"
|
||||
decimal.js "^9.0.1"
|
||||
|
@ -2469,7 +2424,8 @@ caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.300008
|
|||
version "1.0.16"
|
||||
dependencies:
|
||||
"@instructure/ui-core" "^4.8.0"
|
||||
"@instructure/ui-forms" "^5.2.0"
|
||||
"@instructure/ui-forms" "5.4.1-dev.0"
|
||||
"@instructure/ui-themeable" "^5.4.0"
|
||||
"@instructure/ui-toggle-details" "^5.0.0"
|
||||
axios "^0.16.0"
|
||||
babel-plugin-inline-react-svg "^0.4.0"
|
||||
|
@ -2482,7 +2438,6 @@ caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.300008
|
|||
instructure-icons "^4.3.0"
|
||||
keycode "^2.1.9"
|
||||
lodash "^4"
|
||||
moment "^2.22.0"
|
||||
moment-timezone "^0.5.13"
|
||||
parse-link-header "^1.0.1"
|
||||
prop-types "^15.5.9"
|
||||
|
@ -7869,19 +7824,15 @@ module-deps@^4.0.8:
|
|||
xtend "^4.0.0"
|
||||
|
||||
moment-timezone@^0.5.13, moment-timezone@^0.5.14:
|
||||
version "0.5.14"
|
||||
resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.14.tgz#4eb38ff9538b80108ba467a458f3ed4268ccfcb1"
|
||||
version "0.5.16"
|
||||
resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.16.tgz#661717d5f55b4d2c2e002262d726c83785192a5a"
|
||||
dependencies:
|
||||
moment ">= 2.9.0"
|
||||
|
||||
"moment@>= 2.9.0", moment@>=1.6.0, moment@>=2.5.0, moment@^2.10.6, moment@~2.10.6:
|
||||
moment@2.10.6, "moment@>= 2.9.0", moment@>=1.6.0, moment@>=2.5.0, moment@^2.10.6, moment@~2.10.6:
|
||||
version "2.10.6"
|
||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.10.6.tgz#6cb21967c79cba7b0ca5e66644f173662b3efa77"
|
||||
|
||||
moment@^2.22.0:
|
||||
version "2.22.1"
|
||||
resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.1.tgz#529a2e9bf973f259c9643d237fda84de3a26e8ad"
|
||||
|
||||
moxios@^0.4:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/moxios/-/moxios-0.4.0.tgz#fc0da2c65477d725ca6b9679d58370ed0c52f53b"
|
||||
|
|
Loading…
Reference in New Issue